Gale-Shapley算法是否有任何python代码或修改,以便它能够解决不完整偏好列表的稳定婚姻问题

Gale-Shapley算法是否有任何python代码或修改,以便它能够解决不完整偏好列表的稳定婚姻问题,python,algorithm,economics,game-theory,stable-marriage,Python,Algorithm,Economics,Game Theory,Stable Marriage,对于稳定的婚姻问题,我有一个稍微不同的表述。基本上,我可以把一个男人和一个女人配对,但是偏好列表是不完整的,这意味着一个男人只对一部分女人表示了兴趣,反之亦然。我不认为原来的Gale-Shapley算法适用于此,如果是这样,我需要做哪些修改? 如果Gale Shapely在这里不起作用,有什么算法可以解决这个问题吗? 非常欢迎代码建议,特别是在python中针对此类问题的代码建议 更具体地说,这就是问题所在: Men = [1, 2, 3, 4, 5] Women = [a, b, c, d,

对于稳定的婚姻问题,我有一个稍微不同的表述。基本上,我可以把一个男人和一个女人配对,但是偏好列表是不完整的,这意味着一个男人只对一部分女人表示了兴趣,反之亦然。我不认为原来的Gale-Shapley算法适用于此,如果是这样,我需要做哪些修改? 如果Gale Shapely在这里不起作用,有什么算法可以解决这个问题吗? 非常欢迎代码建议,特别是在python中针对此类问题的代码建议

更具体地说,这就是问题所在:

Men = [1, 2, 3, 4, 5]
Women = [a, b, c, d, e]
首选项:

男子:

妇女:

a: 1, 3, 4
b: 4, 2, 5
c: 5, 1, 4
d: 3, 2, 1
e: 5, 3, 1

我需要将每个男人和一个女人进行匹配,并且允许的偏好数量是固定的,并且少于候选人的数量。

您需要以某种方式定义整个偏好列表,否则算法将无法工作。这就是说,随意“填写”剩余男性/女性的偏好列表应该相对简单;您可以指定静态排序,也可以随机指定这些首选项

如果你需要在他的偏好列表上只匹配一个男人和一个女人,你将不可避免地遇到问题无法解决的情况


至于python方法,有很多方法可以实现这一点;这主要取决于您试图如何实现算法。

堆栈溢出不是免费的编码服务。我并不是要代码本身,只是要一个处理这个问题的算法或是一个库建议,我会根据我自己的情况调整它,表格和矩阵只是一个例子来说明这个问题@kSure,以任意顺序将缺少的首选项添加到每个人员列表的末尾,然后应用GS算法。有些人可能会得到一个他们没有添加偏好的人,但其他人会想要切换吗?是的,这很有意义,实际上对于我的应用程序,我想我会考虑一个偏好度量,我可以通过编程方式添加一些在我的情况下有意义的东西,并使用通用的GS算法thanks@Paddy3118This感谢@TaylorNelms,我的想法是,除了暴力,没有任何算法可以保证解决方案?这不一定是真的;这将取决于问题的确切参数。例如,如果一个男人和一个他不喜欢的女人配对,这是算法的失败吗?我会自己玩弄一些不同的实现(例如,对Gale Shapely算法的一些修改),看看你能做些什么。我会找到一些方法来计算偏好并以编程方式填写整个偏好列表。并使用标准GS
a: 1, 3, 4
b: 4, 2, 5
c: 5, 1, 4
d: 3, 2, 1
e: 5, 3, 1