Download presentation

Presentation is loading. Please wait.

Published byEvelyn Kane Modified over 3 years ago

1
1 Primal-dual Approximation Algorithms for Integral Flow and Multicut in Trees Garg, N., Vazirani, V. V. and Yannakakis, M., Algorithmica, Vol. 18, 1997, pp. 3-20. Advisor: R. C. T. Lee Speaker: F. L. Lin National Chi Nan University

2
2 Minimum Multicut Problem Given a graph G=(V, E) with a positive capacity c e on every edge, and a list of vertex pairs, {(s 1, t 1 ), …, (s k, t k )}, find a minimum weight set of edges separating each pair of vertices in the list. –e st denotes the edge st. Vertex pairs ={(a, f), (c, f), (h, d)} Multicut = {e ah, e bf, e ef } a h g c d f e b 5 7 1 1 2 3 1 2 1 a h g c d f e b 5 7 1 1 2 3 1 2 1

3
3 The minimum multicut problem is NP-hard even if it is restricted to trees of height 1 and unit capacity edges. This paper deals with undirected trees. – denotes the unique path between s i and t i in the tree. vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f r jf h i agde bc 4 4 33 4 2 1 1 1 1

4
4 Since the minimum multicut problem is NP-hard, we have to find an approximation algorithm for it. This paper used the primal-dual approach. But we found that we could give the algorithm without mentioning the primal-dual approach which is quite hard to understand and confusing.

5
5 For this problem, we can compute a lower bound of our solutions immediately. This lower bound is obtained by reducing the cost of each edge in the path and there will be at least one zero cost in every path. Let. We observe that is a lower bound of cutting the path. –For example, f ac = min{4, 2, 1} =1 which is a lower bound of cutting p ac. c e = c e -,. Let Q be the set of edges whose cost, c e, becomes zero in this step. h ag bc 4 2 1 1

6
6 For example –f ac =min{4, 2, 1}=1, the lower bound for cutting the path p ac is 1. –Q={e gc } –f ab =min{3,1,1}=1, the lower bound for cutting the path p ab is 1. –f ac +f ab =2, the lower bound for cutting the path p ac and p ab is 2. –Q={e gc, e hg, e gb } h ag bc 4 2 1 1 vertex pairs ={(a, c), (a, b)} p ac = ahgc p ab = ahgb h ag bc 3 1 1 0 h ag bc 4-1 2-1 1 1-1 h ag bc 3 1 1 0 h ag bc 3-1 1-1 0 h ag bc 2 0 0 0

7
7 Because the graph is a tree, we may omit redundant edges from the multicut. When some pairs have the same least common ancestor, v, and the edges are the ancestor and the child in Q, the path passes through the child and the path must pass through the ancestor. We only retain the ancestor. Let frontier (v) = Q – the edge that is the descendant of other edges in Q. Claim The union of all frontiers is a multicut.

8
8 For example, pairs (a, c) and (a, b) have the same least common ancestor, h, and e hg is the ancestor of e gb and e gc. The edge e gb and e gc are omitted. frontier(h)={e hg }. 0 0 h ag bc 2 0 vertex pairs = {(a, c), (a, b)} p ac = ahgc p ab = ahgb Q={e gc, e hg, e gb } frontier(h)={e hg }

9
9 We move down the tree one level at a time and join frontiers to build the multicut. Considering vertex v, we include an edge only if no edge along the path from e to v is already included in the multicut. Let M be the set of edges picked. For example, suppose that M={e fg } and consider frontier(f), e fg is in the path from e gd to f, e gd is not picked to M. Lemma M is a multicut. vertex pairs = {(b, d),(a, c)} p bd = bfgd p ac = aefgc frontier(e) = {e fg } M = {e fg } frontier(f) = {e gd } e af bg cd 0 0 2 1 2 2

10
10 Algorithm multicut_integral-flow(r) Input : a tree T = (V, E) with a positive capacity c e on every edge, and a list of vertex pairs, {(s 1, t 1 ), …, (s k, t k )}. 1.for current_level = max_level downto 0 do for all current_level do 1.1 for each pair (s i, t i ) such that its least common ancestor is at v do denotes the unique path between s i and t i in the tree. = min{ c e },. c e = c e -,. 1.2 Let Q be the set of edges such that c i =0 in this step. frontier (v) = Q – the edge that is the descendant of other edges in Q. 2. 2.1 2.2 for current_level = 0 to max_level do for all current_level do for all do If no edge is on the path from e to v then 3. return (Multicut, F)

11
11 1 33 2 1 Example vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f r jf h i agde bc 4 4 4 1 1 Pass 1.1 The first node which is a least common ancestor of some vertex pair is j. j = lca(b, e) f be = min{1, 2, 3, 3, 1}=1 Subtract 1 from all edges in p be.

12
12 Pass 1.1 Consider the pair (c, d) whose lca is j. j = lca(c, d) f cd = min{1, 1, 2, 2, 1}=1 Subtract 1 from all edges in p cd. The lower bound of cutting the paths p be and p cd is f be + f cd =2. 1 0 22 1 0 Example r jf h i agde bc 4 4 41 f be = 1 f cd = 1 vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f

