一.立即接受算法:
對於約會的配對,大家都去追自己最心儀的女生。而這個女生面對幾位追求者,要立刻做個決定。
被拒絕的男生們調整一下心情,再去追求心中的 No. 2。以此類推。
這樣做法有一個嚴重的問題:當你被你的No.1拒絕后,再去追求你的No.2的時候,你心中的No.2可能已經在第一輪中選擇了其他人。
但坑爹的是,有可能你正是你心中No.2心中的No.1,但是她並不知道。所以她在第一輪中,因為沒有被你追求,而屈就他人。比及你在第一輪中表白失敗,再去找你的No.2 時,已然晚矣。
假設班上三男(分別是A,B,C),三女(分別是x,y,z),見圖一(左女右男):
他們心中對異性的排名見圖二。在女x的心中A>B,意味着A要好於B。
第一輪中,男生們向心中的No.1女示好,即A,B兩男向心中最喜歡的x女示好,而C男向y女示好。如圖三所示。
(在第一輪,女y 只有一個追求者,只能屈就)
如果采用立即接受算法,此輪之后的結果是,x-A,y-C兩對結成情侶。注意,y女雖然心中首選是B男,但是由於B男在此輪中正在追逐x女,無奈下y女屈就於唯一來獻殷勤的C男。比及第二輪開始時,唯一還沒配對的就是z女和B男了,所以B男只能接受z女。
最后的結果是x-A,y-C,z-B三對戀人。
注意:y女和B男兩人都更願意離開自己的現任伴侶而彼此在一起。
這種不穩定的狀態就是很多文學影視作品的來源哈。在數學上,這也恰恰被稱為是“不穩定”的組合。顧名思義,我們希望能夠有種算法,給我們的結果是所有配對都是穩定的。
二.延遲接受算法
延遲接受算法的操作:每個男生在第一輪中向自己心中的No.1示愛。但是各位姑娘們不用立即決定,而是先hold住了。
在第二輪中,每個男生再向心中的No.2示愛。從第二輪開始,每位姑娘們只保留自己到現在為止所收獲的最心儀的男生(但是不用答應他,只hold在心理),而拒絕其他所有人。
而被拒絕的男生(也就是現在尚沒有人hold着你的男生)則繼續在下一輪中向心中排名的下一個姑娘表白。
以此類推,一輪輪繼續下去,直到所有想示愛的男生都示完為止。此時,每個手中有offer的姑娘,可以選擇接受。
(感覺就是先讓女生獲得完全信息)
以上就是立即接受算法的做法。大家算一下,就會發現,在我們這個簡單的例子中,最后的結果是x-A,y-B,z-C三組戀人終成眷侶。而這是一穩定的結果。
所有6人中,你不可能找到一男一女符合以下條件:他們都更願意拋棄已有的伴侶而與彼此在一起。
延遲接受算法能夠從數學上證明是一定會產生穩定配對的算法。這使它成為一個重要的工具,因為這類的配對問題在現實生活中太常見了。羅斯在《共享經濟》中介紹了他將延遲接受算法分別運用於腎臟移植市場,全國住院醫生配對程市場和高中擇校系統,實現了穩定的配對,取得了非常好的成果。
Nice.