Primal & Dual

1. Form 1:

Primal:

Dual:

Theory Part

Maximum Matching

Berge’s Theorem [1957]

Given a matching of a graph , is the maximum matching if and only if there is no -augmenting path in .

: if is the maximum matching, then there would be no -augmenting path, because otherwise we can increase the size of .

: assume there is no -augmenting path in , is not the maximum matching, let be the maximum one. Then, let’s analyze , it is easy to figure out that there are three kinds of subgraphs in :

1. even-length cycle;
2. even-length path;
3. odd-length path;

Obviously, there has to exist at least one subgraph as Case 3, because otherwise, would also become the maximum matching. And Case 3 indicates there is a -augmenting path. Contradiction!! Proof completes!!

Hall’s Condition [1935]

Given a bipartite graph , then there exists a matching saturates if and only if for every subset , .

: if saturates , then for every subset , we have .

: we can prove by induction.

Base case, when , obviously the statement holds.

Assume that statement holds when . When ,

  1. If for every subset , , then we can remove an arbitrary edge from obtaining . We have, for every subset , therefore, has a matching saturates . Hence, adding the removed edge, we can get a matching saturating .
  2. If there exists a subset such that :

    1) if is a real subset of , then we have in the subgraph induced by and , there exists a matching saturating , and in the subgraph induced by , there also exists a matching saturating . Therefore, there exists a matching saturating in . 2) if is the only subset of such that , then by Case 1, we can conclude that there exists a matching saturating .

Here is another proof from Douglas’s Introduction to Graph Theory:

: This proof focuses on the converse-negative proposition, which means it proves that if is a maximum matching which does not saturate , then there exists at least a subset such that .

Let’s define the set of all the -alternating paths which starts from an exposed vertex , and , we denote , and . We have . And for every vertex , there exists a vertex such that and any two vertices in can not share the vertices in , therefore, . Proof completes!

Vertex Cover & Matching (Konig’s Theorem)

Given any graph , the size of the minimum vertex cover the size of the maximum matching, and in bipartite graph, they are equal.

The first part is quite easy. To cover the maximum matching in we need exactly , since no edges in share common vertices. Therefore, the size of the minimum vertex cover is at least the size of the maximum matching.

In bipartite graph , we have is a vertex cover, where is the maximum matching. Let’s prove by contradiction, if is not a vertex cover, then there exists at least an edge whose two end-nodes are both exposed. Therefore, itself forms a -augmenting path, which contradict with the maximality of .

Tutte-Berge Formula [1958]

For any Graph , the size of maximum matching can be expressed as,

where is the number of components in with an odd number of vertices.

[hint: induction]

Lemma

Let be a graph such that for each there is a maximum matching in that misses . Then, . In particular, is odd.

[hint: contradiction]

Maximum Flow

Given a graph , any flow , and any cut , the value of the capacity of the cut .

[hint: definition & substitution]

According to the definition of a flow, we have,

and for any vertex other than and ,

Therefore, where , and , is the capacity of egde .

Lemma: Given a graph

Algorithm Part

Hungarian Algorithm for Maximum Cardinality Matching in Bipartite Graph

Hungarian ALgorithm for Maximum Weight Matching (or Assignment Problem)

Faster Bipartite Graph Matching [Hopcroft-Karp Algorithm]

General Graph Matching Algorithm [Edmonds’ Matching ALgorithm or Blossom ALgorithm]

Lemma [GGM 1]: Given a graph , a matching , and a set of -exposed vertices , there exists a polynomial-time (more specifically )) algorithm that either returns a -alternating walk or reports that there is no such walk.

Lemma [GMM 2]: A shortest -alternating walk is either a -augmenting path or a -flower as a prefix.

Theorem [GMM 1]: Given a graph , a matching , and an -blossom , is a maximum matching in iff is the maximum matching in .

Lemma [GMM 3]: Given a graph , a matching , and an -blossom , if there is a -augmenting path in , then there exists a -augmenting path in . Particularly, we can find such an augmenting path in .

1. Moment Generating Function

Given random variable \(X\), its moment generating function is defined as,

Property:

where \(\mu_n\) is the order n moment.

2. Large Deviation

2.1 Markov’s Theorem

If is a non-negative random variable, then for any , we have,

proof:

Corollary: If is a non-negative r.v., then for any ,

Corollary: If for some , then for any ,

2.2 Chebyshev’s Theorem

For any and any r.v. ,

Corollary: For any ,

Theorem: For any r.v. ,

2.3 Chernoff Bound

Let be any mutually independent r.v.’s such that for any , . Let , then for any ,

where .

3. Bayes’s Rule

3.1. Discrete Case

3.2. Continuous Counterpart

3.3. Mixed Case

Discrete , and Continuous ,

4. Union Bound

Union bound also known as Boole’s inequality, which is a very simple but useful inequality in probability theory.

Mathematically, let be a series of events, and denotes its occurrence probability. The Boole’s inequality says that,

Which can be considered as a special case of sub-additivity property of Lebesgue measure. I guess the additivity of the probabilities for mutual excursive events (i.e., the countable additivity property of the measure for disjoint measurable sets) which is usually stated in the definition of probability might be better-known to most of us.

Recently, I read a paper on semi-streaming algrithm which applied some knowledge about bipartite graph matching. It mentioned a greedy algorithm which could find the maximal matching of a bipartite graph (actually, also applicable to an arbitrary graph), and the size of the maximal matching would be no less than a half of the optimal one, i.e., the maximum matching. In this post, we will learn about this greedy algorithm and the proof of its approximation ratio.

Now, let’s start our journey …

Greedy Algorithm for Maximum Matching

The following code is using python-style.

M = []
flag = {}
for e in E:
	if (e[0] not in flag) and (e[1] not in flag):  
        M.append(e)      
        flag.setdefault(e[0],1)       
        flag.setdefault(e[1],1)       

Approximation Ratio Proof

Assume \(M’\) is the maximum matching of graph \(G(V,E)\), and \(M\) is the maximal matching getting from the above greedy algorithm. For any edge \((u,v) \in M’\), we have either \(u\) is matched by \(M\), or \(u\) is matched by \(M\). Otherwise, \((u,v)\) should in \(M\). Therefore, \( M \geq \frac{1}{2} M’ \).

Eventually, we proved that the size of the maximal matching getting from the greedy algorithm above, is at least a half of the maximum one.

Note that, this proof is from reference [1].

[1] http://crab.rutgers.edu/~guyk/ex/flow.pdf

When uploading papers to EDAS, you might encounter a problem which is called as “Not All Fonts are Embedded”. Today, I’ll give you a relatively easy and convenient solution.

Tools

GS x86 for 32-bit Windows

GS x64 for 64-bit Windows

Steps

Download and Install The Proper GS (i.e., GS x86 or GS x64)

Note that, in the following steps, I will assume the GS is installed at “C:/Program Files/gs”!

Change Configuration of WinEdit

  1. Locate the settings of “ps2pdf”: Winedit -> Option -> Exectution Modes -> ps2pdf, as shown in the following figure,

  2. Click “Browse for executable…” at the left-bottom, and select the “gswin32c.exe” at “C:/Program Files/gs/gs9.02/bin/”

  3. Fill “Switches” entry with the following setting (if it was not empty before filling, then just replace the original one),

     -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress  -dCompatibilityLevel=1.4 -dSubsetFonts=true -dEmbedAllFonts=true
    

    as shown in the following figure,

  4. Replace the original setting in “Parameters” entry with the following one,

     -sOutputFile="%N.pdf" -c save pop -f "%N.ps"
    

    as shown in the following figure,

  5. Click “OK”