码迷,mamicode.com
首页 > 其他好文 > 详细

最大二分匹配

时间:2020-06-22 17:04:42      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:匈牙利算法   二分匹配   src   info   点子   因此   最大匹配   单位   容量   

一. 预备知识

1. 匹配:图G=(V,E)中没有公共端点的一组边M

  • 匹配边:M中的边 ?
  • 自由边:E/M中的边
  • 被浸润的顶点:M中边的端点 ?
  • 未被浸润的顶点:其他顶点

 完美匹配:浸润G的个顶点的匹配

 最大匹配:边的条数达到最大值的匹配

推论:完美匹配一定是最大匹配,反之未必

2. 顶点覆盖:图G=(V,E)中的一个顶点子集C,E中条边都至少有一个端点在C中

 最小顶点覆盖:G的顶点个数最少的覆盖

3. 推论:

图G的最小顶点覆盖C和最大匹配M满足|M| <= |C| , 在二分图G中,|M|=|C|

二.最大二分匹配问题

方法1:(最大流的算法)

  • 问题转化

                        构建一个新的流网络G‘ 

1 .技术图片 

2. 技术图片

3. 为每条边赋予单位容量

  • 结论

(1)图G的每个匹配对应图G‘的一个流

(2)图G的一个最大二分匹配对应图G‘的最大流

(3)最大二分匹配的基数 == 最大流| f |

方法2:匈牙利算法

1. 概念定义:

(1)交替路:从一个未匹配点出发,依次经过非匹配边、匹配边、非匹配边…形成的路径叫交替路。

(2)增广路:从一个未匹配点出发,走交替路,如果途径另一个未匹配点(出发的点不算),则这条交替路称为增广路

2. 核心思想

增广路有一个重要特点:非匹配边比匹配边多一条,因此,只要把增广路中的匹配边和非匹配边的身份交换即可。

3. 算法过程

                   技术图片 

三. 应用:

【任务安排问题】

【素数伴侣文通】

 

最大二分匹配

标签:匈牙利算法   二分匹配   src   info   点子   因此   最大匹配   单位   容量   

原文地址:https://www.cnblogs.com/duanshuai/p/13177695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!