图论-最大二分匹配

图论-最大二分匹配

最大二分匹配问题

给定一个无向图 G = ( V , E ) G=(V,E) G=(V,E),一个匹配是边的一个子集 M ⊆ E M \subseteq E ME,使得对于所有节点 v ∈ V v \in V vV,子集 M M M中最多有一条边与节点 v v v相连。如果子集 M M M中的某条边与节点 v v v相连,则称节点 v v v由节点 M M M匹配。否则,节点 v v v就是没有匹配的。最大匹配是最大基数匹配,即对于任意匹配 M ′ M' M,最大匹配 ∣ M ∣ ≥ ∣ M ′ ∣ |M| \geq |M'| MM。这个匹配 M M M被称为最大匹配。\

二分图,我们将注意力集中在寻找二分图的最大匹配上。在一个二分图中,节点集合可以被分成 L L L R R R,并且 V = L ∪ R V = L \cup R V=LR,其中 L L L R R R是不相交的,并且边的集合 E E E中所有的边都横跨 L L L R R R

寻找最大二分匹配

我们将所有的边改成有向边,都从 L L L指向 R R R,并且我们设立一个源节点 s s s,指向 L L L,设立汇点 t t t R R R都指向 t t t,并且令边的容量都是单位1。此时我们建立了一个流网络。

定理:对于任意一个匹配 M M M,二分图所对应的流网络中都存在一个流 f f f,使得 ∣ f ∣ = ∣ M ∣ |f| = |M| f=M,反之也成立。

定理(完整性定理):如果在一个流网络中,容量只取整数,那么Ford-Fulkerson方法在每一次迭代计算出的流 f f f ∣ f ∣ |f| f是整数,并且对于所有的 u , v ∈ V u,v \in V u,vV f ( u , v ) f(u,v) f(u,v)也是整数。

推论:对于最大二分匹配 M M M,二分图所对应的流网络中最大流 f f f,有 ∣ f ∣ = ∣ M ∣ |f| = |M| f=M,反之也成立。

推论告诉我们,想找到一个最大匹配,我们只需要求一下最大流即可。

最大匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值