230 likes | 389 Views
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 .
E N D
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) : For a bipartite graph G, max { : a matching} = min { : a cover}
(Transform to max flow problem) Q Q P P 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=
(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 urp=1 uqs=1 I I i i upq= node cover
(Identifying -incrementing 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 urp=1 uqs=1 urp=1 uqs=1 I I i i upq= upq= node reachable from
(blue nodes defines cut = flow value) 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 urp=1 uqs=1 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 )
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 urp=1 uqs=1 urp=1 uqs=1 I I i i upq= upq= Cover (pink) Capacity of cut Let {blue nodes}
min cut: where • no edge from to Cover Capacity of cut • Running time: s r
(Hall’s Theorem) • Reference: Linear Programming, VasekChvatal, 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.
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 .
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.
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 matching of size . Let be the largest matching (and be the smallest cover. By König’sthm. 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.
Dilworth’s Theorem • Chains and Antichains in Partially Ordered Sets • (Reference: Linear Programming, VasekChvatal, 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: 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 , tours partial order : ( need 3 guides, ) Construct a bipartite graph by doubling each node as and . There exists an edge iff .
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 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 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) a’’ b’’ c’’ a’ d’’ b’ e’’ c’ f’’ d’ g’’ e’ f’ g’
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’’ c’’ a’ d’’ b’ e’’ c’ f’’ d’ g’’ e’ f’ g’
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 , it must satisfy . So is a largest antichain and its size is (plug in for ).
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 ) • 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.
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 .
(Example) 2 -7 2 C 7 4 4 1 -1 3 3 2 3 -3 1 2 -1
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.
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.
(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 )
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. Thm9.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.