【发布时间】:2009-08-31 10:57:42
【问题描述】:
在“婚姻问题”中,我们有 N 个男孩和 N 个女孩以及一个 NxN 二进制矩阵,告诉我们哪些配对是合适的,并且希望将每个女孩与一个男孩配对。 (即我们想在二分图中找到完美匹配)。
霍尔定理说,如果男孩节点的每个集合都与至少同样多的女孩节点共同相邻,则可以找到完美匹配;并且有快速的增广路径算法可以找到完美的这些匹配。
我正在寻找一种有效的方法来找到与 恰好 数量的女孩节点共同相邻的男孩节点集合(即,我们在 Hall 的标准中具有相等性)。这些男孩必须与这些女孩配对,其余男孩与其余女孩配对,以便所有完美匹配尊重这种划分。
我的图论有点生疏了,肯定有比枚举所有 2^N 个子集并计算每个邻域更好的方法吗?
【问题讨论】:
-
我不确定我得到,如果有完美匹配,那么由N个男孩组成的节点集合将具有相等性。
-
对,我正在寻找男孩的真子集,比如 M 和 M
-
正如 jcd 所回答的,构建流网络是正确的方法。请参阅 Narsingh Deo “图论及其在计算机科学中的应用”或“Cormen et. al. Introduction to algorithm”。已经有很好的库来计算流量。
标签: graph-theory