波斯公主選駙馬,她是這么利用大數據和算法找男人的

jopen 10年前發布 | 10K 次閱讀 算法

波斯公主選駙馬,她是這么利用大數據和算法找男人的

        這是大學時的一道數學題。

        我大學的專業是數學,有一次,教授給出了《波斯公主選駙馬》題,如下:

波斯公主到了適婚年齡,要選駙馬。候選男子 100 名,都是公主沒有見過的。百人以隨機順序,從公主面前逐一經過。每當一位男子在公主面前經過時,公主要么選他為駙馬,要么不選。如果選他,其余那些還沒有 登場的男子就都遣散回家,選駙馬的活動也 over 了。如果不選,當下這名男子就離開,也就是 pass 掉此人,下一人登場。被 pass 掉的,公主不可以反悔再從選。規則是,公主必須在這百人中選出一人做駙馬,也就是說,如果前 99 人公主都看不中的話,她必須選擇第 100 名男子為駙馬,不管他有多么丑陋。

任務是,給公主設計選擇方法,讓她有最高概率選到百人中最英俊的男子為駙馬。

        說明一點是,沒有任何選擇方法能夠保證公主一定選擇到最帥的帥哥。對于任何選擇方法,總存在某些出場的順序,讓公主與帥哥錯過。所以,題目所問的,不是必勝的選法(因為不存在),而是概率最高的選法。

        因為并不是要討論數學,我這里就直接給出答案了:最佳選法是 pass 掉最開始的 100/e 名男子(e = 2.718… 是自然對數,即 100/e 約等于 37)。但是記錄下這 37 名男子中最英俊者。之后魚貫而來的男子中,出現的第一位英俊程度超越所有前 37 人者,即為駙馬。如果人都走光了,也沒出現這么一位 Mr. Right,那么就只好選擇第 100 位男子。

        這個最佳選法,后面有很有意思的數學推導。

        正解后面的思考方法

        數學的推論且不論,這個答案背后是一個可為廣泛應用的思考方法。公主選擇的難處在于她不知道這百人的英俊程度是怎樣分布的,是在怎樣一個范圍 內。所以她最佳的策略是,pass 掉最初 37 位男子,但是把他們看成一個有代表性的 sample,從而了解這百人相貌的大致分布。然后在這個認知的基礎上進行選擇。

        真實的談情說愛當然不是一個簡單的選美。普通人也不能像波斯貴族那樣要誰有誰。但是思維方法共通。假如你是一位女生,第一次戀愛的時候,也許你 覺得男朋友不夠細膩,不解風情。但你無法判斷的是,是否天下男生大多如此,還是你特別倒霉碰到這樣的極品。你唯有試過三個五個后,才能夠對男性這個物種有 個全局的判斷。所以,當你和第一任男朋友分手后,大可不必悲天憫人,亦或對天下男人失望。正確的態度是:okay,我現在有一個 data point, 現在我來找些更多的 data points。

        花多長時間學習?

        找到多少 data points 才夠呢?換句話說我們學習到什么時候才能夠信任自己對世界的判斷?以下這個小故事中,我們可以看出大自然是怎么解決這個問題的。

        1944 年冬天,二戰進入尾聲。德國人封鎖了荷蘭德占區的補給。1944-1945 年的冬天,被稱為”hunger winter”(饑餓的冬天)。有四百五十萬荷蘭人遭受饑餓,一萬八千人餓死。1945 年,德國戰敗,封鎖也隨之解除。

        但這個饑餓冬天所帶來的影響卻一直留存到幾十年后。那些封鎖期間懷著孩子的婦女,她們肚子里發育中的胚胎,雖無知覺,也經歷了這場災難。幾十年后,當這些孩子成為 50 歲的中年人,科學家們發現他們會比之前,或者之后出生的荷蘭孩子都更肥胖,更容易有心血管疾病。

        對此的一種解釋是,還在媽媽肚子里的時候,我們的身體就在學習這是怎樣一個世界:是個食物充足,衣食無憂的世界?還是一個有上頓沒下頓的世界? 這些荷蘭饑荒那年出生的嬰兒,他們的身體學習到:“這是一個食物匱乏的世界”。哪怕他們成年之后,荷蘭已經是一個富余的發達國家,他們的身體還是不忘早年 饑餓的經歷,會盡力存儲脂肪,準備著下一個饑餓冬天的到來。結果就是這個人群更容易肥胖,并且更容易患有與肥胖相關的心血管疾病。

        有意思的是,對食物豐富與否的學習,在 10 月懷胎中完成,居然之后幾十年也無法扭轉。這個學習的窗口,是我們的身體,我們的基因所決定的。孩子學東西快,是因為他們的身體和大腦就是 specialized 學習機器。有研究說,人腦中負責抽象思維的前額葉在 25 歲才定型。換句話說,25 歲以前,我們的思維,特別是那些高級的認知能力,還在不斷變化著。而這其中很多的變化,就來自我們的環境。這種變化,就是我們在學習我們所在的,到底是怎 樣一個世界;怎樣的思維和行為,是在這個世界上行得通的。

        從人腦的發育看來,過了 25 歲,至少從生理上來說,這種學習就停止了。這個 deadline 取決于基因,而基因來源于千百萬年的進化。千百萬年中,人類的平均壽命是徘徊在 20-30 歲。這可能就是為什么我們的學習,從我們身體的設計上看來,是在 25 歲就截止了。

        我們無法影響自己生理、身體上的學習,但是有些事情的學習,卻是我們可以影響的,而且應該去影響的。選擇怎樣的工作?居住在哪個城市?找什么樣 的伴侶?這些似乎不是應該匆匆忙忙,趕著一個 deadline (特別是 25 歲的 deadline)去決定的事情。你會進行很多比較,才決定購買一輛汽車或者房子。而工作、伴侶,這些更重要的決定,你當然要更多比較比較,了解一下你是 在怎樣的一個世界里,才做決定。

        也許你 30 歲了,沒有婚配的對象,不喜歡正在做的工作,但有種種壓力期待你“別折騰,安頓下來”。這壓力可能來自于一個一直不給個人選擇的社會傳統,或者來自于一個 預期壽命只有 30 歲的進化壓力。但是這一切都變了:社會已經有越來越多的選擇余地,我們也可以預料之中的活到 80,90 歲。

        也許你要認真考慮一下波斯公主的問題:我是否應該繼續收集 data points?還是已經到了要做終生決定的時候?

        回到波斯公主的題目

        波斯公主的題目至少還教了我們另一點,就是哪怕你的方法是最優,你也永遠不可能是每次都得到最英俊的駙馬。在最優化的選擇方法下,公主也只有 40% 左右的可能性選擇到最帥的男人。就是說,如果這樣選擇十次,每次這百名男子以隨機順序出現,其中有 6 次,公主都會選到不是最帥的駙馬。

        生活就是有風險的,不可測的。這似乎是個打擊,但也是一種釋懷。盡人事,安天命。如果你按照一個正確的方法去做了,哪怕結果差強人意,這也并不是你的錯。

        我學會的另一點是,如果我是作為被選的一方(就像那 100 名男子),timing 是至關重要的。以下是一個簡單的多的題目:

        如果你是這百名男子中的一名,并且你能夠決定自己出場的名次,你會選擇在什么時候出場,以最大提高自己被選的概率?

        答案是第 38 名。你不會選擇在 38 名之前,因為你被選的概率是零(假設我們的公主學過高等數學,知道最佳選法)。你也不會選擇后于 38,因為你前面每多一個人,就意味著多了一分公主選上他的機會。

        如果你有一位意中人,你當然要努力去追求幸福,但你可能也要想一下,這是否是最好的 timing?

        37% 法則實測

        37% 法則的效果究竟如何呢?我們在計算機上編寫程序模擬了當 n = 30 時利用 37% 法則進行選擇的過程(如果 MM 始終未接受求愛者,則自動選擇最后一名求愛者)。編號越小的男生越次,編號為 30 的男生則表示最佳選擇。程序運行 10000 次之后,竟然有大約 4000 次選中最佳男生,可見 37% 法則確實有效啊。

