zoukankan      html  css  js  c++  java
  • 二分图最大匹配的等价问题及其性质

    定义

    设G=(V,E)是一个无向图。如顶点集V可分区为两个互不相交的子集V1∪V2,并且图中每条边依附的两个顶点都分属于这两个不同的子集。则称图G为二分图。二分图也可记为G=(V1,V2,E)。 给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。 选择这样的子集中边数最大的子集称为图的二分图最大匹配问题(maximal matching problem) 如果图的所有顶点都与某匹配中的一条边相关联,则称此匹配为完全匹配,也可称作完备匹配完美匹配

    求解算法:匈牙利算法

    等价性问题

    Ⅰ.最小点覆盖集 给定无向图G(V,E),一个顶点覆盖集(vertex covering)是指顶点集S(S为V的子集),使得G中任一条边(x,y)至少有一端点在S中。最小顶点覆盖集就是求S,使得|S|最小。 Ⅱ.最大点独立集 给定无向图G(V,E),一个顶点独立集(vertex covering)是指顶点集S(S为V的子集),使得G中任一条边(u,v)至多有一个端点在S中(另一种说法是,使得S中任意两个顶点都没有边相连)。最大顶点独立集就是求S,使得|S|最大。 可以证明在最大顶点独立集Smax中,G中任一条边(u,v)至少有一个端点在Smax中。即G中任一条边(u, v)有且仅有一个端点在最大顶点独立集SmaxⅢ.最大团(最大完全子图) 给定无向图G(V,E),其中完全子图C为顶点集合V的子集,且对于任意两个点i,j∈C(i≠j),有(i,j)∈E. 最大完全子图(最大团)就是求C,使得|C|最大。 这里等价性的前提是该图的补图是个二分图。 Ⅳ.最小路径覆盖 在一个图G(V, E)中,路径覆盖就是在图中找一些路经,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次)。最小路径覆盖就是找出最小的路径条数,使之成为G的一个路径覆盖.

    重要性质(等价问题的求解)

    Ⅰ.二分图最小点覆盖集 = 二分图最大匹配(König定理) 这个放到网络流模型中也可以用最大流最小割定理证明。 Ⅱ.二分图最大独立子集 = |V| - 二分图最小点覆盖集 Ⅲ.最大团 = 补图的最大点独立集 Ⅳ.有向图最小路径覆盖 = |V| - 最大匹配无向图最小路径覆盖 = |V| - 最大匹配/2。(其中最大匹配的求法是把G中的每个顶点pi分成两个顶点pi’与pi”,如果在p中存在一条pi到pj的边,那么在二分图G’中就有一条连接pi’与pj”的无向边;这里pi’ 就是p中pi的出边,pj”就是p中pj 的一条入边)  
  • 相关阅读:
    C# 检测dll的新版本号方法
    DataGridView 单击赋值
    一致性Hash算法
    .net Parallel并行使用注意事项
    析构函数和Dispose方法的区别
    查看SQLServer的最大连接数
    Hash算法-CityHash算法
    Hash算法
    Sunday算法--C#版
    KMP算法--C#版
  • 原文地址:https://www.cnblogs.com/AbandonZHANG/p/4114082.html
Copyright © 2011-2022 走看看