zoukankan      html  css  js  c++  java
  • 图论学习八之支配集、覆盖集、独立集 与匹配

              匹配


    G = <V, E>, E*(E*E)中任何两条边均不相邻,
      • 则称E*G边独立集, 也称E*G中的匹配(Matching);

    (a)中, E*= { e1, e4, e7 }就是一个匹配
    谓任何两条边均不相邻,通俗地讲,就是任
    何两条边都没有公共顶点。

    若在E*中加入任意一条边所得集合都不是匹配, 则称E*极大匹
    ;
    边数最多的匹配称为最大匹配;
    最大匹配的边数称为边独立数匹配数, 记作β1(G), 简记为β1

      图(a), { e2, e6 }, { e3, e5 }, { e1, e4, e7 }都是极大匹配,
    { e1, e4, e7 }是最大匹配, β1 = 3
      图(b), { e1, e3 }, { e2, e4 }, { e4, e7 }都是极大匹配,
    都是最大匹配, β1 = 2

            二部图(二分图)


    二部图:如果图G是一个简单图,它的顶点集合V是由两个没
    有公共元素的子集X={X1,X2,..,Xm}与子集Y={Y1,Y2,…,Yn}
    并且XiXj(1≤i,j≤m)之间, YsYt(1≤s,t≤m)之间没有边连接,
    G称为二部图

    下面介绍一些重要结论,是解决匹配问题的利器
      • 可以将一些看上去不像匹配的问题转化成匹配问题。

    能解决90%的二分图匹配问题

    结论要求记忆

     

            点支配集、点覆盖集、点独立集
              (都是顶点的集合)


    定义 支配与支配集
      设图G = <V, E>, V*⊆V, 若对于任意vi∈V - V*, 存在vjV*,
      使得: (vi, vj)E, 则称vj支配vi, 并称V*G的一个
      配集;

     

    (a)中, V*={ v1, v5 }就是一个支配集。因为
    V-V*={v2, v3, v4, v6, v7}中的顶点都是V*中顶
    点的邻接顶点。 通俗地讲,所谓支配集,就
    V中的顶点要么是V*集合中的元素,要么
    V*中的一个顶点相邻。

    若支配集V*的任何真子集都不是支配集, 则称V*极小支配集;
    顶点数最少的支配集称为最小支配集;
    最小支配集中的顶点数称为支配数, 记作γ0(G)或简记为γ0

       在图(a), { v1, v5 }, { v3, v5 }{ v2, v4, v7 }都是极小支
    配集, { v1, v5 }, { v4, v5 }{ v3, v6 }都是最小支配集,
    γ0 = 2
      图(b)7阶星形图, { v0 }, { v1, v2, ..., v6 }极小支配集,
    { v0 }最小支配集, γ0 = 1
      图(c)为轮图W6, { v0 }, { v1, v3 }, { v1, v4 }等都是极小支
    配集, 显然, γ01

     

            支配集的性质


    1. G中无孤立顶点(度数为0的顶点),则存在一个支配集V*
        使得G中除V*外的所有顶点也组成一个支配集(V - V*
        是一个支配集)
    2. G中无孤立顶点(度数为0的顶点)V1*极小支配集,则
        G中除V1*外的所有顶点组成一个支配集(V – V1*也是
        一个支配集)

     

            定义 点独立集

    设图G = <V, E>, V* V, V*中任何两个顶点均不相邻,
    则称V*G点独立集, 或称独立集;

    (a)中, V*={ v1, v5 }就是一个点独立集,
    因为v1v5是不相邻的

    若在V*中加入任何顶点都不再是独立集, 则称V*极大点独立集;
    顶点数最多的点独立集称为最大点独立集;
    最大点独立集的顶点数称为点独立数, 记作β0(G), 简记为β0


       (a), { v1, v5 }, { v3, v6 }, { v2, v4, v7 }等都是极大点
    独立集, { v2, v4, v7 }等为最大点独立集, β0 = 3;
      图(b), { v0 }, { v1, v2, …, v6 }都是极大点独立集,
    { v1, v2, …, v6 }是最大点独立集, β0 = 6;
      图(c), { v1, v3 }, { v1, v4 }是极大点独立集, 也都是最
    大点独立集, β02

              定义 覆盖与点覆盖集

    G = <V, E>, V*V, 若对于e E, v V*, 使
    : ve相关联, 则称v覆盖e, 并称V*G点覆
    盖集或简称点覆盖;

    (a)中, V*= { v1, v3, v5, v7 }就是一个点覆盖
    通俗地讲,所谓点覆盖集V*,就是G
    所有的边至少有一个顶点属于V*(顶点覆盖边)

    若点覆盖V*的任何真子集都不是点覆盖, 则称V*极小点覆盖;
    顶点个数最少的点覆盖称为最小的点覆盖;
    最小点覆盖的顶点数称为点覆盖数, 记作α0(G), 简记为α0

      图(a), { v2, v3, v4, v6, v7 }, { v1, v3, v5, v7 }等都是极小
    点覆盖, { v1, v3, v5, v7 }是最小点覆盖, α0 = 4;
      图(b), { v0 }, { v1, v2, …, v6 }都是极小点覆盖, { v0 }
    是最小点覆盖, α0 = 1;
      图(c), { v0, v1, v3, v4 }, { v0, v1, v3, v5 }都是极小点覆
    , 也都是最小的点覆盖, α0 = 4

     

     

            点支配集、点独立集、点覆盖集之间的联系


    1) 定理G = <V, E>无孤立点,则G极大点独立集都
     是G的极小支配集。逆命题不成立(即极小支配集未必是
       极大独立集)
    2) 一个独立集是极大独立集,当且仅当它是一个支配集。
    3) 定理G = <V, E>中无孤立点, V*(V*⊂V)G点覆盖,
        当且仅当V-V*G的点独立集
       推论:设Gn阶无孤立点的图,则V*G的极小(最小)
         点覆盖,当且仅当V-V*G的极大(最大)点独立集,从
         而有α0 + β0 = n(顶点个数)

     

              定理

    一。G = <V, E>无孤立点, G极大点独立集都是G的极小支配集

      

    上面定理的逆命题是不成立的。在右图中,
    { v3, v5 }是极小支配集, 但它不是独立集, 更不
    是极大独立集。

    二。G = <V, E>中无孤立点, V*(V*V)G点覆盖,
    当且仅当V-V*G的点独立集

    推论  Gn阶无孤立点的图, V*G的极小(最小)点覆,

       当且仅当V-V*G的极大(最大)点独立集, 从而有α0 + β0 = n(顶点个数)

            边覆盖集与匹配
                (都是边的集合)


    定义   覆盖与边覆盖集
         设图G = <V, E>, E*⊆E, 任意v∈V, 存在e∈E*, 使得: ve
         相关联, 则称e覆盖v, 并称E*边覆盖集, 或简称覆盖;

    (a)中, E*= { e1, e4, e7 }就是一个边覆盖集
    通俗地讲,所谓边覆盖集E*,就是G中所有
    的顶点都是E*中边的顶点(边覆盖顶点)

    若边覆盖E*的任何真子集都不是边覆盖, 则称E*极小边覆盖;
    边数最少的边覆盖集称为最小的边覆盖;
    最小的边覆盖所含的边数称为边覆盖数, 记作α1(G)或简记为α1

       (a), { e1, e4, e7 }{ e2, e5, e6, e7 }都是极小边覆盖,
    { e1, e4, e7 }是最小边覆盖, α1 = 3
      图(b), { e1, e3, e6 }{ e2, e4, e8 }都是极小边覆盖,
    都是最小边覆盖, α1 = 3

     

    定义   匹配

    G = <V, E>, E*(E*⊆E)中任何两条边均不相邻,
    则称E*G边独立集, 也称E*G中的匹配(Matching);

     

    (a)中, E*= { e1, e4, e7 }就是一个匹配
    谓任何两条边均不相邻,通俗地讲,就是任
    何两条边都没有公共顶点。

    若在E*中加入任意一条边所得集合都不是匹配, 则称E*极大匹;
    边数最多的匹配称为最大匹配;
    最大匹配的边数称为边独立数匹配数, 记作β1(G), 简记为β1

      图(a), { e2, e6 }, { e3, e5 }, { e1, e4, e7 }都是极大匹配,
    { e1, e4, e7 }是最大匹配, β1 = 3
      图(b), { e1, e3 }, { e2, e4 }, { e4, e7 }都是极大匹配,
    都是最大匹配, β1 = 2

              结论汇总

    在一般的无向图G中:

      1. 点支配集, 极小点支配集, 最小点支配集, 点支配数γ0(G);

      2. 点独立集, 极大点独立集, 最大点独立集, 点独立数β0(G);

      3. 点覆盖集, 极小点覆盖集, 最小点覆盖集, 点覆盖数α0(G);

      4. 边覆盖集, 极小边覆盖集, 最小边覆盖集, 边覆盖数α1(G);

      5. 边独立集(匹配), 极大边独立集(极大匹配), 最大边独立集(最大
        匹配), 边独立数(或匹配数1(G);
       以上几个量存在以下关系:

        α0+ β0 n,即:点覆盖数 + 点独立数 = n

        α1+ β1 n,即:边覆盖数 + 边独立数 = n

            对二部图而言,有以下关系式:


    二部图的最小点覆盖数
    α0=等于最大匹配数β1
      
    ZOJ 1364
    二部图的最大点独立数
    β0=顶点个数n-最大匹配数β1(前提是该
    二部图没有孤立顶点,如果有孤立顶点,对这些孤立顶点要单独考虑)
      
    ZOJ 1137


    如果你不开心,那我就把右边这个帅傻子分享给你吧,
    你看,他这么好看,跟个zz一样看着你,你还伤心吗?
    真的!这照片盯上他五秒钟就想笑了。
    一切都会过去的。
    时间时间会给你答案2333

     

  • 相关阅读:
    移动端重构系列-移动端html页面优化
    response项目的各个写法
    收藏功能的写法
    浅谈文本溢出省略号代表修剪text-overflow
    几种display:table-cell的应用
    -webkit-transform:scale(1.04)放大缩小效果
    自学Python5.6-面向对象三大基本特征_多态
    自学Python5.5-面向对象三大基本特征_继承
    自学Python6.5-内置模块(re、collections )
    CISCO SMARTnet服务和SMB服务技术支持
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9342493.html
Copyright © 2011-2022 走看看