繪圖技術加上一些數學,如何讓一個男人找到真愛

作者 Brian Caulfield

一位寂寞的洛杉磯加州大學博士班學生,運用數學、GPU 及一些駭客技術,找到了真愛。

Chris McKinlay在 OkCupid 約會服務網站挖掘個人資料,讓自己能在女性的評分中名列前茅,且最終也遇見了他的未婚妻 Christine Tien Wang。這樣的故事讓他在全球數學家圈子裡擁有一定的名聲。

這個故事還有一些不為人知的部分:McKinlay 使用了 CUDA、以及一顆 Tesla GPU 來進行大量的數據運算,進而成就了他幸運的愛情。「這可能太超過了,但是當我眼前有這樣的一套設備時,我很難抗拒去使用它,」McKinlay 如此說著。


一位數學家走進了酒吧 … :大量的數據運算幫助
Chris McKinlay 就算不去酒吧現場,
也能找到夢想中的女人。

CUDA 是一種平行程式設計模型,它使用繪圖處理器 (GPU) ,讓通用運算變得簡單。有了 CUDA 之後,開發人員可以利用 GPU 的平行處理能力,這讓他們得以獲得那種過去僅能在幾百萬美元超級電腦中才能發現的運算威力。

現年 35 歲的 McKinlay,就是運用數學訣竅及一些黑暗技巧的活生生例證,他具有的能力在功能上相當於漫畫書中的超能力。

知道何時該施展

在研究所之前,McKinlay 在一個由麻省理工學院畢業生組成的「21 點」撲克牌玩家社團中打牌,利用他的數學技巧來維持生計。

現在的他則擁有博士學位,主要是研究活在我們腸道內的細菌- 也被稱為是微生物的結構,此一研究領域希望有朝一日能發展出可治療所有因肥胖而造成的癌症的方法。

將這種專業知識應用在約會市場中,甚至會讓那些無往不利的酒吧搭訕高手自慚形穢。

「走出去且如果很積極的話,一個晚上可以遇到幾十個人,」McKinlay 說著,「但是我把自己放在每個人的適配百分比的頂端,等於是讓2萬至2萬5千名女人看到我的個人資料,而且這不是隨機的,這些女人在問題的回答上,有著統計上的顯著相似之處。」

強大的處理能力,帶來絕佳的約會對象

Wired 的 Kevin Poulson 首度說出的這個故事,是關於 McKinlay 如何使用兩台 Mac Mini 伺服器在 OkCupid 的女性個人資料中進行資料探勘,並從該網站服務對其使用者所提出的數千個問題中,找出他們最在乎的部分。」


追求最好:McKinlay 曾寫過一本來說明如
何最有效的利用約會網站。

McKinlay 當時針對使用約會服務的不同類型女性建構了一些模型,並針對他的理想女性類型最重視的問題進行回答。結果是:這項服務將他評級為可與數千名可能對象適配。

為了加速這些數據的處理過程,McKinlay 利用 CUDA 在 C/C++ 上的擴展性,來運用他的博士論文用到的 Tesla GPU。

這讓他能快速地使用一種演算法,這個被稱為 K20 模式的運算法是由貝爾實驗室所開發,原本是用來分析染病的黃豆農作物,他利用這個演算法將 2 萬名女性的集合分成七個不同的群集。

「我已經把它運用在我的論文研究上,」McKinlay 說他使用超級電腦加速器來加速他的任務,「所以,關於我花了一個月的時間來駭進 OkCupid 網站,而不是做我應該做的事,我一點都不感到內疚。」

一天兩場約會?在現在就是平行處理

在電腦上做些調整,他可以設計程式來查看他最佳對象的個人檔案,並發出他已經看過她們的個人檔案的信號,這使得 McKinlay 能夠隨心所欲安排面對面的約會;有些時候一天要安排到兩場約會。在他的第 88 次約會,他遇到了 Tien。他們現在計畫要結婚。

假如 McKinlay 執行他的約會能像他執行程式碼那般:以平行方式進行,那或許可以進展得更快一些。「很不幸的是,我是一個單執行緒的處理器,」他如此說著。