zoukankan      html  css  js  c++  java
  • 最大匹配

    (Tutte-Berge;Formula)

    定义(q(G))表示图(G)有多少个奇联通分量

    定义(C(G))为图(G)中的联通分量的集合

    那么,一个图(G)的最大匹配的大小为(frac{1}{2}min_{S subseteq V(G)}(|S|+|G|-q(G-S)))


    考虑(S)为任意一个集合,(M)为任意一个匹配

    (M)中,设满足与(S)中点关联的边数为(k_1),其余边数记为(k_2)

    显然有,(k_1 leqslant |S|),考虑(k_2),也即两个边的端点都在(G-S)中的边

    由于每个奇联通分量中至少有一个节点不在(M)中,因此(k_2 leqslant frac{1}{2}(|G|-|S|-|q(G-S)|))

    那么,(|M| = k_1 + k_2 leqslant frac{1}{2}(|S|+|G|-q(G-S)))

    如果存在一个集合(S),存在一个匹配(M)取到等号,那么公式的正确性就不言而喻了


    • (Hall)定理

    二分图(G)存在匹配,当且仅当(forall S subseteq V(G))(|N(S)| geqslant |S|)

    • (Tutte)定理

    一般图(G)存在匹配,当且仅当(forall S subseteq V(G))(q(S) leqslant |S|)

    我们不加证明的给出上述两个定理,利用以上定理,我们可以证明

    • 对任意图(G),存在顶点集(S)满足
      • (S)中的边删除,将(q(G-S))中所有的分量收缩后,得到的二分图存在一个饱和(S)的匹配
      • (G-S)中的每个联通分量都是奇联通分量,并且去掉任意一个顶点后,对应的联通分量存在完美匹配

    取满足上述条件的(S),我们可以构造一个取得等号的匹配(M)

    取第一个条件中,饱和(S)的匹配,之后对每个联通分量,在满足第一个条件的情况下,选取一个顶点,剩下的点构成匹配,这样构造出的(M)恰好取得等号

    喵喵喵?喵喵喵! 喵喵喵......
  • 相关阅读:
    dljd_(004_005)_jdbc编程步骤
    dljd_003_jdbc编程_概述
    dljd_002_通过接口降低代码的耦合度(2)
    dljd_001_通过接口降低代码的耦合度(1)
    dljd_(002-003)_什么是持久化
    dljd_001_由hibernate名称引出的相关知识
    001_学习26个英文字母
    06_dljd_mysql数据库常用操作
    05_dljd_mysql数据库表的介绍
    【数据结构】树状数组(简单名次树)
  • 原文地址:https://www.cnblogs.com/reverymoon/p/14634484.html
Copyright © 2011-2022 走看看