約會配對問題html
一.當即接受算法:算法
對於約會的配對,你們都去追本身最心儀的女生。而這個女生面對幾位追求者,要馬上作個決定。工具
被拒絕的男生們調整一下心情,再去追求心中的 No. 2。以此類推。spa
這樣作法有一個嚴重的問題:當你被你的No.1拒絕後,再去追求你的No.2的時候,你心中的No.2可能已經在第一輪中選擇了其餘人。htm
但坑爹的是,有可能你正是你心中No.2心中的No.1,可是她並不知道。因此她在第一輪中,由於沒有被你追求,而屈就他人。比及你在第一輪中表白失敗,再去找你的No.2 時,已然晚矣。blog
假設班上三男(分別是A,B,C),三女(分別是x,y,z),見圖一(左女右男):get
他們心中對異性的排名見圖二。在女x的心中A>B,意味着A要好於B。數學
第一輪中,男生們向心中的No.1女示好,即A,B兩男向心中最喜歡的x女示好,而C男向y女示好。如圖三所示。it
(在第一輪,女y 只有一個追求者,只能屈就)io
若是採用當即接受算法,此輪以後的結果是,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.