Advisor: R. C. T. Lee Speaker: F. L. Lin National Chi Nan University
description
Transcript of Advisor: R. C. T. Lee Speaker: F. L. Lin National Chi Nan University
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
Minimum Multicut Problem
Given a graph G=(V, E) with a positive capacity ce on every edge , and a list of vertex pairs, {(s1, t1), …, (sk, tk)}, find a minimum weight set of edges separating each pair of vertices in the list.
– est denotes the edge st.
Ee
Vertex pairs ={(a, f), (c, f), (h, d)}
Multicut = {eah, ebf, eef}
a
h
g
c
d
f
e
b5
7
1
12
3
1 2
1a
h
g
c
d
f
e
b5
7
1
12
3
1 2
1
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 si and ti in the tree.
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
r
j f
h i
a g d e
b c
4 4
3 3
4 2
1 1
1 1
iitsp
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
• 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, fac = min{4, 2, 1} =1 which is a lower bound
of cutting pac.
• ce = ce - , .
• Let Q be the set of edges whose
cost, ce, becomes zero in this step.
iitsp
iitsf
iitsp
h
a g
b c
4 2
1 1
iiii tsets pecf ,min
iitsf iitspe
6
• For example– fac=min{4, 2, 1}=1, the lower bound for cutting the path pac is 1.
– Q={egc}
– fab=min{3,1,1}=1, the lower bound for cutting the path pab is 1.
– fac+fab=2, the lower bound for cutting the path pac and pab is 2.
– Q={egc, ehg, egb}
h
a g
b c
4 2
1 1
vertex pairs ={(a, c), (a, b)}pac= a→h→g→cpab= a→h→g→b
h
a g
b c
3 1
1 0
h
a g
b c
4-1 2-1
1 1-1
h
a g
b c
3 1
1 0
h
a g
b c
3-1 1-1
1-1 0
h
a g
b c
2 0
0 0
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
• For example, pairs (a, c) and (a, b) have the same least common ancestor, h, and ehg is the ancestor of egb and egc. The edge egb and egc are omitted. frontier(h)={ehg}.
0
0h
a g
b c
2
0
vertex pairs = {(a, c), (a, b)}
pac= a→h→g→cpab= a→h→g→b
Q={egc, ehg, egb}
frontier(h)={ehg}
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={efg} and consider frontier(f), efg is in the path from egd to f, egd is not picked to M.
LemmaM is a multicut.
vfrontiere
vertex pairs = {(b, d),(a, c)}pbd= b→f→g→dpac= a→e→f→g→cfrontier(e) = {efg}M = {efg}frontier(f) = {egd}
e
a f
b g
c d
0
02
1
2 2
10
Algorithm multicut_integral-flow(r)
Input : a tree T = (V, E) with a positive capacity ce on every edge , and a list of vertex pairs, {(s1, t1), …, (sk, tk)}.
1. for current_level = max_level downto 0 dofor all current_level do
1.1 for each pair (si, ti) such that its least common ancestor is at v do
denotes the unique path between si and ti in the tree.
= min{ ce}, .
ce = ce- , .
1.2 Let Q be the set of edges such that ci=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 dofor all do If no edge is on the path from e to v then
3. return (Multicut, F)
v
v vfrontiere
iitsf iitspeiitsf
Ee
iitspeiitsp
Multicut
eMulticutMulticut
11
1
33
2
1
• Example
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
r
j f
h i
a g d e
b c
4 4
4
1
1
Pass 1.1The first node which is a least common ancestor of some vertex pair is j.j = lca(b, e)fbe = min{1, 2, 3, 3, 1}=1Subtract 1 from all edges in pbe.
12
Pass 1.1Consider the pair (c, d) whose lca is j.j = lca(c, d)fcd = min{1, 1, 2, 2, 1}=1Subtract 1 from all edges in pcd.The lower bound of cutting the paths pbe and pcd is fbe+ fcd=2.1
0
22
1
0
• Example
r
j f
h i
a g d e
b c
4 4
4 1
fbe = 1fcd = 1
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
13
0
0
0
11
0
0
• Example
r
j f
h i
a g d e
b c
4 4
4
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
Pass 1.2Let Q be the set of edges such that ci=0.Q = {egb, eie , ehg , egc , eid}.
Pairs (b,e) and (c,d) have the same least common ancestor, j, and ehg is the ancestor of egb and egc in Q. egb and egc are not added to frontier(j). frontier(j) = Q - {egb, egc} = {eie, ehg, eid}.
fbe = 1fcd = 1
14
4
4 4
0
0
0
11
0
0
• Example
r
j f
h i
a g d e
b c
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
Pass 1.1Consider the pair (a, f) whose lca is r. r = lca(a, f)faf = min {4, 1, 4, 4}=1Minus 1 from all edges in paf. The lower bound of cutting the path pbe, pcd and paf is fbe+ fcd + faf=3.
fbe = 1fcd = 1faf = 1frontier(j)={eie, ehg, eid}
15
3
3 3
0
0
0
10
0
0
• Example
r
j f
h i
a g d e
b c
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
Pass 1.2In this step, Q = {ejh} and frontier(j) = Q - { } = {ejh}.
frontier(j)={eie, ehg, eid}frontier(r)={ejh}.
16
3
3 3
0
0
0
10
0
0
• Example
r
j f
h i
a g d e
b c
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →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) = {ejh}.
We check ejh. No edge in Multicut is on the path from ejh to r, ejh is included in Multicut.
Multicut = {ejh}.
frontier(j)={eie, ehg, eid}frontier(r)={ejh}
17
3
3 3
0
0
0
10
0
0
• Example
r
j f
h i
a g d e
b c
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
Pass 2.
Consider the node j.
frontier(j) = {eie, ehg, eid}.
Check eie. No edge in Multicut is on the path from eie to j, eie is included in Multicut.
Multicut = {ejh, eie}.
Check ehg. ejh along the path from ehg to j is already included in Multicut, ehg is not selected.
Multicut = {ejh, eie}.
x
18
3
3 3
0
0
0
10
0
0
• Example
r
j f
h i
a g d e
b c
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
Pass 2.
Continue to consider the node j.
frontier(j) = {eie, ehg, eid}.
Check eid. No edge in Multicut is on the path from eid to j, eid is included in Multicut.
Multicut = {ejh, eie, eid}.
Cost of Multicut = 3+1+1 = 5.
The optimal solution is actually ejh where cost is 3.
19
Lemma
Let si-ti be a path and let v be the least common ancestor of si, ti. Then Multucut contains at most one edge from the path si-v and one edge from the path ti-v.
• Whenever an edge e is chosen, its cost must be a summation of ’s. That is, for every ce in Multicut.
itis
iipei
tse fc:
iitsf
v
si ti
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.
Multicute
ec
itisl
ii
itis
ii
itis
iipei
tspei
tspei
tsMulticute
e fffc:::
...21
kk tsktstsMulticute
e fafafac
...2211 21
iitsf
iitsp
iitsp
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 .
Multicutlffffcitis
ii
itisl
ii
itis
ii
itis
iipi
tspei
tspei
tspei
tsMulticute
e
,2...::: 21
k
i ts iif
12
iitsp
iitsf
iitsf Multicute
ec
.1 ,2 kiai
22
•
•
• The algorithm achieves approximation guarantees of factor 2 for the minimum multicut problem on tree.
. 1
optimalfk
i ts ii
.221
optimalfck
its
Multicutee ii
23
• This paper interpreted the dual program as specifying a multicommodity flow in T, with a separate commodity corresponding to each vertex pair (si, ti).
• will denote the amount of this commodity routed along the unique path from si to ti.
• For example:
vertex pairs ={(b, e), (c, d), (a, f)}pbe= b→g→h→j →i →epcd= c→g→h→j →i →dpaf= a→h→j→r →f
2
1
1
1
4
44
3
r
j f
h i
a g d e
b c
3
1
iitsf
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.
.21
k
i tsMe
e iifcoptimal
kifiits 1,
.2
11
k
i ts iifoptimal
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
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
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
Thank you.