3.3 Applications of Maximum Flow and Minimum Cut
-
Upload
stone-fischer -
Category
Documents
-
view
27 -
download
1
description
Transcript of 3.3 Applications of Maximum Flow and Minimum Cut
Combinatorial Optimization 2014 1
A cover of an undirected graph is a set of nodes such that every edge of G has at least one end in .For any matching and any cover , each edge in has an end in and the cor-responding nodes in C are all distinct.
(primal-dual relation)
Thm 3.14 (König’s Theorem, 1931) : For a bipartite graph G,
max { : a matching} = min { : a cover}
3.3 Applications of Maximum Flow and Minimum Cut
Bipartite Matchings and Covers
Combinatorial Optimization 2014 2
a
b
c
d
f
I
h H
i
F
D
C
B
A a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
(Transform to max flow problem)
P Q P Q
Combinatorial Optimization 2014 3
a
b
c
d
f
I
h H
i
F
D
C
B
A a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
(Maximum matching and corresponding flow)
node cover
Combinatorial Optimization 2014 4
a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
(Identifying -incrementing path)
node reachable from
a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
Combinatorial Optimization 2014 5
(blue nodes defines cut = flow value)
node reachable from
a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
: cut arcs
a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
Note that no cut arc from blue in → green in (O.w. cut capacity is )
Combinatorial Optimization 2014 6
a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
a
b
c
d
f
I
h H
i
F
D
C
B
A
r s
urp=1
upq=
uqs=1
Cover (pink) Capacity of cut
Let {blue nodes}
Combinatorial Optimization 2014 7
min cut: where no edge from to
Cover
Capacity of cut Running time:
r s
𝑃 ¿ 𝑄¿
𝑄∩ 𝐴𝑃∩ 𝐴
Combinatorial Optimization 2014 8
Reference: Linear Programming, Vasek Chvatal, 1983, Freeman, p336-338. System of distinct representatives
Given a set and a family of subsets of , a system of distinct representative (SDR) is a set of distinct elements of such that for .
Hall’s Theorem:The family does not have an SDR if and only if there is a set such that . ---- (20.14) (The family has an SDR if and only if for every subset of we have .)Pf) later.
(Hall’s Theorem)
Combinatorial Optimization 2014 9
S1
S2
S3
S4
S5
q1
q2
q3
q4
q5
q6
S1
S2
S3
S4
S5
q1
q2
q3
q4
q5
q6
The family has an SDR iff the corresponding bipartite graph has a matching of size .
Combinatorial Optimization 2014 10
S1
S2
S3
S4
S5
q1
q2
q3
q4
q5
q6
Circled nodes have , hence no SDR.
S1
S2
S3
S4
S5
q1
q2
q3
q4
q5
q6
Hall’s Theorem:
The family does not have an SDR if and only if there is a set such that . ---- (20.14)
(The family has an SDR if and only if for every subset of we have .)
Pf) ) clear.
) Suppose does not have an SDR. Corresponding bipartite graph has no match-ing of size . Let be the largest matching ( and be the smallest cover. By König’s thm .
Let be such that iff the left node does not belong to . If , then each element , viewed as a right node must be in . Otherwise would not be a cover. Hence is a subset of right nodes in . Since has precisely left nodes, it has right nodes. So (20.14) holds.
Combinatorial Optimization 2014 11
Combinatorial Optimization 2014 12
Chains and Antichains in Partially Ordered Sets(Reference: Linear Programming, Vasek Chvatal, 1983, Freeman, p338-341.)
A list of pairs satisfying the following conditions is called a partial order(i) no (ii) and together imply A set whose elements appear in a partial order is called a partially ordered set
A subset of a partially ordered set is called a chain if or whenever and
(The elements can be enumerated as in such a way that , , … , )
A subset of a partially ordered set is called an antichain if for no .
Dilworth’s Theorem
Combinatorial Optimization 2014 13
Dilworth’s Theorem:In every partially ordered set , the smallest number of chains whose union is 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 , tourspartial order : ( need 3 guides, )Construct a bipartite graph by doubling each node as and .There exists an edge iff .
Combinatorial Optimization 2014 14
a’
b’
c’
d’
e’ g’’
f’
f’’
g’
e’’
d’’
c’’
b’’
a’’A matching defines chains (guides) ex) (i) (ii) (iii) 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 ob-tain a set of chains (A chain may consists of a single tour)Let be the number of chains and be the length (number of nodes) of -th chain.Then and which imply . (Hence min # of guides , : max matching)Converse can be shown too, i.e. chains define sized matching . (Hence min # of guides , : max matching)
Combinatorial Optimization 2014 15
a’
b’
c’
d’
e’ g’’
f’
f’’
g’
e’’
d’’
c’’
b’’
a’’
Different reasoning using König’s Theorem:Let be a largest matching and be min cover. Define a set of trips as follows;trip iff and .No with is possible. (Otherwise, with , , hence not covered by , contradiction to being a cover.) no guide can take care of two different trips in . (e.g., ) need at least guides. But has at least elements (each node in makes only one trip ineligible for membership in )Hence every schedule must use at least different guides. The schedule defined by , using only guides, is optimal. (from earlier)
Cover C*
A*
Combinatorial Optimization 2014 16
Proof of Dilworth’s Theorem:The partially ordered set 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 of chains. Along with the chains, the proce-dure also finds an antichain of size at least . Since every antichain shares at most one element with each of the chains , it must satisfy . So is a largest antichain and its size is (plug in for ).
Combinatorial Optimization 2014 17
Situation: If we want to choose project , then we must choose project also. We want to choose the set of projects which gives maximum profit
Model as a problem on a digraph. Use directed arc if project precedes project . Find the maximum benefit set such that . (closure of )
Example: open pit mining problem.
Partition the volume to be considered for excavation into small 3-dimensional blocks.
Block produces profit of (profit of ore in – cost of excavating )
If we need to excavate block to excavate block , we include arc in .
Want to find a closed set in which maximizes profit.
Optimal Closure in a Digraph
Combinatorial Optimization 2014 18
Convert to min-cut problem (max-flow problem)
Divide the nodes into two sets and .
if and if .
Add a source and a sink to the graph and add arc for each and arc for each .
Capacity on the arcs are: for each and for each .
The upper bounds on the original arcs are infinite. A set of nodes is closed if and only if the cut has finite capacity. If the capacity of is finite, then it equals
Since is a constant, minimizing the capacity of amounts to maximizing .
Combinatorial Optimization 2014 19
(Example)
4
-1
2
-3
-13
2 -7
4
1
2 3
13
27
𝑠
𝑟C
Combinatorial Optimization 2014 20
Ref: Graph Theory with Applications, J. A. Bondy, U. S. R. Murty, 1976, 2008.
Directed version:
Lemma: Let be a digraph in which each arc has unit capacity. Then(a) The maximum flow is equal to the maximum number of arc disjoint di-rected -paths in ; and(b) The capacity of a minimum -cut is equal to the minimum number of arcs whose deletion destroys all directed -paths in G.
Thm: Let , be two nodes of a digraph . Then the maximum number of arc-disjoint directed -paths in G is equal to the minimum number of arcs whose deletion destroys all directed -paths in G.(pf) From above Lemma and max-flow and min-cut theorem.
Menger’s Theorems
Combinatorial Optimization 2014 21
Thm: Let , be two nodes of a graph . Then the maximum number of edge-dis-joint -paths in is equal to the minimum number of edges whose deletion de-stroys all -paths in G.
(pf) Replace each edge of G by two oppositely oriented arcs and apply the pre-vious results.
Combinatorial Optimization 2014 22
(node connectivity) Directed version:
Thm: Let , be two nodes of a digraph , such that is not joined to . Then the maximum number of node-disjoint directed -paths in is equal to the mini-mum number of nodes whose deletion destroys all directed -paths in .(pf) Construct as follows ( except and )
Combinatorial Optimization 2014 23
Thm: Let and be two nonadjacent nodes of a graph . Then the maximum number of node-disjoint -paths in is equal to the minimum number of nodes whose deletion destroys all -paths.(pf) Replace each edge of G by two oppositely oriented arcs and use the previous transformation (reduction).
Recall from connectivity results earlier. Thm 9.2: If has at least one pair 𝐺of nonadjacent vertices, ( )= min { ( , ): , , ≠ , }.𝜅𝐺 𝑝 𝑢 𝑣 𝑢 𝑣∈𝑉 𝑢 𝑣 𝑢𝑣∉𝐸
Min cut can be obtained in polynomial time. Hence the (edge, node) connec-tivity of a graph can be found in polynomial time.