2014-12-07 159 views
1

讓我說我有一個男人和女人的名單。每個男人(x)對每個女人進行評估,每個女人(y)評估每個男人的評分,評分爲0-9。最佳匹配額定配對的最佳方式是什麼?

例如

X1:{Y1:0,Y2:5,Y3:9}

X2:{Y1:1,Y 2:0,Y3:9}

X3:{Y1:5,Y2 :5,Y3:8}

Y1:{X1:3,X2:3,X3:5}

Y2:{X1:8,X2:2,X 3:2}

Y3 :{x1:9,x2:5,x3:9}

我正在尋找一種算法,將所有x & y配對爲最大化總評分。

在這種情況下,最佳配對將是x2:y3 = 9 + 9 = 18,x1:y2 = 5 + 8 = 13,x3:y1 = 5 + 9 =至少我認爲這是由眼睛。

我認爲它是最大獨立集問題的簡化版本,這不是一個NP難的優化問題。

回答

1

這個問題被稱爲穩定的婚姻問題,諾貝爾經濟學獎被授予解決方案。算法在一些細節描述在Wikipedia:

http://en.wikipedia.org/wiki/Stable_marriage_problem

僞代碼剪切/從維基百科粘貼:

function stableMatching { 
    Initialize all m ∈ M and w ∈ W to free 
    while ∃ free man m who still has a woman w to propose to { 
     w = m's highest ranked woman to whom he has not yet proposed 
     if w is free 
     (m, w) become engaged 
     else some pair (m', w) already exists 
     if w prefers m to m' 
      (m, w) become engaged 
      m' becomes free 
     else 
      (m', w) remain engaged 
    } 
} 
+0

即代碼產生X1:Y3 = 9 + 9 = 18,X2:Y1 = 1 + 3 = 4,&x3:y2 = 5 + 2 = 7。總評分爲29,遠比我眼中的解決方案差。 – 2014-12-07 18:56:15

+0

你的隱含假設是你分配和求和的數字是有意義的。我會挑戰這個假設。 X1評價y3 a 9,y2 a 5和y1 a 0是否重要?我斷言它沒有。重要的只有y3是他的第一選擇,y2是他的第二選擇,y3是他的第三選擇。具體的收視率毫無意義。如果你打算衡量一些東西來衡量每個參與者收到的平均選擇。 1.0是最佳的。平均值越高,解決方案的最優化程度越低。 – Asaph 2014-12-08 03:08:31

相關問題