zoukankan      html  css  js  c++  java
  • Hall定理和匈牙利算法(匹配与覆盖,因子分解)

    Hall定理:

    设G为具有二分类(X,Y)的偶图,则G包含饱和点X的每个顶点的匹配当且仅当|N(S)|>=|S|,对所有S是X的子集都成立。

    发现上面这句话读的很拗口,虽然是课本原话,这里我引用wiki。hall定理全名hall marriage theorem.他在图论和组合数学中都存在,这里我们只指出他在图论中的作用定义。

      作用:

      The graph theoretic formulation deals with a bipartite graph. It gives a necessary and sufficient condition for finding a matching that covers at least one side of the graph.

      在图论中,Hall定理涉及到了二部图。他指出包含至少一边(X或y)所有顶点的匹配(X或Y至少一边的全部点集为饱和点)的充要条件。也表示最大匹配数=Min(|X|,|Y|)。注:个人感觉这里的covers表达的是饱和点的意思,

      定义:

     Let G be a finite bipartite graph with bipartite sets X and Y ( G:= (X + Y, E)). For a set W of vertices in X, let {displaystyle N_{G}(W)} denote the neighborhood of W in G, i.e. the set of all vertices in Y adjacent to some element of W. The marriage theorem in this formulation states that there is a matching that entirely covers X if and only if for every subset W of X:

    In other words: every subset W of X has sufficiently many adjacent vertices in Y.

    A generalization to general graphs (that are not necessarily bipartite) is provided by the Tutte theorem.

      定义大意是,存在二部图XY,W是点集X的一个子集。则邻集N(W)显然是Y的子集,Hall定理表明X点集子集W是饱和点子集(W中每个点都属于最大匹配),当且仅当对于每一个子集W,都有子集W小于邻集N(W)。

    换句话说,X的每个子点集W都有足够多的邻集点在Y中。

    Tutte定理是Hall定理的一般化定理。

    翻译的不好,看不懂中文 还是看一下英语吧。

    证明是用的匈牙利算法,这个算法也是寻找偶图最大匹配的好算法。

    匈牙利算法:https://blog.csdn.net/cillyb/article/details/55511666

  • 相关阅读:
    PHPLIB Template入门系列 4 模板嵌套
    jQuery 实例
    建立PHP的本地调试环境
    PHP缓存memcache简单应用
    PHP程序:虚拟域名服务DIY
    去掉网络共享的session
    C# 里EF 对Mysql DB更新,乱码
    sshd的log的位置
    cURL 访问https失败
    Eclipse中编辑properties文件的编码问题
  • 原文地址:https://www.cnblogs.com/SsoZhNO-1/p/9965707.html
Copyright © 2011-2022 走看看