• Matroids


    抄自 Schrijver, A. (2003). Combinatorial Optimization - Polyhedra and Efficiency. Springer.
    我对组合优化其实没多大兴趣,单纯想抄抄罢了。


    A matroid is a tuple \((S,I)\), \(S\) is a finite set, and \(I\) is a collection of some subsets of \(S\) satisfying

    1. (Given \(A\in\mathcal{I}\), for all \(B\subseteq A\), we have): \(B\in\mathcal{I}\)
    2. (Given \(A,B\in\mathcal{I}\) satisfying \(|A|>|B|\)): there exists some \(z\in A\setminus B\) such that \(B+z\in\mathcal{I}\)

    Given a matroid \(M=(S,{\mathcal I})\):
    If \(A\subseteq S\), we say that \(A\) is independent when \(A\in\mathcal{I}\) (and dependent otherwise.)

    Given \(B\subseteq A\subseteq S\), then \(B\) is called a base of \(A\) if:
    \(B\) is an inclusion wise independent subset of \(A\), i.e., there is no \(C\in\mathcal{I}\) such that \(B\subset C\subseteq A\).

    Under condition 1., we can restate condition 2. as:
    All the bases of an arbitrary subset \(\bm A\) of \(\bm S\) have the same size \(\bm{ r_M(A)}\) (called the rank of \(\bm A\)).


    A base of \(S\) is simply called a base, and \(r_M(S)\) is called the rank of the matroid.

    A spanning set: a subset of \(S\) that contains a base as a subset.
    bases = the inclusionwise minimal spanning sets = the independent spanning sets.

    A circuit of a matroid: an inclusionwise minimal dependent set.
    We call an element \(s\in S\) a loop if \(\{s\}\) is a circuit.
    We say that \(s,t\in S\) are parallel if \(\{s,t\}\) is a circuit


    the restriction of \(M=(S,\mathcal I)\) to \(S'\): \(M|S'=(S,\mathcal{I}')\), where \(\mathcal{I}'=\{A|A\subseteq S',A\in\mathcal I\}\)
    we say that \(M|S'\) arises by deleting \(A\), if \(A\subseteq S\) and \(S'=S\setminus A\).

    Contraction is the operation dual to deletion.

    If a matroid arises from \(M\) by a series of deletions and contractions, we call it a minor of \(M\).


    Theorem (Matroidal Intersection Theorem) Given matroids \(M_1=(S,\mathcal{I}_1)\) and \(M_2=(S,\mathcal{I}_2)\) with rank functions \(r_1\) and \(r_2\) respectively, then the maximum size of a set in \(\mathcal{I}_1\cap\mathcal{I}_2\) is equal to \(\min\limits_{A\subseteq S}(r_1(A)+r_2(S\setminus A))\)

    Proof: Note that for any common independent set \(I\) and any \(A\subseteq S\) we have

    \[|I|=|I\cap A|+|I\setminus A|\le r_1(A)+r_2(S\setminus A) \]

    Prove the equality by induction on \(S\)(choose \(s\in S\)) + contradiction
    (..., otherwise, by induction \(\exists\;T\subseteq A\) such that \(r_1(A)>r_{M_1|U}(T)+r_{M_2\cdot U}(U\setminus T)\)

    Corollary Then \(M_1\) and \(M_2\) have a common base if and only if: for all \(A\subseteq S\), \(r_1(A)+r_2(S\setminus A)\ge r_1(S)\)

    Corollary The minimum size of a common spanning set of \(M_1\) and \(M_2\) is equal to \(\max\limits_{A\subseteq S}(r_1(S)-r_1(A)+r_2(S)+r_2(S\setminus A))\)

    Proof: min=(r1(S)+r2(S)-max\(|B_1\cap B_2|\)) where B1 and B2 are bases of M1 and M2 respectively

    Corollary (Rado's theorem) Given a matroid \(M=(S,\mathcal{I})\) with rank function \(r\) and let \(\mathcal{X}=(X_1,\cdots,X_n)\) be a family of subsets of \(S\).
    Then \(\mathcal{X}\) has a transversal which is independent in \(M\) if and only if for each \(I\subseteq\{1,\cdots,n\}\)

    \[r(\bigcup\limits_{i\in I}X_i)\ge|I| \]


    Applications:
    1.Konig's theorem
    2.Proving a theorem in Ford-Fulkerson: Given \(\mathcal{X,Y}\) which are families of subsets of a finite set \(S\), then \(\mathcal{X}\) and \(\mathcal{Y}\) have a common transversal if and only if

    \[|X_I\cap Y_J|\ge|I|+|J|-m \]

    for all subsets \(I\) and \(J\) of \(\{1,\cdots,m\}\) where \(X_I=\bigcup\limits_{i\in I} X_i\) and \(Y_J=\bigcup\limits_{j\in J} Y_j\).
    3.Coloured trees: given a graph \(G\), then there exists a spanning tree with all edges coloured differently if and only if \(G-F\) has at most \(t+1\) components for any union \(F\) of \(t\) colours \((t\in\N)\).
    4.Detachments


    Let \(E\) be a finite collection of unordered pairs from \(S\), such that each pair is an independent set of \(M\).
    Call a subset \(M\) of \(E\) a matroid matching if

    \[r(M)=2|M| \]


  • 相关阅读:
    JavaWeb 输出九九乘法表,三角形,菱形
    模拟ATM机将输入的数据插入数据库
    JDBC连接数据库
    执行动态语句
    python深拷贝和浅拷贝
    redis数据库操作
    pymysql数据库操作
    linux 从Python 2.7升级至Python3.6.1
    模块---常用模块
    模块---安装模块
  • 原文地址:https://www.cnblogs.com/ccryolitecc/p/15659332.html
Copyright © 2020-2023  润新知