我对稳定婚姻问题的表述略有不同。基本上,我可以将一个男人与一个女人配对,但是偏好列表并不完整,这意味着一个男人只对一部分女人表达了兴趣,反之亦然。我认为原始的Gale Shapley算法无法解决此问题,如果需要,我需要进行哪些修改? 如果Gale Shapely在这里不起作用,是否有任何算法可以解决此问题? 我们非常欢迎代码建议,尤其是针对此类问题的python。
更具体地说,这就是问题所在:
Men = [1, 2, 3, 4, 5]
Women = [a, b, c, d, e]
首选项:
男人:
1: a, c, d
2: d, a, b
3: a, e, b
4: c, a, d
5: e, d, a
妇女:
a: 1, 3, 4
b: 4, 2, 5
c: 5, 1, 4
d: 3, 2, 1
e: 5, 3, 1
我需要使每个男人与一个只有一个女人匹配,并且允许的偏好数量是固定的,并且少于候选人的数量。
答案 0 :(得分:0)
您将需要以某种方式定义整个首选项列表,否则该算法将无法正常工作。就是说,相对于剩余的男人/女人任意“填写”偏好列表应该相对简单;您可以分配静态顺序,也可以随机分配这些首选项。
如果您需要将一个男人和一个女人排在他的偏好列表中,那么您不可避免地会遇到无法解决问题的情况。
对于python方法,有很多方法可以解决此问题;这主要取决于您尝试如何实现算法。