在稳定匹配问题中,我正在尝试为最坏情况生成首选项列表。我遇到一篇文章说这是n = 5的最坏情况
m1: w1 w2 w3 w4 w5
m2: w2 w3 w4 w1 w5
m3: w3 w4 w1 w2 w5
m4: w4 w1 w2 w3 w5
m5: w1 w2 w3 w4 w5
w1: m2 m3 m4 m5 m1
w2: m3 m4 m5 m1 m2
w3: m4 m5 m1 m2 m3
w4: m5 m1 m2 m3 m4
w5: m1 m2 m3 m4 m5
直观地说,这种做法是有道理的。但是,任何人都可以正式论证为什么这是最坏的情况以及为什么我们不能得到比这更糟糕的情况呢?
答案 0 :(得分:1)
Gales-Shapley算法是一种用于解决稳定匹配问题的方法,既可以确保完美匹配,又可以确保不存在不稳定。该算法由重复的报价组成,并在每个人都配对后结束。在稳定婚姻问题的情况下,男人会按照女人的偏爱顺序向女人求婚。如果这个女人不是一对,她必须接受这个提议。如果该女人是一对,则如果该提议的男人在其偏好列表中比与之配对的当前男人更高,则她可以接受另一个提议。一旦每个女人都被提议(因此每个人都已经配对),算法就结束了。
您提到的首选项列表是稳定匹配问题最坏情况的一个示例。要查看其工作原理,有助于将其绘制出来并执行每个步骤。首先,m1将向w1提出建议,并且w1必须接受,因为她目前不在一对。 m2将提议给w2,m3将提议给w3,m4将提议给w4。如您所见,当前每个男人都有自己的第一优先女人,每个女人都有自己的第五优先男人(m5和w5除外)。该算法继续,因为w5未配对。
接下来,m5将提议给w1。 w1之所以能够接受,是因为她的m5排名高于m1。现在,m1是无与伦比的,因此他建议使用w2。 w2接受,因为m1在其偏好列表中的排名高于m2。这种情况一直持续下去,您会注意到每个男人都与他们的SECOND优先女人配对,每个女人都接受他们的FOURTH优先男人的报价(w5除外)。该算法继续,因为w5仍未配对。
完成整个算法后,您会注意到最终的配对为m1-w5,m2-w1,m3-w2,m4-w3和m5-w4。每个男性都有其第四优先女性(除了m1拥有其第五优先),每个女性都有其第一优先男性。
注意每个人如何将w5作为其第五偏好。因此,每个人都将遍历整个清单,然后再向w5报价。 w5的首选项列表可以是任何顺序,并且仍然是最坏的情况。您提到的首选项列表只是最坏情况的一个例子,但还有其他变体遵循与此相同的逻辑。
这是证明最坏情况的更正式的方法。没有一个女人可以收到n个以上的提案,但是一旦每个女人收到一个提案,该算法就会停止。因此,在最坏的情况下,除一名妇女(n-1名妇女)外,每名妇女都会从一名男子(n)中获得建议。最后一位女士将收到1个提案,最终将终止该算法。将它们结合在一起,当扩展n(n-1)+ 1个提议时,就会出现最坏的情况。在您的示例中,有4个人以他们的第四优先(每个提案4个)结束,有1个人以他的第五个偏好(5个提案)结束。 4 * 4 + 5 = 21,等于将n = 5插入n(n-1)+1。
我希望这会有所帮助。