13
13 0 0 0 11 0 0 Example r jf h i agde bc 4 4 4 vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f Pass 1.2 Let Q be the set of edges such that c i =0. Q = {e gb, e ie, e hg, e gc, e id }. Pairs (b,e) and (c,d) have the same least common ancestor, j, and e hg is the ancestor of e gb and e gc in Q. e gb and e gc are not added to frontier(j). frontier(j) = Q - {e gb, e gc } = {e ie, e hg, e id }. f be = 1 f cd = 1

14
14 4 4 4 0 0 0 11 0 0 Example r jf h i agde bc vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f Pass 1.1 Consider the pair (a, f) whose lca is r. r = lca(a, f) f af = min {4, 1, 4, 4}=1 Minus 1 from all edges in p af. The lower bound of cutting the path p be, p cd and p af is f be + f cd + f af =3. f be = 1 f cd = 1 f af = 1 frontier(j)={e ie, e hg, e id }

15
15 3 3 3 0 0 0 10 0 0 Example r jf h i agde bc vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f Pass 1.2 In this step, Q = {e jh } and frontier(j) = Q - { } = {e jh }. frontier(j)={e ie, e hg, e id } frontier(r)={e jh }.

16
16 3 3 3 0 0 0 10 0 0 Example r jf h i agde bc vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f Pass 2. Consider the vertex up to down to build the multicut. Multicut = { }. The first node of least common ancestor is r. frontier(r) = {e jh }. We check e jh. No edge in Multicut is on the path from e jh to r, e jh is included in Multicut. Multicut = {e jh }. frontier(j)={e ie, e hg, e id } frontier(r)={e jh }

17
17 3 3 3 0 0 0 10 0 0 Example r jf h i agde bc vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f Pass 2. Consider the node j. frontier(j) = {e ie, e hg, e id }. Check e ie. No edge in Multicut is on the path from e ie to j, e ie is included in Multicut. Multicut = {e jh, e ie }. Check e hg. e jh along the path from e hg to j is already included in Multicut, e hg is not selected. Multicut = {e jh, e ie }. x

18
18 3 3 3 0 0 0 10 0 0 Example r jf h i agde bc vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f Pass 2. Continue to consider the node j. frontier(j) = {e ie, e hg, e id }. Check e id. No edge in Multicut is on the path from e id to j, e id is included in Multicut. Multicut = {e jh, e ie, e id }. Cost of Multicut = 3+1+1 = 5. The optimal solution is actually e jh where cost is 3.

19
19 Lemma Let s i -t i be a path and let v be the least common ancestor of s i, t i. Then Multucut contains at most one edge from the path s i -v and one edge from the path t i - v. Whenever an edge e is chosen, its cost must be a summation of s. That is, for every c e in Multicut. v sisi titi

20
20 The cost of Multicut is, then, where l=|Multicut|. Thus,. From the algorithm, every corresponds to a path. From Lemma 1, we know that for every path, only two edges of this path can be chosen.

21
21 Thus, the cost of every edge of path which is chosen contains only one. Finally, only two s appear in. Thus,. Therefore the cost of Multicut is at most.

22
22 The algorithm achieves approximation guarantees of factor 2 for the minimum multicut problem on tree.

23
23 This paper interpreted the dual program as specifying a multicommodity flow in T, with a separate commodity corresponding to each vertex pair (s i, t i ). will denote the amount of this commodity routed along the unique path from s i to t i. For example: vertex pairs ={(b, e), (c, d), (a, f)} p be = bghj i e p cd = cghj i d p af = ahjr f 2 1 1 1 4 4 4 3 r jf h i agde bc 3 1

24
24 Let the value of which gets from the algorithm be the solution of the maximum integer multicommodity flow problem. The algorithm achieves approximation guarantees of factor 1/2 for the maximum integer multicommodity flow problem on trees.

25
25 Theorem The algorithm achieves approximation guarantees of factor 2 for the minimum multicut problem and factor 1/2 for the maximum integer multicommodity flow problem on trees.

