Title: Linear Programming Optimization
13.3 Applications of Maximum Flow and Minimum Cut
Bipartite Matchings and Covers
- A cover of an undirected graph G is a set C of
nodes such that every edges of G has at least one
end in C. - For any matching M and any cover C, each edge in
M has an end in C and the corresponding nodes in
C are all distinct. - gt M ? C (primal-dual relation)
- Thm 3.14 (Königs Theorem, 1931)
- For a bipartite graph G,
- max M M a matching min C C a
cover
2(Transform to max flow problem)
P
Q
a
a
A
A
b
b
B
B
c
c
C
C
r
s
d
d
D
D
f
F
f
F
h
h
H
H
urp1
uqs1
I
I
i
i
upq?
3(Maximum matching and corresponding flow)
a
a
A
A
b
b
B
B
c
c
C
C
r
s
d
d
D
D
f
F
f
F
h
h
H
H
urp1
uqs1
I
I
i
i
upq?
node cover
4(Identifying x-augmenting path)
a
a
A
A
b
b
B
B
c
c
C
C
r
r
s
s
d
d
D
D
f
F
f
F
h
h
H
H
urp1
uqs1
urp1
uqs1
I
I
i
i
upq?
upq?
node reachable from r
5a
A
a
A
b
b
B
B
c
c
C
C
r
r
s
s
d
D
d
D
f
F
f
F
h
h
H
H
urp1
uqs1
urp1
uqs1
I
I
i
i
upq?
upq?
Cover C (pink) (P\A) ? (Q?A) Capacity of cut
P\AQ?AC
Let A blue nodes\r
6Q\A
P\A
s
r
P?A
Q?A
- no edge from P?A to Q\A
- Cover C (P\A) ? (Q?A)
- Capacity of cut P\AQ?AC
- Running time O(mn)
7(Halls Theorem)
- System of distinct representatives
- Given a set Q and a family (S1, S2, , Sk) of
subsets of Q, a system of distinct representative
(SDR) is a set q1, , qk of distinct elements
of Q such that qi ?Si for 1 ? i ? k. - Halls Theorem
- The family (S1, S2, , Sk) has an SDR if and
only if for every subset I of 1, , k we have
?i ? I Si ? I . - (The family (S1, S2, , Sk) does not have an SDR
if and only if there is a set I such that ?i ?
I Si lt I . )
8q1
q1
S1
S1
q2
q2
S2
S2
q3
q3
S3
S3
q4
q4
S4
S4
q5
q5
S5
S5
q6
q6
The family has a SDR iff the corresponding
bipartite graph has a matching of size k.
9q1
q1
S1
S1
q2
q2
S2
S2
q3
q3
S3
S3
q4
q4
S4
S4
q5
q5
S5
S5
q6
q6
Circled nodes have ?i ? I Si lt I , hence
no SDR.
10Dilworths Theorem
- Chains and Antichains in Partially Ordered Sets
- A list of pairs x ? y satisfying the following
conditions is called a partial order - (i) no x ? x
- (ii) x ? y and y ? z together imply x ? z
- A set whose elements appear in a partial order
is called a partially ordered set - A subset C of a partially ordered set is called
a chain if - x ? y or y ? x whenever x, y ? C and x ?
y - (The elements can be enumerated as z1, z2, , zr
in such a way that z1 ? z2, z2 ? z3, , zr-1 ?
zr ) - A subset A of a partially ordered set is called
an antichain if - x ? y for no x, y ?A
11- Dilworths Theorem
- In every partially ordered set P, the smallest
number of chains whose union is P equals the
largest size of an antichain - application guided tour, airplane assignment
- pf) text exercise 3.37. We consider a different
approach here. - ex) Set X a, b, c, d, e, f, g, tours
- partial order a ? c, a ? d, a ? f, a
? g, b ? c, b ? g, d ? g, e ? f, e ? g - ( need 3 guides, a ? d ? g, b ? c, e ? f
) - Construct a bipartite graph by doubling
each node v as v and v. - There exists an edge xy iff x ? y.
12Matching M defines k n - M chains (guides)
ex) (i) a ? d ? g (ii) b ? c
(iii) e ? f In the matching, each tour has at
most one successor and at most one predecessor.
Otherwise, M would not be a matching. By
concatenating successive tours, we obtain a set
of chains (A chain may consists of a single
tour) Let k be the number of chains and ri be the
length (number of nodes) of i-th chain. Then
a
b
a
c
d
b
c
e
f
d
g
e
f
Hence min k ? n - M for max M Converse can
be shown too, i.e. k chains define n k sized
matching M.
g
13Cover C
- Different reasoning using Königs Theorem
- Let M be a largest matching and C be min cover.
Define a set A of trips as follows - z ?A iff z?C and z? C.
- No x ? y with x, y ?A is possible
- ? no guide can take care of two different trips
in A. - need at least A guides.
-
- But A has at least n - C elements (each node
in C makes at most one tour ineligible for
membership in A) - Hence every schedule must use at least
- A ? n - C n - M different guides.
- ? The schedule defined by M, using only n -
M guides, is optimal.
a
A
b
a
c
d
b
c
e
f
d
g
e
f
g
14- Proof of Dilworths Theorem
- The partially ordered set P may be thought of as
a set of tours. Chains are those sets of tours
that can be taken care of by one guide. The
described procedure gives the smallest k of
chains. Along with the chains, the procedure
also finds an antichain A of size at least k. - Since every antichain A shares at most one
element with each of the chains C1, C2, , Ck ,
it must satisfy A ? k ? A. So A is a
largest antichain and its size is k (plug in A
for A). ? - Reference Linear Programming, Vasek Chvatal,
1983, Freeman.
15Optimal Closure in a Digraph
- Situation If we want to choose project v, then
we must choose project w also. We want to choose
the set of projects which gives maximum profit - Model as a problem on a digraph. Use directed
arc vw if project w precedes project v. Find
the maximum benefit set C ? V such that ?(C) ?.
( closure of G) - Example open pit mining problem.
- Partition the volume to be considered for
excavation into small 3-dimensional blocks. - Block v produces profit of bv (profit of ore in
v cost of excavating v ) - If we need to excavate block w to excavate block
v , we include arc vw in G. - Want to find a closed set in G which maximizes
profit.
16- Convert to min-cut problem (max-flow problem)
- Divide the nodes into two sets A and B.
- v ?A if bv ? 0 and v ? B if bv lt 0.
- Add a source r and a sink s to the graph and
add arcs rv for each v ?A and arcs vs for each
v ?B. - Capacity on the arcs are urv bv for each v
?A and uvs - bv for each v ?B. - The upper bounds on the original arcs are
infinite. - A set C of nodes is closed if and only if the cut
C ? r has finite capacity. - If the capacity of C ? r is finite, then it
equals
Since ?v ?A bv is a constant, minimizing the
capacity of C ? r amounts to maximizing
?v ?C bv .
17(Example)
2
-7
?
2
?
C
7
4
r
4
1
?
?
-1
3
?
3
2
3
s
?
-3
?
1
2
?
-1
18Mengers Theorems
- Ref Graph Theory with Applications, J. A. Bondy,
U. S. R. Murty - Lemma Let G be a digraph in which each arc has
unit capacity. Then - (a) The maximum (r, s) flow is equal to the
maximum number m of arc disjoint directed (r,
s)-paths in G and - (b) The capacity of a minimum (r, s)-cut is
equal to the minimum number n of arcs whose
deletion destroys all directed (r, s)-paths in G. - Thm Let r, s be two nodes of a digraph G. Then
the maximum number of arc-disjoint directed (r,
s)-paths in G is equal to the minimum number of
arcs whose deletion destroys all directed (r,
s)-paths in G. - (pf) From above Lemma and max-flow and min-cut
theorem.
19- Thm Let r, s be two nodes of a graph G. Then
the maximum number of edge-disjoint (r, s)-paths
in G is equal to the minimum number of edges
whose deletion destroys all (r, s)-paths in G. - (pf) Replace each edge of G by two oppositely
oriented arcs and apply the previous results. ? - Lemma A graph G is k-edge-connected iff any two
distinct nodes of G are connected by at least
k-edge-disjoint paths.
20- (node connectivity)
- Thm Let r, s be two nodes of a digraph G, such
that r is not joined to s. Then the maximum
number of node-disjoint directed (r, s)-paths in
G is equal to the minimum number of nodes whose
deletion destroys all directed (r, s)-paths in G. - (pf) Construct G as follows ( except r and s)
21- Thm Let r and s be two nonadjacent nodes of a
graph G. Then the maximum number of
node-disjoint (r, s)-paths in G is equal to the
minimum number of nodes whose deletion destroys
all (r, s)-paths. - Cor A graph G with n ? k1 is k-node connected
iff any two distinct nodes of G are connected by
at least k node-disjoint paths.