二分图匹配的可行边和必须边

本文探讨了二分图的最大匹配问题,重点在于如何判断匹配边是否为必须边或可行边。必须边是指存在于所有最大匹配中的边,而可行边至少在某个最大匹配中出现。通过转换成有向图和利用增广路径的概念,可以确定必须边和可行边的条件。在完备匹配时,必须边对应不同强连通分量,可行边对应相同强连通分量。在不保证完备匹配时,利用残量网络的性质进行判断。
摘要由CSDN通过智能技术生成

定义

给定一张二分图 , , , 其最大匹配方案不一定是唯一的 . . . 若任何一个最大匹配方案的匹配边都包括 ( x , y ) , (x,y), (x,y), 则称 ( x , y ) (x,y) (x,y) 为二分图匹配的必须边 . . . ( x , y ) (x,y) (x,y) 至少属于一个最大匹配的方案 , , , 则称 ( x , y ) (x,y) (x,y) 为二分图匹配的可行边 . . .

解法

保证完备匹配时

我们先求出任意一组完备匹配的方案 , , , 此时所有节点都是匹配点 . . .

根据定义 , , , ( x , y ) (x,y) (x,y) 是必须边 , , , 当且仅当以下两个条件满足 : : :

  1. ( x , y ) (x,y) (x,y) 当前是匹配边 . . .
  2. 删除边 ( x , y ) (x,y) (x,y) , , , 不能找到另一条从 x x x y y y 的增广路 . . .

( x , y ) (x,y) (x,y) 是可行边 , , , 当且仅当满足以下两个条件之一 : : :

  1. ( x , y ) (x,y) (x,y) 当前是匹配边 . . .

  2. ( x , y ) (x,y) (x,y) 是非匹配边 , , , 设当前 x x x u u u 匹配 , , , y y y v v v 匹配 , , , 连接边 ( x , y ) (x,y) (x,y) , , , 节点 u , v u,v u,v 失去匹配 . . .

    必须找到一条从 u u u v v v 的增广路 , , , 来保证最大匹配不变 . . .

如果我们把二分图 G G G 中的 " " " 非匹配边 " " " 看作从左部到右部的有向边 , , , 把二分图 G G G 中的 " " " 匹配边 " " " 看作从右部到左部的有向边 , , , 构成一张新的有向图 , , , 记为 G ′ , G', G, 那么 G G G 中从 x x x y y y 有增广路 , , , 等价于 G ′ G' G 中存在从 x x x y y y 的路径 . . .

考虑必须边的条件 , , , ( x , y ) (x,y) (x,y) 是匹配边 , , , 对应 G ′ G' G 中有一条从 y y y x x x 的有向边 . . . 在此条件下 , , , x x x y y y 之间还存在一条路径 , , , x x x y y y 处于同一个强连通分量中 . . .

因此 , , , 必须边的判定条件是 : : : ( x , y ) (x,y) (x,y) 当前是二分图 G G G 的匹配边 , , , 并且 x , y x,y x,y 两点在有向图 G ′ G' G 中属于不同的 S c c . Scc. Scc.

类似 , , , 可行边的判定条件是 : : : ( x , y ) (x,y) (x,y) 当前是二分图 G G G 的匹配边 , , , 或者 x , y x,y x,y 两点在有向图 G ′ G' G 中属于相同的 S c c . Scc. Scc.

综上 , , , 非必须可行边的判定条件是 , , , x , y x,y x,y 两点在有向图 G ′ G' G 中属于相同的 S c c . Scc. Scc.

不保证完备匹配时

在这种情况下 , , , 必须边 , , , 可行边的第二个条件会出现问题 . . . ( x , y ) (x,y) (x,y) 是非匹配边 : : :

  1. x , y x,y x,y 二者之一可能本来就是非匹配点 . . . 不妨设 y y y 是非匹配点 , , , 此时直接断开 x x x 原来的匹配边 , , , 连接 ( x , y ) , (x,y), (x,y), 得到的匹配集仍然是最大匹配 . . .
  2. 即使当前 x x x u u u 匹配 , , , y y y v v v 匹配 , , , 连接边 ( x , y ) (x,y) (x,y) , , , 节点 u , v u,v u,v 失去匹配 , , , 我们也不一定要找到从 u u u v v v 的增广路 , , , 如果从 u u u 出发找到另一个非匹配点 z z z 的增广路 , , , 同样可以得到一组包含 ( x , y ) (x,y) (x,y) 的最大匹配 . . .

所以我们不能像完备匹配中一样 , , , 直接用强连通分量进行判定 . . . 然而 , , , 我们可以借助网络流中的源点和汇点 . . .

z z z 是当前非匹配点 , , , ( z , T ) (z,T) (z,T) 的剩余容量必定为 1. 1. 1. v v v 当前是匹配点 , , , ( v , T ) (v,T) (v,T) 的剩余容量必定为 0 , 0, 0, ( T , v ) (T,v) (T,v) 的剩余容量必定为 1. 1. 1. 换言之 , , , 残量网络中存在路径 ( ⋯ → z → T → v ⋯   ) . (\cdots \rightarrow z\rightarrow T\rightarrow v\cdots). (zTv). 若二分图中 u u u z z z 有增广路 , , , 则残量网络上 u u u 能到达 z , z, z, 进而到达 v , v, v, ( u , v ) (u,v) (u,v) 通过汇点 T T T 仍在同一个强连通分量中 . . .

因此 , , , 必须边的判定条件是 : : : ( x , y ) (x,y) (x,y) 流量为 1 ( 1( 1( 不是残量网络 ) ) ) , , , 并且 x , y x,y x,y 两点在残量网络中属于不同的 S c c . Scc. Scc.

类似 , , , 可行边的判定条件是 : : : ( x , y ) (x,y) (x,y) 流量为 1 1 1 , , , 或者 x , y x,y x,y 两点在残量网络中属于相同的 S c c . Scc. Scc.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值