最佳匹配额定配对的最佳方式是什么?

问题描述:

让我说我有一个男人和女人的名单。每个男人(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难的优化问题。

这个问题被称为稳定的婚姻问题,诺贝尔经济学奖被授予解决方案。算法在一些细节描述在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