26
26 Reference [ALMSS92] Proof verification and the hardness of approximation problems, Arora, S., Lund, C., Motwani, R., Sudan, M. and Szegedy, M., Proceedings, 33rd IEEE Symposium on Foundations of Computer Science, 1992, p.p. 14-23. [BE81] A linear time approximation algorithm for the weighted vertex cover problem, Bar-Yehuda, R. and Even, S., J. Algorithms, Vol. 2., 1981, p.p. 198-203. [BGLR93] Efficient probabilistically checkable proofs and applications to approximation, Bellare, M., Goldwasser, S., Lund, C. and Russel, A., Proceedings 25th Annual ACM Symposium on Theory of Computing, 1993, p.p. 294-305. [B76] Graph and Hypergraphs, Berge, C., North-Holland, Amsterdam, 1976. [BW88] An almost linear time algorithm for graph realization, Bixby, R. E. and Wagner, D. K., Math. Oper. Res., Vol. 13, 1988, p.p. 99-123. [C77] Solution of a problem of multicommodity flows in a network (in Russian), Cherkasskij, B. V., Mat. Metody, Vol. 13, 1977, p.p. 143-151. [CR91] On the multiway cut polyhedron, Chopra, S. and Rao, M. R., Networks, Vol. 21, 1991, p.p. 51-89. [DJPSY94] The complexity of multiterminal cuts, Dahlhaus, E., Johnson, D. S., Papadimitriou, C. H., Seymour, P. D. and Yannakakis, M., SIAM J. comput., Vol. 23, 1994, p.p. 864-894. [EIS76] On the complexity of timetable and multicommodity flow problems, Even, S., Itai, A. and Shamir, A., SIAM J. Comput., Vol. 5, 1976, p.p. 691-703. [F91] Packing paths, circuits and cuts-a survey, Frank, A., Algorithms and Combinatorics, Vol. 9, 1991. [G83] An efficient reduction technique for degree-constrained subgraph and bidirected network flow problem, Gabow, H. N., Proceedings, 15th Annual ACM Symposium on Teory of Computing, 1983, p. p. 448-456. [GVY93] Approximate max-flow min-(multi)cut theorems and their applications, Garg, N., Vazirani, V. V. and Yannakakis, M., Proceddings, 25th Annual ACM Symposium on Theory of computing, 1993, p. p. 689-707. [GVY94] Approximation algorithm for multiway cuts in node-weighted and directed graphs, Garg, N., Vazirani, V. V. and Yannakakis, M., Proceedings 21st International Colloquium on Automata, Languages and Programming, 1994, p. p., 487- 498. [GW92] A general approximation technique for constrained forest problems, Goemans, M. X. and Williamson, D. P., SIAM J. comput., Vol. 24, 1995, p. p. 296-317. [GW95] The primal-dual method for approximation algorithms and its application to network design problems. Goemans, M. X. and Williamson, D. P., Approximation Algorithms for NP-hard Problems, 1995, P. P. 144-191.

27
27 Reference [GLS88] Geometric Algorithms and Combinatorial Optimization, Grotschel, M., Lovasz, L. and Schrijver, A., Spring-Verlag, Berlin, 1988. [H69] Integer Programming and Network Flows, Hu, T. C., Addison-Wesley, Reading, Ma, 1969. [K92] On the approximability of NP-complete optimization problems, Kann, V., Th. D. Thesis, Royal Institute of Technology, Stockholm, 1992. [KARR90] Approximation through multicommodity flow, Klein, P., Agrawal, A. and Rao, S., Proceedings 31st IEEE Symposium on Foundations of Computer Science, 1990, p. p. 726-737. [KP20] Tight integral duality gap in the Chinese postman problem, Korach, E. and Penn, M., Computer Science Department, Israel Institute of Technology, Haifa, 1989. [L76] On some connectivity properties of eulerian graphs, Lovasz,. L., Acta Math,. Akad. Sci. Hungar., Vol. 28, 1976, p. p. 129-138. [LR88] An approximate max-flow min-cut theorm for uniform multicommodity flow problem with application to approximation algorithm, Leighton, F. T. and Rao, S., Proceedings 29th Symposium on Foundations of computer Science, 1988, p. p. 422-431. [LY93] On the hardness of approximating minimization problems, Lund, C. and Yannakakis, M., J. Assoc. comput. Mach., Vol. 41, No. 5, 1994, p. p. 960-981. [M78] Uber die maximalzahl kantendisjunkter a-wege, Mader, W., Arch. Math., Vol. 30, 1978, p. p. 325-336. [PY91] Optimization approximation and complexiyt classes, Papadimitriou, C. H. and Yannakakis, M., J. Comput, System sci,., Vol. 43, 1991, p. p. 425-440. [RS95] Graph minors XIII: The disjoint path problem, Rabertson, N. and Seymour, P. D., J. Combin. Theory Ser. B, Vol. 63, 1995, p. p. 65-110. [SS93] Integer multicommodity flows with reduced demands, Srivastav, A. and Stangier, P., Proceedings European Symposium on algorithms, 1993, p. p. 360-372. [T60] An algorithm for determining whether a given binary matroid is graphic, Tutte, W. T., Proc. Amer. Math. Soc. Vol. 11, 1960, p. p. 905-917. [WGMV93] A primal-dual approximation algorithm for generalized steiner network problems, Williamson, D. P., Goemans, M. X., Mihail, M. and Vazirani, V. V., Proceedings, 25th Annual ACM symposium on Theory of Computing, 1993, p. p. 708-717. [YKCP83] Cutting and partitioning a graph after a fixed pattern, Yannakakis, M., Kanellakis, P. C., Cosmadakis, S. C. and Papadimitriou, C. H., In Automata, Languages and Programming, Vol. 154, 1983, p. p. 712-722.

28
28 Thank you.

Similar presentations

OK

Bart Jansen 1. Problem definition Instance: Connected graph G, positive integer k Question: Is there a spanning tree for G with at least k leaves?

Bart Jansen 1. Problem definition Instance: Connected graph G, positive integer k Question: Is there a spanning tree for G with at least k leaves?

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google