二分图的完全匹配&完美匹配
完 全 匹 配 : 匹 配 中 的 边 的 条 数 ∣ S ∣ = m i n { ∣ V 1 ∣ , ∣ V 2 ∣ } 完 美 匹 配 : 匹 配 中 的 边 的 条 数 ∣ S ∣ = ∣ V 1 ∣ = ∣ V 2 ∣ 最 大 匹 配 : 一 个 图 所 有 匹 配 中 , 所 含 匹 配 边 数 最 多 的 匹 配 完全匹配:匹配中的边的条数|S|=min\{|V_1|,|V_2|\}\\ 完美匹配:匹配中的边的条数|S|=|V_1|=|V_2|\\ 最大匹配:一个图所有匹配中,所含匹配边数最多的匹配 完全匹配:匹配中的边的条数∣S∣=min{∣V1∣,∣V2∣}完美匹配:匹配中的边的条数∣S∣=∣V1∣=∣V2∣最大匹配:一个图所有匹配中,所含匹配边数最多的匹配
完全匹配的Hall婚配定理
m 个 姑 娘 , n 个 小 伙 , 姑 娘 和 小 伙 间 右 连 线 ( 中 意 ) , m 个 姑 娘 存 在 完 全 匹 配 的 充 要 条 件 是 任 意 k 个 姑 娘 中 意 的 小 伙 总 数 大 于 等 于 k 证 明 : 必 要 性 显 然 , 充 分 性 : 对 m 使 用 归 纳 法 m = 1 时 显 然 成 立 , 设 对 m = m − 1 个 姑 娘 成 立 ∀ k ∈ [ 1 , m − 1 ] , k 个 姑 娘 中 意 总 数 为 k + 1 : 先 嫁 出 去 一 个 , 则 对 剩 下 的 可 以 使 用 归 纳 驾 驶 ∃ k ∈ [ 1 , m − 1 ] , k 个 姑 娘 中 意 总 数 为 k : 先 嫁 k 个 , 剩 下 m − k 个 姑 娘 , n − k 个 小 伙 还 能 嫁 出 去 m个姑娘,n个小伙,姑娘和小伙间右连线(中意),m个姑娘存在完全匹配的充要条件是\\ 任意k个姑娘中意的小伙总数大于等于k\\ 证明:必要性显然,充分性:对m使用归纳法\\ m=1时显然成立,设对m=m-1个姑娘成立\\ \forall k \in [1,m-1],k个姑娘中意总数为k+1:先嫁出去一个,则对剩下的可以使用归纳驾驶\\ \exists k \in [1,m-1],k个姑娘中意总数为k:先嫁k个,剩下m-k个姑娘,n-k个小伙还能嫁出去\\ m个姑娘,n个小伙,姑娘和小伙间右连线(中意),m个姑娘存在完全匹配的充要条件是任意k个姑娘中意的小伙总数大于等于k证明:必要性显然,充分性:对m使用归纳法m=1时显然成立,设对m=m−1个姑娘成立∀k∈[1,m−1],k个姑娘中意总数为k+1:先嫁出去一个,则对剩下的可以使用归纳驾驶∃k∈[1,m−1],k个姑娘中意总数为k:先嫁k个,剩下m−k个姑娘,n−k个小伙还能嫁出去
最大匹配的匈牙利算法
思想:用“广度有限”搜索增广路径
1,对于一个未匹配的节点u,寻找它的每条边,如果它的边上的另一个节点v还没匹配则表明找到了一个匹配,
直接转步骤4;
2,假如节点u它边上的另一个节点v已经匹配,那么就转向跟v匹配的节点假设是w,然后再对w重复1,2的步骤,即寻找增广路.
3,假如我们在1,2步过程中找到- -条增广路,那么修改各自对应的匹配点,转步骤4,若无增广路,则退出.
4,匹配数+1;