- 1
- 0
- 约小于1千字
- 约 7页
- 2021-11-29 发布于北京
- 举报
匹配问题
定义:若V (G) = X UY ,X ∩Y = Φ,| X ||Y |≠ 0(这里| X |表示集合 X 中的元素个数), X 中无相邻顶点对,Y 中亦然,则称G 为二分图(bipartite graph);特别地,若∀x∈ X,∀y∈Y ,则xy∈E(G),则称G 为完全二分图,记成 K |X |,|Y | 。
一个图是二分图等价于它不包含奇圈。
定义 :若M ⊂ E(G), ∀eiej∈M, ei与ej无公共端点(i ≠ j ),则称M 为图G 中的一个对集(或匹配);G中与M中的边关联的顶点称为M饱和点,否则称为非饱和点;M 中的一条边的两个端点叫做在对集M 中相配;M 中的端点称为被M 匹配;G 中每个顶点皆被M 匹配时,M 称为完美对集;G 中已无使|M‘||M |的对集M’,则M 称为最大对集;
若G 中有一条路,其边交替地在对集M 内外出现,则称此路为M 的交错路,若交错路的起止顶点都是M非饱和的,此交错路称为可增广路。
定理:M是图G的最大匹配等价于G中不存在M-可扩路。
二分图的匹配
定义:对于图G的任意一个顶点子集S,与S中顶点相邻的所有顶点全体,称为G中S的邻集,记为NG(S)。
匹配定理:二分图G的两个划分为X、Y,若存在从X到Y的完全匹配当且仅当对∀S ⊂X,都有| NG(S) |≥|S|。
求二分图最大匹配的生成算法
1、任取G的一个初始匹配M
2、若M已经饱和X中所有顶点,结束,否则转步骤3
3、在X中寻找一个M非饱和点x,置S={x},B=空集
4、若NG(S) =B,停止,否则任选一个顶点y∈ NG(S)-B
5、若y为M饱和点,转步骤6,否则,存在一条x到y的M-可扩路P,作M=M∆E(P),转步骤2
6、由于y是M饱和点,所以M中有一条边yu,置S=SU{u},B=BU{y},转步骤4
原创力文档

文档评论(0)