在二分图中划分完美匹配

时间:2009-08-31 10:57:42

标签: graph-theory

在“婚姻问题”中,我们有N个男孩和N个女孩以及一个NxN二进制矩阵告诉我们哪些配对是合适的,并且想要将每个女孩配对一个男孩。 (即我们希望在二分图中找到完美匹配)。

霍尔定理说,如果每个男孩节点集合至少与女孩节点一样多,那么你就可以找到一个完美的匹配;并且有快速增强路径算法可以找到完美的匹配。

我正在寻找一种有效的方法来找到与完全相同的男孩节点的集合,就像许多女孩节点一样(即我们在Hall的标准中具有相同性)。这些男孩必须与这些女孩配对,其余的男生必须与其他女孩配对,这样所有完美匹配都会尊重这种分配。

我的图论有点生疏,当然必须有一个更好的方法,而不是枚举所有2 ^ N个子集并计算每个子集的邻居?

2 个答案:

答案 0 :(得分:3)

这在多项式时间内是可能的。将二分匹配问题建模为有向图中的最大流问题。然后使用算法来枚举最小切割。在Google上搜索“枚举最低限度”或Vazirani& Yannakakis或Yeh&王。

答案 1 :(得分:1)

如果我理解你想要什么,那么,在多项式时间内没有聪明的方法可以做到这一点。在一般图表上查找此类分区是NP完全问题。