【发布时间】:2017-01-21 04:44:22
【问题描述】:
让
G(A,B,V),一个二分图,其中|A|=|B|=n。有一个匹配的M子集E其中|M| = n-2013。描述一种确定是否存在最大匹配的有效算法。
基本上,给定的解决方案是从图中构建一个流网络,通过添加s,t 顶点,将s 连接到A 中的每个顶点v 和B 中的每个顶点v 到@ 987654332@。所有容量都是1。
现在,我们为所有边 M(以及从 s 到 t 的所有边连接到 M 的边)提供一个起始流
现在我们只需要运行 Fold-Falkerson(或 Edmond-Karp)算法并检查我们是否能够改进 2013 路径(即为某些路径添加更多流量)。更准确地说,我们最多需要运行 BFS,2013 次来决定
我的问题是:
为什么它有效?在我看来,M 只是一个任意匹配。这就像我们假设M 是最大匹配的一部分。
我很高兴得到澄清!
谢谢
【问题讨论】:
-
您的问题是查找是否存在包含 M 的最大匹配?
-
不,只是是否存在最大匹配(大小为$n$)
标签: algorithm graph computer-science