Download presentation
Presentation is loading. Please wait.
1
3.3 Applications of Maximum Flow and Minimum Cut
Bipartite Matchings and Covers 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 corresponding nodes in C are all distinct. β |π|β€|πΆ| (primal-dual relation) Thm 3.14 (KΓΆnigβs Theorem, 1931) : (KΓΆnig-EgervΓ‘ry Thm) For a bipartite graph G, max { |π|: π a matching} = min { |πΆ|: πΆ a cover} Combinatorial Optimization 2016
2
(Transform to max flow problem)
Q 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 urp=1 uqs=1 i I i I upq=ο₯ Combinatorial Optimization 2016
3
(Maximum matching and corresponding flow)
b B b B c C c C r s d D d D f F f F h H h H urp=1 uqs=1 i I i I upq=ο₯ node cover Combinatorial Optimization 2016
4
(Identifying π₯-incrementing paths)
b B b B c C c C r r s s d D d D f F f F h H h H urp=1 uqs=1 urp=1 uqs=1 i I i I upq=ο₯ upq=ο₯ node reachable from π Combinatorial Optimization 2016
5
(blue nodes defines cut = flow value)
r r s s d D d D f F f F h H h urp=1 uqs=1 H urp=1 uqs=1 i I i I upq=ο₯ upq=ο₯ : cut arcs node reachable from π Note that no cut arc from blue in π β green in π (O.w. cut capacity is ο₯) Combinatorial Optimization 2016
6
Let π΄ = {blue nodesβ{π}} Cover πΆ (pink) =(π\A)βͺ(πβ©π΄)
f F f F h H h urp=1 uqs=1 H urp=1 uqs=1 i I i I upq=ο₯ upq=ο₯ Let π΄ = {blue nodesβ{π}} Cover πΆ (pink) =(π\A)βͺ(πβ©π΄) Capacity of cut = |π\A|+|πβ©π΄|=|πΆ| Combinatorial Optimization 2016
7
min cut: πΏβ² π βͺπ΄ where π΄βπ no edge from πβ©π΄ to π\A Cover πΆ=(π\A)βͺ(πβ©π΄)
s πβ©π΄ πβ©π΄ min cut: πΏβ² π βͺπ΄ where π΄βπ no edge from πβ©π΄ to π\A Cover πΆ=(π\A)βͺ(πβ©π΄) Capacity of cut =|π\A|+|πβ©π΄|=|πΆ| Running time: π(ππ) Combinatorial Optimization 2016
8
Reference: Linear Programming, Vasek Chvatal, 1983, Freeman, p336-338.
(Hallβs Theorem) Reference: Linear Programming, Vasek Chvatal, 1983, Freeman, p System of distinct representatives Given a set π and a family (π1, π2, β¦, π π ) of subsets of π, a system of distinct representative (SDR) is a set {π1, β¦, π π } of distinct elements of π such that ππ βππ for 1β€πβ€π. Hallβs Theorem: The family (π1, π2, β¦, π π ) does not have an SDR if and only if there is a set πΌ such that πβπΌ π π < πΌ (20.14) (The family (π1, π2, β¦, π π ) has an SDR if and only if for every subset πΌ of {1, β¦, π} we have πβπΌ π π β₯ πΌ .) Pf) later. Combinatorial Optimization 2016
9
q1 q1 S1 S1 q2 q2 S2 S2 q3 q3 S3 S3 q4 q4 S4 S4 q5 q5 S5 S5 q6 q6
The family has an SDR iff the corresponding bipartite graph has a matching of size π. Combinatorial Optimization 2016
10
Circled nodes have πβπΌ π π < πΌ , hence no SDR.
q1 q1 S1 S1 q2 q2 S2 S2 q3 q3 S3 S3 q4 q4 S4 S4 q5 q5 S5 S5 q6 q6 Circled nodes have πβπΌ π π < πΌ , hence no SDR. Combinatorial Optimization 2016
11
Hallβs Theorem: The family (π1, π2, β¦, π π ) does not have an SDR if and only if there is a set πΌ such that πβπΌ π π < πΌ (20.14) (The family (π1, π2, β¦, π π ) has an SDR if and only if for every subset πΌ of {1, β¦, π} we have πβπΌ π π β₯ πΌ .) Pf) ο) clear. ο) Suppose (π1, π2, β¦, π π ) does not have an SDR. Corresponding bipartite graph has no matching of size π. Let π β be the largest matching ( π β <π) and πΆ β be the smallest cover. By KΓΆnigβs thm π β = πΆ β <π. Let πΌβ{1,2,β¦,π} 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 2016
12
Dilworthβs Theorem Chains and Antichains in Partially Ordered Sets
(Reference: Linear Programming, Vasek Chvatal, 1983, Freeman, p ) 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 π§1, π§2, β¦, π§π in such a way that π§1 β π§2, π§2 β π§3, β¦ , π§ πβ1 β π§π ) A subset π΄ of a partially ordered set is called an antichain if π₯ β π¦ for no π₯, π¦βπ΄. Combinatorial Optimization 2016
13
application: guided tour, airplane assignment
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 We consider a different approach here. ex) Set π={π, π, π, π, π, π, π}, tours partial orders : πβπ, πβπ, πβπ, πβπ, πβπ, πβπ, πβπ, πβπ, πβπ ( need 3 guides, πβπβπ, πβπ, πβπ ) (Note that π,π,π has no partial orders (antichain) ) Construct a bipartite graph by doubling each node π£ as π£β² and π£β²β². There exists an edge π₯β²π¦β²β² iff π₯βπ¦. Combinatorial Optimization 2016
14
A matching π defines π=πβ|π| chains (guides) ex) (i) πβπβπ (ii) πβπ
- 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 π be the number of chains and ππ be the length (number of nodes) of π-th chain. Then π=1 π π π =π and π=1 π ( π π β1) =|π| which imply π=πβ|π|. (Hence min # of guides β€πβ π β , π β : max matching) - Converse can be shown too, i.e. π chains define π β π sized matching π. (Hence πβπβ€ π β , i.e., min # of guides β₯πβ π β , π β : max matching) aββ bββ aβ cββ bβ dββ cβ eββ dβ fββ gββ eβ fβ gβ Combinatorial Optimization 2016
15
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ββ A* bββ aβ cββ bβ dββ cβ eββ dβ fββ gββ eβ fβ gβ Combinatorial Optimization 2016
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 procedure also finds an antichain π΄ β of size at least π. Since every antichain π΄ shares at most one element with each of the chains πΆ1, πΆ2, β¦, πΆπ, it must satisfy |π΄|β€πβ€| π΄ β |. So π΄ β is a largest antichain and its size is π (plug in π΄ β for π΄). ο Combinatorial Optimization 2016
17
Optimal Closure in a Digraph
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 πΊ) (May be formulated as integer program using constraints π₯ π£ β€ π₯ π€ , β π£π€βπΈ, π₯β π΅ π .) 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. Combinatorial Optimization 2016
18
Convert to min-cut problem (max-flow problem)
Divide the nodes into two sets π΄ and π΅. π£βπ΄ if ππ£β₯0 and π£βπ΅ if ππ£<0. Construct πΊβ². 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 2016
19
π£βπ΄βπΆ π’ ππ£ + π£βπ΅β©πΆ π’ π£π = π£βπ΄βπΆ π π£ + π£βπ΅β©πΆ (βπ π£ ) =
(Example) π£βπ΄βπΆ π’ ππ£ + π£βπ΅β©πΆ π’ π£π = π£βπ΄βπΆ π π£ + π£βπ΅β©πΆ (βπ π£ ) = π£βπ΄βπΆ π π£ + π£βπ΄β©πΆ π π£ + π£βπ΄β©πΆ (β π π£ ) + π£βπ΅β©πΆ (βπ π£ ) = π£βπ΄ π π£ β π£βπΆ π π£ 2 -7 ο₯ 2 ο₯ C 7 π 4 4 1 -1 ο₯ 3 ο₯ ο₯ 3 2 3 π -3 ο₯ ο₯ 1 2 ο₯ -1 Combinatorial Optimization 2016
20
Mengerβs Theorems 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 directed (π, π )-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. Combinatorial Optimization 2016
21
Thm: Let π, π be two nodes of a graph πΊ
Thm: Let π, π be two nodes of a graph πΊ. Then the maximum number of edge-disjoint (π, π )-paths in πΊ is equal to the minimum number of edges whose deletion destroys all (π, π )-paths in G. (pf) Replace each edge of G by two oppositely oriented arcs and apply the previous results. ο Combinatorial Optimization 2016
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 minimum number of nodes whose deletion destroys all directed (π, π )-paths in πΊ. (pf) Construct πΊβ² as follows ( except π and π ). Then directed (π,π )-paths in πΊβ² are arc-disjoint if and only if the corresponding paths in πΊ are node-disjoint. ο₯ ο₯ π£ π£β² π£β²β² 1 ο₯ ο₯ ο₯ Combinatorial Optimization 2016
23
Thm: Let π and π be two nonadjacent nodes of a graph πΊ
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) connectivity of a graph can be found in polynomial time. Combinatorial Optimization 2016
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.