波斯公主選駙馬,她是這么利用大數據和算法找男人的

        計算機模擬 10000 次后得到的結果

        這個問題由數學家 Merrill M. Flood 在 1949 首次提出,這個問題被他取名為“未婚妻問題”。這個問題的精妙之處在于,在微積分界叱咤風云的自然底數 e,竟也出人意料地出現在了這個看似與它毫不相關的問題中。不知道此問題發表后,Geek 男女間會不會多了一種分手的理由:不好意思,你是那 37% 的人??

        如何求出最優的 k 值?

        大數學家歐拉對一個神秘的數學常數 e ≈ 2.718 深有研究,這個數字和“拒人問題”竟然有著直接的聯系。

        對于某個固定的 k,如果最適合的人出現在了第 i 個位置(k < i ≤ n),要想讓他有幸正好被 MM 選中,就必須得滿足前 i-1 個人中的最好的人在前 k 個人里,這有 k/(i-1) 的可能。考慮所有可能的 i,我們便得到了試探前 k 個男生之后能選中最佳男生的總概率 P (k):

波斯公主選駙馬,她是這么利用大數據和算法找男人的

        用 x 來表示 k/n的值,并且假設n充分大,則上述公式可以寫成:

波斯公主選駙馬,她是這么利用大數據和算法找男人的

        對-x · ln x 求導,并令這個導數0,可以解出x的最優值,它就是歐拉研究的神秘常數的倒數——1/e!

        也就是說,如果你預計求愛者有n個人,你應該先拒絕掉前n/e個人,靜候下一個比這些人都好的人。假設你一共會遇到大概 30 個求愛者,就應該拒絕掉前 30/e ≈ 30/2.718≈ 1 個求愛者,然后從第 12 個求愛者開始,一旦發現比前面 11 個求愛者都好的人,就果斷接受他。由于 1/e 大約等于 37%,因此這條愛情大法也叫做 37% 法則。

        不過,37% 法則有一個小問題:如果最佳人選本來就在這 37% 的人里面,錯過這 37% 的人之后,她就再也碰不上更好的了。但在游戲過程中,她并不知道最佳人選已經被拒,因此她會一直癡癡地等待。也就是說,MM 將會有 37% 的概率“失敗退場”,或者以被迫選擇最后一名求愛者的結局而告終。

來自: 36大數據
                    <span id="shareA4" class="fl">                            
                        </span> 

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!