Directed Steiner Tree and the Lasserre Hierarchy
Thomas Rothvoß
Department of Mathematics, M.I.T.
Directed Steiner Tree and the Lasserre Hierarchy Thomas Rothvo - - PowerPoint PPT Presentation
Directed Steiner Tree and the Lasserre Hierarchy Thomas Rothvo Department of Mathematics, M.I.T. Directed Steiner Tree r 4 7 9 8 6 4 8 7 Directed Steiner Tree Input: directed weighted graph G = ( V, E, c ) r 3 2 4 7 3 5 2
Department of Mathematics, M.I.T.
r 4 8 9 7 6 7 4 8
Input:
◮ directed weighted graph G = (V, E, c)
r 4 8 9 7 6 7 4 8 3 2 3 5 2 2 1 1
Input:
◮ directed weighted graph G = (V, E, c) ◮ root r ∈ V
r 4 8 9 7 6 7 4 8 3 2 3 5 2 2 1 1 root
Input:
◮ directed weighted graph G = (V, E, c) ◮ root r ∈ V , terminals X
r 4 8 9 7 6 7 4 8 3 2 3 5 2 2 1 1 terminals
Input:
◮ directed weighted graph G = (V, E, c) ◮ root r ∈ V , terminals X
Find: Tree T connecting r and X, minimizing c(T) r 4 8 9 7 6 7 4 8 3 2 3 5 2 2 1 1
Input:
◮ directed weighted graph G = (V, E, c) ◮ root r ∈ V , terminals X
Find: Tree T connecting r and X, minimizing c(T) r 4 8 9 7 6 7 4 8 3 2 3 5 2 2 1 1
◮ W.l.o.g. G is acyclic
Input:
◮ directed weighted graph G = (V, E, c) ◮ root r ∈ V , terminals X
Find: Tree T connecting r and X, minimizing c(T) layer ℓ
layer 1 layer 0 r 4 8 9 7 6 7 4 8 3 2 3 5 2 2 1 1
◮ W.l.o.g. G is acyclic ◮ Modulo O(log |X|) factor, may assume ℓ = log |X| levels
(∃ℓ-level tree of cost ℓ · |X|1/ℓ · OPT [Zelikovsky ’97])
Generalizes:
◮ Set Cover ◮ (Non-metric / Multi-level) Facility Location ◮ Group Steiner Tree
Generalizes:
◮ Set Cover ◮ (Non-metric / Multi-level) Facility Location ◮ Group Steiner Tree
Known results:
◮ Ω(log2−ε n)-hard [Halperin, Krauthgamer ’03]
Generalizes:
◮ Set Cover ◮ (Non-metric / Multi-level) Facility Location ◮ Group Steiner Tree
Known results:
◮ Ω(log2−ε n)-hard [Halperin, Krauthgamer ’03] ◮ |X|ε-apx in polytime (for any ε > 0)
→ sophisticated greedy algo [Zelikovsky ’97]
Generalizes:
◮ Set Cover ◮ (Non-metric / Multi-level) Facility Location ◮ Group Steiner Tree
Known results:
◮ Ω(log2−ε n)-hard [Halperin, Krauthgamer ’03] ◮ |X|ε-apx in polytime (for any ε > 0)
→ sophisticated greedy algo [Zelikovsky ’97]
◮ O(log3 |X|)-apx in nO(log |X|) time
→ (more) sophisticated greedy algo [Charikar, Chekuri, Cheung, Goel, Guha and Li ’99]
Generalizes:
◮ Set Cover ◮ (Non-metric / Multi-level) Facility Location ◮ Group Steiner Tree
Known results:
◮ Ω(log2−ε n)-hard [Halperin, Krauthgamer ’03] ◮ |X|ε-apx in polytime (for any ε > 0)
→ sophisticated greedy algo [Zelikovsky ’97]
◮ O(log3 |X|)-apx in nO(log |X|) time
→ (more) sophisticated greedy algo [Charikar, Chekuri, Cheung, Goel, Guha and Li ’99]
Variables:
◮ ye = “use edge e?” ◮ fs,e = “r-s flow uses e?”
r Constraints: min
ceye
fs,e −
fs,e = 1 v = r −1 v = s
∀s ∈ X ∀v ∈ V fs,e ≤ ye ∀s ∈ X ∀e ∈ E y(δ−(v)) ≤ 1 ∀v ∈ V 0 ≤ ye ≤ 1 ∀e ∈ E 0 ≤ fs,e ≤ 1 ∀s ∈ X ∀e ∈ E
Variables:
◮ ye = “use edge e?” ◮ fs,e = “r-s flow uses e?”
r 1/2 1/2 1/2 1/2 Constraints: min
ceye
fs,e −
fs,e = 1 v = r −1 v = s
∀s ∈ X ∀v ∈ V fs,e ≤ ye ∀s ∈ X ∀e ∈ E y(δ−(v)) ≤ 1 ∀v ∈ V 0 ≤ ye ≤ 1 ∀e ∈ E 0 ≤ fs,e ≤ 1 ∀s ∈ X ∀e ∈ E
Variables:
◮ ye = “use edge e?” ◮ fs,e = “r-s flow uses e?”
r 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 Constraints: min
ceye
fs,e −
fs,e = 1 v = r −1 v = s
∀s ∈ X ∀v ∈ V fs,e ≤ ye ∀s ∈ X ∀e ∈ E y(δ−(v)) ≤ 1 ∀v ∈ V 0 ≤ ye ≤ 1 ∀e ∈ E 0 ≤ fs,e ≤ 1 ∀s ∈ X ∀e ∈ E
Variables:
◮ ye = “use edge e?” ◮ fs,e = “r-s flow uses e?”
r 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 Constraints: min
ceye
fs,e −
fs,e = 1 v = r −1 v = s
∀s ∈ X ∀v ∈ V fs,e ≤ ye ∀s ∈ X ∀e ∈ E y(δ−(v)) ≤ 1 ∀v ∈ V 0 ≤ ye ≤ 1 ∀e ∈ E 0 ≤ fs,e ≤ 1 ∀s ∈ X ∀e ∈ E
Variables:
◮ ye = “use edge e?” ◮ fs,e = “r-s flow uses e?”
r 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 Constraints: min
ceye
fs,e −
fs,e = 1 v = r −1 v = s
∀s ∈ X ∀v ∈ V fs,e ≤ ye ∀s ∈ X ∀e ∈ E y(δ−(v)) ≤ 1 ∀v ∈ V 0 ≤ ye ≤ 1 ∀e ∈ E 0 ≤ fs,e ≤ 1 ∀s ∈ X ∀e ∈ E
r i if i ∈ S′ if S ⊆ S′
|S′| = √ k + 1
cS′
|S′| = √ k + 1
bS′
|S| = √ k
aS k terminals cost 0 cost √ k cost 0 cost k
◮ Integrality gap is Ω(
√ k) already for 5 layers. (though n = 2˜
Θ( √ k); no ω(log2 n) gap instance known)
r i if i ∈ S′ if S ⊆ S′
|S′| = √ k + 1
cS′
|S′| = √ k + 1
bS′
|S| = √ k
aS k terminals cost 0 cost √ k cost 0 cost k
◮ Integrality gap is Ω(
√ k) already for 5 layers. (though n = 2˜
Θ( √ k); no ω(log2 n) gap instance known)
r i if i ∈ S′ if S ⊆ S′
|S′| = √ k + 1
cS′
|S′| = √ k + 1
bS′
|S| = √ k
aS k terminals cost 0 cost √ k cost 0 cost k
◮ Integrality gap is Ω(
√ k) already for 5 layers. (though n = 2˜
Θ( √ k); no ω(log2 n) gap instance known)
r i if i ∈ S′ if S ⊆ S′
|S′| = √ k + 1
cS′
|S′| = √ k + 1
bS′
|S| = √ k
aS k terminals cost 0 cost √ k cost 0 cost k
◮ Integrality gap is Ω(
√ k) already for 5 layers. (though n = 2˜
Θ( √ k); no ω(log2 n) gap instance known)
◮ Given: K = {x ∈ Rn | Ax ≥ b}.
◮ Given: K = {x ∈ Rn | Ax ≥ b}. ◮ Introduce variables yI ≡ i∈I(xi = 1) for I ⊆ {1, . . . , n}
with |I| ≤ 2t + 2
◮ Given: K = {x ∈ Rn | Ax ≥ b}. ◮ Introduce variables yI ≡ i∈I(xi = 1) for I ⊆ {1, . . . , n}
with |I| ≤ 2t + 2
(yI∪J)|I|,|J|≤t+1
AℓiyI∪J∪{i} − bℓyI∪J
y∅ = 1
Let K = {x ∈ Rn | Ax ≥ b}; y ∈ Last(K); |I|, |J| ≤ t y Last 1 y{i} R( [n]
2t+2)
Let K = {x ∈ Rn | Ax ≥ b}; y ∈ Last(K); |I|, |J| ≤ t y Last
b b
z{i} = 0 z z′ z′
{i} = 1
Last−1 1 y{i} R( [n]
2t+2)
Let K = {x ∈ Rn | Ax ≥ b}; y ∈ Last(K); |I|, |J| ≤ t (a) Local consistency: y ∈ conv{z ∈ Last−|I|(K) | z{i} ∈ {0, 1} ∀i ∈ I} y Last
b b
z{i} = 0 z z′ z′
{i} = 1
Last−1 1 y{i} R( [n]
2t+2)
Let K = {x ∈ Rn | Ax ≥ b}; y ∈ Last(K); |I|, |J| ≤ t (a) Local consistency: y ∈ conv{z ∈ Last−|I|(K) | z{i} ∈ {0, 1} ∀i ∈ I} (b) Decomposition: [Karlin-Mathieu-Nguyen ’11] Let S ⊆ [n]; k := max{|I| : I ⊆ S; x ∈ K; xi = 1 ∀i ∈ I} ≤ t. Then y ∈ conv{z ∈ Last−k(K) | z{i} ∈ {0, 1} ∀i ∈ S}. y Last
b b
z{i} = 0 z z′ z′
{i} = 1
Last−1 1 y{i} R( [n]
2t+2)
Let K = {x ∈ Rn | Ax ≥ b}; y ∈ Last(K); |I|, |J| ≤ t (a) Local consistency: y ∈ conv{z ∈ Last−|I|(K) | z{i} ∈ {0, 1} ∀i ∈ I} (b) Decomposition: [Karlin-Mathieu-Nguyen ’11] Let S ⊆ [n]; k := max{|I| : I ⊆ S; x ∈ K; xi = 1 ∀i ∈ I} ≤ t. Then y ∈ conv{z ∈ Last−k(K) | z{i} ∈ {0, 1} ∀i ∈ S}.
◮ Example: For Knapsack take S := {large items}
Let K = {x ∈ Rn | Ax ≥ b}; y ∈ Last(K); |I|, |J| ≤ t (a) Local consistency: y ∈ conv{z ∈ Last−|I|(K) | z{i} ∈ {0, 1} ∀i ∈ I} (b) Decomposition: [Karlin-Mathieu-Nguyen ’11] Let S ⊆ [n]; k := max{|I| : I ⊆ S; x ∈ K; xi = 1 ∀i ∈ I} ≤ t. Then y ∈ conv{z ∈ Last−k(K) | z{i} ∈ {0, 1} ∀i ∈ S}.
◮ Example: For Knapsack take S := {large items} ◮ Decomposition not true for Sherali-Adams or
Lov´ asz-Schrijver hierarchies
Let K = {x ∈ Rn | Ax ≥ b}; y ∈ Last(K); |I|, |J| ≤ t (a) Local consistency: y ∈ conv{z ∈ Last−|I|(K) | z{i} ∈ {0, 1} ∀i ∈ I} (b) Decomposition: [Karlin-Mathieu-Nguyen ’11] Let S ⊆ [n]; k := max{|I| : I ⊆ S; x ∈ K; xi = 1 ∀i ∈ I} ≤ t. Then y ∈ conv{z ∈ Last−k(K) | z{i} ∈ {0, 1} ∀i ∈ S}. (c) Convergence: conv(K ∩ {0, 1}n) = Lasproj
n
(K) (d) Monotonicity: I ⊇ J = ⇒ 0 ≤ yI ≤ yJ ≤ 1 (e) yI = 1 ⇐ ⇒
i∈I(y{i} = 1).
(f) (∀i ∈ I : y{i} ∈ {0, 1}) = ⇒ yI =
i∈I y{i}.
(g) yI = 1 = ⇒ yI∪J = yJ.
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
◮ Garg-Konjevod-Ravi rounding:
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
◮ Garg-Konjevod-Ravi rounding:
Input: Group Steiner Tree instance
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
◮ Garg-Konjevod-Ravi rounding:
Input: Group Steiner Tree instance tree embedding
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
◮ Garg-Konjevod-Ravi rounding:
Input: Group Steiner Tree instance tree embedding LP-rounding on tree graph
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
◮ Garg-Konjevod-Ravi rounding:
Input: Group Steiner Tree instance tree embedding LP-rounding on tree graph D i r e c t e d
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
◮ Garg-Konjevod-Ravi rounding:
Input: Group Steiner Tree instance tree embedding LP-rounding on tree graph D i r e c t e d O ( ℓ ) r
n d s
L a s s e r r e
The integrality gap of an O(ℓ)-round Lasserre solution for an ℓ-level Directed Steiner Tree instance is O(ℓ log |X|).
◮ Recall: gap is Ω(
◮ This gives an O(log3 |X|)-apx in nO(log |X|) time (matching
the greedy algo of [Charikar et al. ’99])
◮ Garg-Konjevod-Ravi rounding:
Input: Group Steiner Tree instance tree embedding LP-rounding on tree graph D i r e c t e d O ( ℓ ) r
n d s
L a s s e r r e w i t h yI v a r i a b l e s
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add {e}] = y{e}
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add {e}] = y{e}
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add {e}] = y{e}
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add {e}] = y{e}
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add {e}] = y{e}
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r e Pr[add P ∪ {e}] =
yP ∪{e} yP
P
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r e Pr[add P ∪ {e}] =
yP ∪{e} yP
P
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r e Pr[add P ∪ {e}] =
yP ∪{e} yP
P
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r Pr[add P ∪ {e}] =
yP ∪{e} yP
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r T = sampled paths
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r T = sampled paths
◮ Show Pr[e ∈ T] = y{e}
◮ Let Y ∈ LasO(ℓ)(LP) (yP value for {ye | e ∈ P}-variables)
(1) T := {∅} (2) FOR all P ∈ T and incident e ∈ E DO
(3) Pr[add P ∪ {e} to T] = yP ∪{e} yP
r T = sampled paths
◮ Show Pr[e ∈ T] = y{e} ◮ Pr[s connected] ≥ Ω( 1 #levels) for each terminal s
For any root-path P: Pr[P ∈ T] = yP . Pr[P ∈ T] = y{e1} · y{e1,e2} y{e1} · y{e1,e2,e3} y{e1,e2} · . . . · yP yP\{ej} = yP . r
yP ≤ y{e} r u
yP ≤ y{e}
◮ It suffices to consider case y{e} ∈ {0, 1} (costs 1 level).
r u
Y Last
b b
y′
{e} = 0
Y ′ Y ′′ y′′
{e} = 1
Last−1 1 y{e} R( [n]
2t+2)
yP ≤ y{e}
◮ It suffices to consider case y{e} ∈ {0, 1} (costs 1 level).
r u
y{e} = 1
yP ≤ y{e}
◮ It suffices to consider case y{e} ∈ {0, 1} (costs 1 level).
r u
y{e} = 1
y{e′} ≤ 1
yP ≤ y{e}
◮ It suffices to consider case y{e} ∈ {0, 1} (costs 1 level). ◮ By induction P ending in e′ yP ≤ y{e′}
r u
y{e} = 1
y{e′} ≤ 1
yP ≤ y{e}
◮ It suffices to consider case y{e} ∈ {0, 1} (costs 1 level). ◮ By induction P ending in e′ yP ≤ y{e′} ◮ Since y{e} = 1 =
⇒ yP∪{e} = yP ,
yP =
yP ≤ 1 r u
y{e} = 1
y{e′} ≤ 1
yP ≤ y{e}
◮ It suffices to consider case y{e} ∈ {0, 1} (costs 1 level). ◮ By induction P ending in e′ yP ≤ y{e′} ◮ Since y{e} = 1 =
⇒ yP∪{e} = yP ,
yP =
yP ≤ 1 r u
y{e} = 1
y{e′} ≤ 1
For terminal s:
For terminal s:
◮ No feasible frac. flow with |{e : fs,e = 1}| > ℓ
For terminal s:
◮ No feasible frac. flow with |{e : fs,e = 1}| > ℓ ◮ Decomposition: Write sol. as convex comb. of sol. that
For terminal s:
◮ No feasible frac. flow with |{e : fs,e = 1}| > ℓ ◮ Decomposition: Write sol. as convex comb. of sol. that
◮ Suffices to show claim if fs,e ∈ {0, 1} ∀e ∈ E
For terminal s:
◮ No feasible frac. flow with |{e : fs,e = 1}| > ℓ ◮ Decomposition: Write sol. as convex comb. of sol. that
◮ Suffices to show claim if fs,e ∈ {0, 1} ∀e ∈ E
For terminal s:
◮ No feasible frac. flow with |{e : fs,e = 1}| > ℓ ◮ Decomposition: Write sol. as convex comb. of sol. that
◮ Suffices to show claim if fs,e ∈ {0, 1} ∀e ∈ E ◮ Use LP-constraint: “Incoming capacity ≤ 1”
For terminal s:
◮ No feasible frac. flow with |{e : fs,e = 1}| > ℓ ◮ Decomposition: Write sol. as convex comb. of sol. that
◮ Suffices to show claim if fs,e ∈ {0, 1} ∀e ∈ E ◮ Use LP-constraint: “Incoming capacity ≤ 1”
◮ E[Z | Z ≥ 1] ≤ E[Z | P ∈ T] for some P
◮ E[Z | Z ≥ 1] ≤ E[Z | P ∈ T] for some P
◮ E[Z | Z ≥ 1] ≤ E[Z | P ∈ T] for some P ◮ Suffices to prove E[#S : S ⊇ Q, s ∈ S | Q ∈ T] ≤ 1.
◮ E[Z | Z ≥ 1] ≤ E[Z | P ∈ T] for some P ◮ Suffices to prove E[#S : S ⊇ Q, s ∈ S | Q ∈ T] ≤ 1.
as in previous lemma
◮ Recall: Z = #paths connecting a fixed terminal s
1 ℓ+1.
◮ Recall: Z = #paths connecting a fixed terminal s
1 ℓ+1.
◮ Recall: Z = #paths connecting a fixed terminal s
1 ℓ+1.
◮ has polylog(|X|) integrality gap ◮ can be solved in polytime?
◮ has polylog(|X|) integrality gap ◮ can be solved in polytime?