Optimization 什么';最佳匹配额定配对的最佳方法是什么?

Optimization 什么';最佳匹配额定配对的最佳方法是什么?,optimization,matching,rating,set-theory,independent-set,Optimization,Matching,Rating,Set Theory,Independent Set,假设我有一个男人和女人的名单。每个男人(x)给每个女人打分,每个女人(y)给每个男人打分,分值为0-9 e、 g x1:{y1:0,y2:5,y3:9} x2:{y1:1,y2:0,y3:9} x3:{y1:5,y2:5,y3:8} y1:{x1:3,x2:3,x3:5} y2:{x1:8,x2:2,x3:2} y3:{x1:9,x2:5,x3:9} 我正在寻找一个算法,配对所有的x&y,以最大限度地提高总评分 在这种情况下,最佳配对为x2:y3=9+9=18,x1:y2=5+8=13,x3:y

假设我有一个男人和女人的名单。每个男人(x)给每个女人打分,每个女人(y)给每个男人打分,分值为0-9

e、 g

x1:{y1:0,y2:5,y3:9}

x2:{y1:1,y2:0,y3:9}

x3:{y1:5,y2:5,y3:8}

y1:{x1:3,x2:3,x3:5}

y2:{x1:8,x2:2,x3:2}

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

我正在寻找一个算法,配对所有的x&y,以最大限度地提高总评分

在这种情况下,最佳配对为x2:y3=9+9=18,x1:y2=5+8=13,x3:y1=5+9=14。总评分为45分。至少我认为这是用眼睛看的


我认为这是最大独立集问题的简化版本,它不是一个NP难优化问题。

这个问题被称为稳定婚姻问题,诺贝尔经济学奖也因此获得。算法在wikipedia上有详细描述:

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
    }
}

从维基百科剪切/粘贴的伪代码:

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
    }
}

该代码导致x1:y3=9+9=18、x2:y1=1+3=4和x3:y2=5+2=7。它的总分是29,比我所看到的解决方案糟糕得多。你的隐含假设是你所分配和求和的数字是有意义的。我将挑战这一假设。X1评级为y3 a 9、y2 a 5和y1 a 0是否重要?我断言它不是。重要的是y3是他的第一选择,y2是他的第二选择,y3是他的第三选择。具体的评级毫无意义。如果你要衡量某件事,请衡量每个参与者的平均选择。1.0是最佳的。平均值越高,解决方案越不理想。