zoukankan      html  css  js  c++  java
  • 二分图匹配的重要概念以及匈牙利算法

    算是图论系列中的第一个算法,努力。

       写博客时看到的:  http://www.renfei.org/blog/bipartite-matching.html

    二分图

           简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为两个不相交集 U 和V ,使得每一条边都分别连接UV中的顶点。如果存在这样的划分,则此图为一个二分图。二分图的一个等价定义是:不含有「含奇数条边的环」的图。图 1 是一个二分图。为了清晰,我们以后都把它画成图 2 的形式。

    Bipartite Graph(1) Bipartite Graph(2) MatchingMaximum Matching

    匹配:在图论中,一个「匹配」(matching)是一个边的集合,其中任意两条边都没有公共顶点。例如,图 3、图 4 中红色的边就是图 2 的匹配。

    我们定义匹配点匹配边未匹配点非匹配边,它们的含义非常显然。例如图 3 中 1、4、5、7 为匹配点,其他顶点为未匹配点;1-5、4-7为匹配边,其他边为非匹配边。

    最大匹配:一个图所有匹配中,所含匹配边数最多的匹配,称为这个图的最大匹配。图 4 是一个最大匹配,它包含 4 条匹配边。

    完美匹配:如果一个图的某个匹配中,所有的顶点都是匹配点,那么它就是一个完美匹配。图 4 是一个完美匹配。显然,完美匹配一定是最大匹配(完美匹配的任何一个点都已经匹配,添加一条新的匹配边一定会与已有的匹配边冲突)。但并非每个图都存在完美匹配。

    【无向图的最大团】:  从V个顶点选出k个顶,使得这k个顶构成一个完全图,即该子图任意两个顶都有直接的边。

    点覆盖集:无向图G的一个点集,使得该图中所有边都至少有一点端点在该集合内。

    点独立集:无向图G的一个点集,使得任两个在该集合中的点在原图中不相邻。

    最小点覆盖集:无向图G中点数最少的点覆盖集。

    最大点独立集:无向图G中,点数最多的点独立集

    最小点权覆盖集:带点权的无向图中,点权之和最小的点覆盖集

    最大点权独立集:实在带点权无向图中,点权之和最大的点独立集

    性质:

    1、最大团点的数量=补图中最大独立集点的数量

    2、二分图中,最大独立集点的数量+最小覆盖点的数量=整个图点的数量

    3、二分图中,最小覆盖点的数量=最大匹配的数量

    4、图的染色问题中,最少需要的颜色的数量=最大团点的数量

  • 相关阅读:
    SQl 事务 异常和游标
    SHarepoint 2007 内容类型
    如何在Sharepoint 2010 中使用Session
    Jquery 选择器
    学习资料
    创建自定义主机头网站集
    MOSS Single Sign On Setup StepByStep
    toolip 属性小知识
    基于多层结构的网络游戏平台的研究与应用
    Jabber 技 术 概 况
  • 原文地址:https://www.cnblogs.com/forwin/p/4982441.html
Copyright © 2011-2022 走看看