天天看點

算法證明:女生遇到心動的男人一定要追!

算法證明:女生遇到心動的男人一定要追!

我來講戀愛中的博弈,不,我來講戀愛中的算法,不,我來講算法!!

有個著名的問題,叫做 stable matching。早年是一個可愛的俄羅斯老頭在圖論課上教我的,印象非常深刻,拿出來娛樂下大家。因為這個算法應用太廣泛了,這個算法的兩位發明人 david gale 和 lloyd shapley,在 2012 年因為這個算法獲得諾貝爾經濟學獎。

先說結論:女生遇到心動的男人一定要追!我馬上就要來證明。

前方高能預警!!!含大量數學圖論及計算機程式設計算法知識,萌妹子請直接退散。

假設,有一個平行世界,我們姑且叫這個世界,平行世界 999 号,這個世界有 n 個男人,還有 n 個女人,然後每一個男人,都有一個對喜歡的女人的排序,比如男 a,有一個排序(女 a,女 b,一直到女 n),每一個女人都有一個喜歡的男人的排序,比如女 a,有一個排序(男 a,男 b,一直到男 n)。每個男的都會試圖去追求自己的排序裡頭排的最高的女性,每個女的都會接受自己排序裡頭最高的男性的追求。

再假設這個平行世界 999 号,有以下追求方法(算法):

1. 這個世界上隻有男人能夠追求女人,女人收到一個男人的追求,可以選擇說“你做我男友吧”,或者“你滾犢子”。當女人說“你做我男友吧”的時候,這個男人和女人進入了男女朋友模式,當女人說,“你滾犢子”的時候,這個男人回複單身。

2. 每個男人隻能在單身的時候追求女人,而每個女人最多隻能有一個男朋友

3. 每個男人都會追求自己名單上排位最高的女人,當被拒之後,會追求排位次高的女人,被拒之後再追第三高的女人,以此類推。每個女人,如果沒有男朋友,收到追求,會立刻說,“你做我男友吧”,如果有男朋友,會将現有男朋友與追求者比較,選擇其中排位更高的,甩掉排位更低的。

4. 每個男人都會锲而不舍的一直把整個排序追求完,直到脫離單身狀态為止。

5. 當每個男的和女的都有一個女、男朋友的時候,會所有人一起結婚。

怎樣,是不是和現實很像?讓我喝口水繼續寫!

我的結論是,這個世界裡頭,一定會有這麼一個組合,使得,這 n 個男的,和 n 個女的,會形成一個穩定的一一對應的婚姻關系。也就是說,這 n 個男人和女人,都合理的選擇了自己名單上最高的排位的那個對象。

我說的有點亂,因為我學的是用英語學的,而我的翻譯實在是不咋地,我先來簡化問題:

一、假設這個世界上隻有 1 個男人,1 個女人:

那不用想了,排什麼排,去滾床單,裸奔,過沒羞沒躁的生活去吧。

二、假設這個世界上有 2 個男人(男 a,男 b),2 個女人(女 a,女 b):

這就開始複雜了,

如果,男 a 和男 b 的排序都是(女 a,女 b),女 a 和女 b 的排序都是(男 a,男 b)。

那麼很簡單,男 a 和男 b 一起去追女 a,男 b 迅速杯具,男 a 和女 a 在一起,男 b 和女 b 在一起,故事完結。

如果,男 a 和男 b 的排序都是(女 a,女 b),女 a 和女 b 的排序都是(男 b,男 a)。

那麼也很簡單,男 a 和男 b 一起去追女 a,男 a 迅速杯具,男 b 和女 a 在一起,男 a 和女 b 在一起,股市完結。

如果,男 a 的排序是 (女 a,女 b),男 b 的排序是(女 b,女 a),女 a 的排序是(男 b,男 a),女 b 的排序是(男 a,男 b)呢,那怎麼辦?

那麼現在,男 a 會去追求女 a,女 a 會說,“你做我男友吧”,男 b 會去追求女 b,女 b 會說“你做我男友吧”。

于是大家結婚了。

是以現在的組合是,男 a 和女 a,男 b 和女 b。

但是!!!但是!!!

你們發現了問題沒有???

每個男的都追求到了自己最喜歡的女士,每個女士卻隻赢得了自己最不喜歡的男士!!!!

這就是這個算法的一個弊端,就是追求者,有占優的可能性。

如果反過來,平行世界 999 裡,隻允許女人追求男人,會出現下面情況:

女 a 去追求男 b,男 b 會說,“你做我女友吧”,女 b 去追求男 a,男 a 會說“你做我女友吧”。

于是大家都結婚了。

現在的組合是男 a 和女 b,男 b 和女 a。這同樣是一個穩定的比對。

但是!!!但是!!!現在每個女士都追求到了自己最喜歡的男士,每個男士卻隻赢得了自己最不喜歡的女士!!!

三、推廣到 n 男 n 女,也是一樣的推論。

簡單的說,就是因為這是一個單向篩選,每個男的都會確定會向自己的排序中最高的女性表白。然而男性被“滾犢子”的唯二可能性,是因為這個女性有一個她心目中排序更高的男朋友,或者當了一段時間男朋友,但一個排序更高的男人向她表白。(當然現實中大家也懂,你就是沒戲的了,而且是你本來就沒戲)

是以,確定了男性一定能追求到自己喜歡的名單裡頭,排位最高的女性。

也就是說,在這個追求關系裡頭,主動的那一方更能夠找到自己更喜歡的異性,而被動那一方,卻沒有這樣的優勢。

是以結論就是,妹子們,遇到喜歡的男人,一定要主動!

原文釋出時間為:2015-01-02

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号

繼續閱讀