Upload
others
View
14
Download
1
Embed Size (px)
Citation preview
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 1/44
The Primal-Dual Method for ApproximationAlgorithms
Jochen KönemannUniversity of Waterloo
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44
What is the primal-dual method?
■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44
What is the primal-dual method?
■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly
■ Method did not survive... but: Revised version of it hasbecome immensely popular for solving combinatorialoptimization problems.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44
What is the primal-dual method?
■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly
■ Method did not survive... but: Revised version of it hasbecome immensely popular for solving combinatorialoptimization problems.
Examples: Dijkstra’s shortest path algorithm, Ford andFulkerson’s network flow algorithm, Edmond’s non-bipartitematching method, Kuhn’s assignment algorithm, ...
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 2/44
What is the primal-dual method?
■ Originally proposed by Dantzig, Ford, and Fulkerson in 1956as an alternate method to solve linear programs exactly
■ Method did not survive... but: Revised version of it hasbecome immensely popular for solving combinatorialoptimization problems.
Examples: Dijkstra’s shortest path algorithm, Ford andFulkerson’s network flow algorithm, Edmond’s non-bipartitematching method, Kuhn’s assignment algorithm, ...
Main feature: Reduce weighted optimization problems toeasier unweighted ones.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 3/44
What is the primal-dual method?
■ All of the previous problems are in P. Can we extend thismethod to NP-hard problems?
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 3/44
What is the primal-dual method?
■ All of the previous problems are in P. Can we extend thismethod to NP-hard problems?
Yes! Bar-Yehuda and Even use this in 1981 in theirapproximation algorithm for vertex-cover.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 3/44
What is the primal-dual method?
■ All of the previous problems are in P. Can we extend thismethod to NP-hard problems?
Yes! Bar-Yehuda and Even use this in 1981 in theirapproximation algorithm for vertex-cover.
■ Goemans and Williamson formalize this approach in 1992.Result is a general toolkit for developing approximationalgorithms for NP-hard optimization problems.
■ The last 10 years have seen literally hundreds of papers thatuse the primal-dual framework.
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 4/44
Primal-Dual: First Steps
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 5/44
An example: Vertex Cover
■ Goal: Find a minimum subset of the vertices C such thate ∩ C 6= ∅ for all edges e.
■ Here’s a vertex cover of size 6.
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 5/44
An example: Vertex Cover
■ Goal: Find a minimum subset of the vertices C such thate ∩ C 6= ∅ for all edges e.
■ Here’s a vertex cover of size 6.
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44
An ILP for Vertex Cover
Variables:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44
An ILP for Vertex Cover
Variables: For node i have variable xi.Want
xi =
{
1 : Node i in vertex cover
0 : Otherwise.
Variables like this are called indicatorvariables.
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44
An ILP for Vertex Cover
Variables: For node i have variable xi.Want
xi =
{
1 : Node i in vertex cover
0 : Otherwise.
Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44
An ILP for Vertex Cover
Variables: For node i have variable xi.Want
xi =
{
1 : Node i in vertex cover
0 : Otherwise.
Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.Example: Edge (0, 5)
x0 + x5 ≥ 1
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44
An ILP for Vertex Cover
Variables: For node i have variable xi.Want
xi =
{
1 : Node i in vertex cover
0 : Otherwise.
Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.Example: Edge (0, 5)
x0 + x5 ≥ 1
Objective function: Minimize cardi-nality of vertex cover.
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 6/44
An ILP for Vertex Cover
Variables: For node i have variable xi.Want
xi =
{
1 : Node i in vertex cover
0 : Otherwise.
Variables like this are called indicatorvariables.Constraints: Each edge needs to becovered.Example: Edge (0, 5)
x0 + x5 ≥ 1
Objective function: Minimize cardi-nality of vertex cover.
minimize9
∑
j=0
xj
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 7/44
Primal ILP
minimize∑
v∈V
xv
s.t. xv + xu ≥ 1 ∀(u, v) ∈ E
xv ∈ {0, 1} ∀v ∈ V
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 8/44
Dual LP
Dual LP has a variable ye for each edge e ∈ E.
maximize∑
e∈E
ye
s.t.∑
e∈δ(v)
ye ≤ 1 ∀v ∈ V
ye ≥ 0 ∀e ∈ E
δ(v): Edges incident to vertex v ∈ V
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44
Primal-dual technique: Main Ideas
■ Construct integral primal and dual feasible solution at thesame time: x and y
■ Show that∑
j
xj ≤ α ·∑
i
yi
For some α.■ Prove a worst-case upper-bound on α.■ Result: For every instance we compute ...
1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best
possible solution
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44
Primal-dual technique: Main Ideas
■ Construct integral primal and dual feasible solution at thesame time: x and y
■ Show that∑
j
xj ≤ α ·∑
i
yi
For some α.
■ Prove a worst-case upper-bound on α.■ Result: For every instance we compute ...
1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best
possible solution
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44
Primal-dual technique: Main Ideas
■ Construct integral primal and dual feasible solution at thesame time: x and y
■ Show that∑
j
xj ≤ α ·∑
i
yi
For some α.■ Prove a worst-case upper-bound on α.
■ Result: For every instance we compute ...1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best
possible solution
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 9/44
Primal-dual technique: Main Ideas
■ Construct integral primal and dual feasible solution at thesame time: x and y
■ Show that∑
j
xj ≤ α ·∑
i
yi
For some α.■ Prove a worst-case upper-bound on α.■ Result: For every instance we compute ...
1. an integral and feasible primal solution x, and2. a proof that its value is within a factor of α of the best
possible solution
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 10/44
Vertex-cover: A PD-Algorithm
1: yuv ← 0 for all edges (u, v)2: C ← ∅3: while C is not a vertex cover do4: Choose uncovered edge (u, v)5: Increase yuv until
∑
z
ywz = 1
for z ∈ {u, v}6: C ← C ∪ {z}7: end while
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:Primal solution: 8Dual solution: 5
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:Primal solution: 8Dual solution: 5
Q: How bad can the primal/dual ratio be?
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 11/44
Petersen graph example
Primal solution:Dual solution:Primal solution: 8Dual solution: 5
Q: How bad can the primal/dual ratio be?
A: Not too bad. The primal solution has at most two verticesper dual edge. Hence, we always have
|C| ≤ 2 ·∑
e
ye
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 12/44
Approximation algorithms
■ The previous algorithm for vertex-cover is a 2-approximationalgorithm.We also say: Its performance guarantee is 2.
■ Formally: The algorithm return a solution that has size atmost twice the optimum for all instances!
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 12/44
Approximation algorithms
■ The previous algorithm for vertex-cover is a 2-approximationalgorithm.We also say: Its performance guarantee is 2.
■ Formally: The algorithm return a solution that has size atmost twice the optimum for all instances!
■ Q: Given a problem and an LP with LP/IP-gap α > 1.Can there be a primal-dual approximation algorithm usingthis LP with performance guarantee less than α?
● What is the primal-dual method?
Primal-Dual: First Steps
● An example: Vertex Cover
● An ILP for Vertex Cover
● Dual LP
● PD: Main Ideas
● Vertex-cover: A PD-Algorithm
● Petersen graph example
● Approximation algorithms
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 12/44
Approximation algorithms
■ The previous algorithm for vertex-cover is a 2-approximationalgorithm.We also say: Its performance guarantee is 2.
■ Formally: The algorithm return a solution that has size atmost twice the optimum for all instances!
■ Q: Given a problem and an LP with LP/IP-gap α > 1.Can there be a primal-dual approximation algorithm usingthis LP with performance guarantee less than α?A: No! Cannot find a good dual lower-bound for IP/LP-gapinstance.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 13/44
Primal-Dual: Hitting Sets
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44
How to hit sets...
Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets
Ti ⊆ E
for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.
H ∩ Ti 6= ∅
for all 1 ≤ i ≤ m.
Q: How can we formulate vertex-cover as a hitting-setproblem?Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44
How to hit sets...
Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets
Ti ⊆ E
for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.
H ∩ Ti 6= ∅
for all 1 ≤ i ≤ m.
Q: How can we formulate vertex-cover as a hitting-setproblem?
Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44
How to hit sets...
Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets
Ti ⊆ E
for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.
H ∩ Ti 6= ∅
for all 1 ≤ i ≤ m.
Q: How can we formulate vertex-cover as a hitting-setproblem?A: The ground-set E is the set of all vertices.Each edge (u, v) corresponds to a set {u, v} that needs to behit.
Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44
How to hit sets...
Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets
Ti ⊆ E
for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.
H ∩ Ti 6= ∅
for all 1 ≤ i ≤ m.
Q: How can we formulate vertex-cover as a hitting-setproblem?
Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 14/44
How to hit sets...
Let us define a general problem called Hitting Sets.■ Input: Ground set E and m subsets
Ti ⊆ E
for 1 ≤ i ≤ m. Also have cost ce for all e ∈ E.■ Goal: Find H ⊆ E of minimum total cost, s.t.
H ∩ Ti 6= ∅
for all 1 ≤ i ≤ m.
Q: How can we formulate vertex-cover as a hitting-setproblem?
Q: Give a hitting-set formulation for shortest s, t-path inundirected graphs!A: Ground set E is set of all edges. Sets to hit are all s, t-cuts.Convince yourself that the shortest s, t is the minimum-costsolution!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 15/44
Hitting Set: Primal and Dual
minimize∑
e∈E
ce · xe (P )
s.t.∑
e∈Ti
xe ≥ 1 ∀1 ≤ i ≤ m
xe ≥ 0 ∀e ∈ E
maximizem
∑
i=1
yi (D)
s.t.∑
Ti:e∈Ti
yi ≤ ce ∀e ∈ E
yi ≥ 0 ∀1 ≤ i ≤ m
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 16/44
Hitting Set: Primal-Dual algorithm
■ Want to use the LP formulation and its dual to develop aprimal-dual algorithm.
Ideas, suggestions, ... anybody?
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 16/44
Hitting Set: Primal-Dual algorithm
■ Want to use the LP formulation and its dual to develop aprimal-dual algorithm.
Ideas, suggestions, ... anybody?■ Recall from vertex-cover PD-algo:
Keep feasible dual solution y and include vertex v into coveronly if
∑
(u,v)
yuv = 1
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 16/44
Hitting Set: Primal-Dual algorithm
■ Want to use the LP formulation and its dual to develop aprimal-dual algorithm.
Ideas, suggestions, ... anybody?■ Recall from vertex-cover PD-algo:
Keep feasible dual solution y and include vertex v into coveronly if
∑
(u,v)
yuv = 1
■ Idea: Let H be the current hitting set, y be the correspondingdual, and let Ti be a set that has not been hit.Increase yi until
∑
Tj :e∈Tj
yj = ce
for some e ∈ Ti. Include e into H.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44
Analysis
Let H be the final feasible hitting set and y the correspondingfeasible dual solution.
∑
e∈H
ce = ?
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44
Analysis
Let H be the final feasible hitting set and y the correspondingfeasible dual solution.
∑
e∈H
ce =∑
e∈H
∑
Ti:e∈Ti
yi
Since ce =∑
Ti:e∈Tiyi = ce when e is included into H.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44
Analysis
Let H be the final feasible hitting set and y the correspondingfeasible dual solution.
∑
e∈H
ce =∑
e∈H
∑
Ti:e∈Ti
yi
=m
∑
i=1
|Ti ∩H| · yi
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 17/44
Analysis
Let H be the final feasible hitting set and y the correspondingfeasible dual solution.
∑
e∈H
ce =∑
e∈H
∑
Ti:e∈Ti
yi
=m
∑
i=1
|Ti ∩H| · yi
Vertex cover: Ti’s correspond to edges. Hence: |Ti ∩H| ≤ 2!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44
Set Cover
Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44
Set Cover
Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .
Theorem [Feige]
There is no (log(n) − ε)-approximation for the set-cover problemand any ε > 0 unless NP = P.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44
Set Cover
Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .
Theorem [Feige]
There is no (log(n) − ε)-approximation for the set-cover problemand any ε > 0 unless NP = P.
Q: But what if each element occurs in at most f sets?
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
● How to hit sets...
● Linear Program
● Primal-Dual Algorithm
● Analysis
● Set Cover
Primal-Dual: Steiner Trees
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 18/44
Set Cover
Problem input: Elements U and subsets S1, . . . , Sn of U .Goal: Select smallest number of sets that cover U .
Theorem [Feige]
There is no (log(n) − ε)-approximation for the set-cover problemand any ε > 0 unless NP = P.
Q: But what if each element occurs in at most f sets?
A: Hitting set analysis gives f -approximation since eachelement e ∈ U corresponds to a set in hitting set instance and
|Te ∩H| ≤ f
for all e ∈ U .
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 19/44
Primal-Dual: Steiner Trees
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 20/44
Steiner trees: Intro
■ Roots of problem can be traced back to Gauss: He mentionsthe problem in a letter to Schumacher.
■ Input:◆ Undirected graph G = (V, E)◆ Terminals R ⊆ V◆ Steiner nodes V \R◆ Edge costs ce ≥ 0 for all e ∈ E.
■ Goal: Compute min-cost tree T in G that spans nodes in R
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 21/44
Steiner trees: Example
Terminal nodes:Steiner nodes:
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 21/44
Steiner trees: Example
Terminal nodes:Steiner nodes:
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 22/44
Primal LP: Steiner Cuts
■ Primal has variables xe for all e ∈ E.xe = 1 if e is in Steiner tree, 0 otherwise
■ Steiner cuts: Subsets of nodes that separates at least oneterminal pair (s, t) ∈ R
s
t
Any feasible Steiner tree must contain at least one of the rededges!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 22/44
Primal LP: Steiner Cuts
■ Primal has variables xe for all e ∈ E.xe = 1 if e is in Steiner tree, 0 otherwise
■ Steiner cuts: Subsets of nodes that separates at least oneterminal pair (s, t) ∈ R
s
t
Any feasible Steiner tree must contain at least one of the rededges!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 23/44
Primal LP: Steiner Cuts
Primal LP has one constraints for each Steiner cut.
minimize∑
e∈E
ce · xe
s.t.∑
e∈δ(U)
xe ≥ 1 ∀ Steiner cuts U
xe ≥ 0 ∀e ∈ E
δ(U): Edges with one endpoint in U
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 24/44
Steiner trees: Dual LP
■ Variables: yU for Steiner cut U
■ Constraints?
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 24/44
Steiner trees: Dual LP
■ Variables: yU for Steiner cut U
■ Constraints? One for each edge:∑
U :e∈δ(U)
yU ≤ ce
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 24/44
Steiner trees: Dual LP
■ Variables: yU for Steiner cut U
■ Constraints? One for each edge:∑
U :e∈δ(U)
yU ≤ ce
■ Objective function: maximize∑
U∈U yU
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 25/44
Steiner trees: Primal and dual LP’s
minimize∑
e∈E
ce · xe (P )
s.t.∑
e∈δ(U)
xe ≥ 1 ∀ Steiner cuts U
xe ≥ 0 ∀e ∈ E
maximize∑
U
yU (D)
s.t.∑
U :e∈δ(U)
yU ≤ ce ∀e ∈ E
yU ≥ 0 ∀U ∈ U
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 26/44
Dual LP: Pictorial View
■ Can visualize yU as a disk around U with radius yU .Example: Terminal pair (s, t) ∈ R, edge (s, t) with cost 4
s t
ys = yt = 0
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 26/44
Dual LP: Pictorial View
■ Can visualize yU as a disk around U with radius yU .Example: Terminal pair (s, t) ∈ R, edge (s, t) with cost 4
s t1
ys = yt = 1
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 26/44
Dual LP: Pictorial View
■ Can visualize yU as a disk around U with radius yU .Example: Terminal pair (s, t) ∈ R, edge (s, t) with cost 4
s t2
ys = yt = 2 Have: ys + yt = 4 = cst. Edge (s, t) is tight.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44
Steiner trees: Algorithm
■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44
Steiner trees: Algorithm
■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y
■ Connected components of F are Steiner cuts
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44
Steiner trees: Algorithm
■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y
■ Connected components of F are Steiner cuts■ Increase duals corresponding to connected components of
F .Stop increasing as soon as
∑
e∈P
∑
U :e∈δ(U)
yU =∑
e∈P
ce
for some path P connecting terminals in different connectedcomponents.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 27/44
Steiner trees: Algorithm
■ Algorithm always keeps:◆ Infeasible forest F◆ Feasible dual solution y
■ Connected components of F are Steiner cuts■ Increase duals corresponding to connected components of
F .Stop increasing as soon as
∑
e∈P
∑
U :e∈δ(U)
yU =∑
e∈P
ce
for some path P connecting terminals in different connectedcomponents.
At this point add the edges of P to F .
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44
Algorithm SF: An Example Run
Algorithm constructs primal and dual solution at the same time.
s1
t3 t2, s3
t1
s2
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44
Algorithm SF: An Example Run
Algorithm constructs primal and dual solution at the same time.
s1
t3 t2, s3
t1
s2
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44
Algorithm SF: An Example Run
Algorithm constructs primal and dual solution at the same time.
s1
t3 t2, s3
t1
s2
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44
Algorithm SF: An Example Run
Algorithm constructs primal and dual solution at the same time.
s1
t3 t2, s3
t1
s2
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 28/44
Algorithm SF: An Example Run
Algorithm constructs primal and dual solution at the same time.
s1
t3 t2, s3
t1
s2
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 29/44
Steiner trees: Analysis
■ Will now show that SF is a 2-approximation for Steiner treeproblem.
Main tool: Weak duality.Let T be the final tree and y is the constructed dual. Willshow
c(T ) ≤ 2 ·∑
Steiner cut U
yU
■ Proof is by induction over time in algorithm.
Let M be an active moat at time t in SF. TM is the treecontained in M . Want to show
c(TM ) ≤ 2∑
U⊆M
yU − 2t
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 29/44
Steiner trees: Analysis
■ Will now show that SF is a 2-approximation for Steiner treeproblem.
Main tool: Weak duality.Let T be the final tree and y is the constructed dual. Willshow
c(T ) ≤ 2 ·∑
Steiner cut U
yU
■ Proof is by induction over time in algorithm.
Let M be an active moat at time t in SF. TM is the treecontained in M . Want to show
c(TM ) ≤ 2∑
U⊆M
yU − 2t
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44
Steiner trees: Analysis
■ Want to show IH for all t ≥ 0 inductively:
c(TM ) ≤ 2∑
U⊆M
yU − 2t (IH)
■ [t = 0] Clear since forest is empty.■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger
in time interval [t, t′].■ LHS of (IH) changes by: 0
RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44
Steiner trees: Analysis
■ Want to show IH for all t ≥ 0 inductively:
c(TM ) ≤ 2∑
U⊆M
yU − 2t (IH)
■ [t = 0] Clear since forest is empty.
■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger
in time interval [t, t′].■ LHS of (IH) changes by: 0
RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44
Steiner trees: Analysis
■ Want to show IH for all t ≥ 0 inductively:
c(TM ) ≤ 2∑
U⊆M
yU − 2t (IH)
■ [t = 0] Clear since forest is empty.■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger
in time interval [t, t′].
t
■ LHS of (IH) changes by: 0RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 30/44
Steiner trees: Analysis
■ Want to show IH for all t ≥ 0 inductively:
c(TM ) ≤ 2∑
U⊆M
yU − 2t (IH)
■ [t = 0] Clear since forest is empty.■ [t ≥ 0] Suppose (IH) holds at time t. Let t′ > t and no merger
in time interval [t, t′].
t′
■ LHS of (IH) changes by: 0RHS of (IH) changes by: 2(t′ − t)− 2(t′ − t) = 0
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 31/44
Steiner trees: Analysis
■ Want to show IH for all t ≥ 0 inductively:
c(TM ) ≤ 2∑
U⊆M
yU − 2t (IH)
■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.
v uP
U′ U′′
■ Main idea: Path P costs at most 2t!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 31/44
Steiner trees: Analysis
■ Want to show IH for all t ≥ 0 inductively:
c(TM ) ≤ 2∑
U⊆M
yU − 2t (IH)
■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.
v uP
U′ U′′
■ Main idea: Path P costs at most 2t!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 32/44
Steiner trees: Analysis
■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.
v uP
U′ U′′
■ Main idea: Path P costs at most 2t!
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 32/44
Steiner trees: Analysis
■ [t ≥ 0] Suppose (IH) holds at time t for moats M ′ and M ′′.SF merges these two components at time t.
v uP
U′ U′′
■ Main idea: Path P costs at most 2t!
c(TU ′∪U ′′) = c(TU ′) + c(TU ′′) + c(P )
≤ 2∑
U⊆U ′∪U
yU − 4t + 2t
= 2∑
U⊆U ′∪U
yU − 2t
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 33/44
Steiner trees: Wrapping Up
■ Suppose the algorithm finishes at time t∗ with tree T ∗
■ Previous proof shows
c(T ∗) ≤ 2 ·∑
U∈U
yU − 2t∗ (*)
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 33/44
Steiner trees: Wrapping Up
■ Suppose the algorithm finishes at time t∗ with tree T ∗
■ Previous proof shows
c(T ∗) ≤ 2 ·∑
U∈U
yU − 2t∗ (*)
■ At any time 0 ≤ t ≤ t∗ at most |R| moats grow. Hence,∑
U∈U
yU ≤ |R| · t∗
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
● Intro
● Example
● Primal LP: Steiner Cuts
● Dual LP
● Dual Moats
● Algorithm
●SF Example
● Analysis
Primal Dual: MCF
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 33/44
Steiner trees: Wrapping Up
■ Suppose the algorithm finishes at time t∗ with tree T ∗
■ Previous proof shows
c(T ∗) ≤ 2 ·∑
U∈U
yU − 2t∗ (*)
■ At any time 0 ≤ t ≤ t∗ at most |R| moats grow. Hence,∑
U∈U
yU ≤ |R| · t∗
■ Together with (*) we obtain
c(T ∗) ≤ (2− 2/|R|) ·∑
U∈U
yU .
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 34/44
Primal-Dual: Multicommodity Flows inTrees
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44
Multicommodity Flows
■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.
■ Use Pi for the unique si, ti-path in T
■ For edge e ∈ E, let Re be commodities that have e on theirpath
■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑
i∈Re
fi ≤ ce
for all e ∈ E
■ Goal: Compute feasible flow of maximum value.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44
Multicommodity Flows
■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.
■ Use Pi for the unique si, ti-path in T
■ For edge e ∈ E, let Re be commodities that have e on theirpath
■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑
i∈Re
fi ≤ ce
for all e ∈ E
■ Goal: Compute feasible flow of maximum value.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44
Multicommodity Flows
■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.
■ Use Pi for the unique si, ti-path in T
■ For edge e ∈ E, let Re be commodities that have e on theirpath
■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑
i∈Re
fi ≤ ce
for all e ∈ E
■ Goal: Compute feasible flow of maximum value.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44
Multicommodity Flows
■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.
■ Use Pi for the unique si, ti-path in T
■ For edge e ∈ E, let Re be commodities that have e on theirpath
■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑
i∈Re
fi ≤ ce
for all e ∈ E
■ Goal: Compute feasible flow of maximum value.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 35/44
Multicommodity Flows
■ Input:◆ Tree T = (V, E)◆ k terminal pairs R = {(s1, t1), . . . , (sk, tk)}◆ Edge capacities ce ≥ 0 for all e ∈ E.
■ Use Pi for the unique si, ti-path in T
■ For edge e ∈ E, let Re be commodities that have e on theirpath
■ Feasible flow: fi for each 1 ≤ i ≤ k such that∑
i∈Re
fi ≤ ce
for all e ∈ E
■ Goal: Compute feasible flow of maximum value.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 36/44
MCF in Trees: An Example
s2
s1 t2
t1
■ All edges have unit capacity
■ Maximum flow has value 1
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 36/44
MCF in Trees: An Example
s2
s1 t2
t1
■ All edges have unit capacity■ Maximum flow has value 1
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 37/44
Primal LP
■ Have a variable fi for the flow on Pi.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 37/44
Primal LP
■ Have a variable fi for the flow on Pi.
maximizek
∑
i=1
fi
s.t.∑
i∈Re
fi ≤ ce ∀e ∈ E
fi ≥ 0 ∀1 ≤ i ≤ k
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44
Dual LP
■ One variable for each edge e ∈ E: ye
■ One constraint for each commodity 1 ≤ i ≤ k:∑
e∈Pi
ye ≥ 1
■ This is a fractional multi-cut!
Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44
Dual LP
■ One variable for each edge e ∈ E: ye
■ One constraint for each commodity 1 ≤ i ≤ k:∑
e∈Pi
ye ≥ 1
■ This is a fractional multi-cut!
Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44
Dual LP
■ One variable for each edge e ∈ E: ye
■ One constraint for each commodity 1 ≤ i ≤ k:∑
e∈Pi
ye ≥ 1
■ This is a fractional multi-cut!
Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 38/44
Dual LP
■ One variable for each edge e ∈ E: ye
■ One constraint for each commodity 1 ≤ i ≤ k:∑
e∈Pi
ye ≥ 1
■ This is a fractional multi-cut!
Suppose y is integral. Removal of edges e with ye = 1disconnects si from ti for all 1 ≤ i ≤ k.
minimize∑
e∈E
ceye
s.t.∑
e∈Pi
ye ≥ 1 ∀1 ≤ i ≤ k
y≥0 ∀e ∈ E
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 39/44
MCF in Trees: An Example
s2
s1 t2
t1
■ All edges have unit cost.■ Multi-cut has value 1.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44
Multicut in Trees: PD Algorithm
■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.
■ Start with zero dual: ye = 0 for all e ∈ E
■ Root the tree T at an arbitrary vertex r ∈ V .
The depth of a vertex v in T is the number of edges on ther, v-path in T
■ Consider terminal pair (si, ti) ∈ R:
Let li be the vertex of lowest depth on Pi
■ Algorithm removes edges from E one by one and ends witha multi-cut.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44
Multicut in Trees: PD Algorithm
■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E
■ Root the tree T at an arbitrary vertex r ∈ V .
The depth of a vertex v in T is the number of edges on ther, v-path in T
■ Consider terminal pair (si, ti) ∈ R:
Let li be the vertex of lowest depth on Pi
■ Algorithm removes edges from E one by one and ends witha multi-cut.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44
Multicut in Trees: PD Algorithm
■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E
■ Root the tree T at an arbitrary vertex r ∈ V .
The depth of a vertex v in T is the number of edges on ther, v-path in T
■ Consider terminal pair (si, ti) ∈ R:
Let li be the vertex of lowest depth on Pi
■ Algorithm removes edges from E one by one and ends witha multi-cut.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44
Multicut in Trees: PD Algorithm
■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E
■ Root the tree T at an arbitrary vertex r ∈ V .
The depth of a vertex v in T is the number of edges on ther, v-path in T
■ Consider terminal pair (si, ti) ∈ R:
Let li be the vertex of lowest depth on Pi
■ Algorithm removes edges from E one by one and ends witha multi-cut.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 40/44
Multicut in Trees: PD Algorithm
■ Dual is a hitting set LP! Sets to hit are the paths P1, . . . , Pk.■ Start with zero dual: ye = 0 for all e ∈ E
■ Root the tree T at an arbitrary vertex r ∈ V .
The depth of a vertex v in T is the number of edges on ther, v-path in T
■ Consider terminal pair (si, ti) ∈ R:
Let li be the vertex of lowest depth on Pi
■ Algorithm removes edges from E one by one and ends witha multi-cut.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 41/44
Multicut in Trees: PD Algorithm
1: fi ← 0 for all 1 ≤ i ≤ k2: C ← ∅3: while C is not a multicut do4: Choose (si, ti) ∈ R with Pi ∩ C = ∅ whose
vertex ui has maximum depth5: Increase fi until
∑
j∈Re
fj = ce
for some e ∈ Pi
6: Add the tight edge e ∈ Pi to C that has lowestdepth in T
7: end while
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 42/44
Multicut in Trees: Reverse Delete
■ Algorithm consider sequence of terminal pairs:
(s1, t1), . . . , (sl, tl)
■ For terminal pair (si, ti), let P si be the si, ui-segment of Pi.
Similar: P ti is the ti, ui-segment of Pi
■ Consider (si, ti) in reverse order of algorithm.If |P v
i ∩ C| ≥ 2 for v ∈ {s, t} then keep only the edge oflowest depth. Delete the other one.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 42/44
Multicut in Trees: Reverse Delete
■ Algorithm consider sequence of terminal pairs:
(s1, t1), . . . , (sl, tl)
■ For terminal pair (si, ti), let P si be the si, ui-segment of Pi.
Similar: P ti is the ti, ui-segment of Pi
■ Consider (si, ti) in reverse order of algorithm.If |P v
i ∩ C| ≥ 2 for v ∈ {s, t} then keep only the edge oflowest depth. Delete the other one.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 42/44
Multicut in Trees: Reverse Delete
■ Algorithm consider sequence of terminal pairs:
(s1, t1), . . . , (sl, tl)
■ For terminal pair (si, ti), let P si be the si, ui-segment of Pi.
Similar: P ti is the ti, ui-segment of Pi
■ Consider (si, ti) in reverse order of algorithm.If |P v
i ∩ C| ≥ 2 for v ∈ {s, t} then keep only the edge oflowest depth. Delete the other one.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44
Multicut in Trees: Analysis
■ Let C be the final cut after reverse delete.Can show: |P v
i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}
■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.
Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.
■ e1 and e2 cannot help any pair (sj , tj) with j < i
■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .
■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v
i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44
Multicut in Trees: Analysis
■ Let C be the final cut after reverse delete.Can show: |P v
i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}
■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.
Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.
■ e1 and e2 cannot help any pair (sj , tj) with j < i
■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .
■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v
i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44
Multicut in Trees: Analysis
■ Let C be the final cut after reverse delete.Can show: |P v
i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}
■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.
Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.
■ e1 and e2 cannot help any pair (sj , tj) with j < i
■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .
■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v
i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44
Multicut in Trees: Analysis
■ Let C be the final cut after reverse delete.Can show: |P v
i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}
■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.
Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.
■ e1 and e2 cannot help any pair (sj , tj) with j < i
■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .
■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v
i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44
Multicut in Trees: Analysis
■ Let C be the final cut after reverse delete.Can show: |P v
i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}
■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.
Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.
■ e1 and e2 cannot help any pair (sj , tj) with j < i
■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .
■ This means that e1 helps (sj , tj). Can delete e2.
■ Every path P vi for 1 ≤ i ≤ l and for v ∈ {s, t} has at most one
edge in C
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 43/44
Multicut in Trees: Analysis
■ Let C be the final cut after reverse delete.Can show: |P v
i ∩C| ≤ 1 for all 1 ≤ i ≤ l and for all v ∈ {si, ti}
■ Assume |P vi ∩ C| ≥ 2 for some i and some v ∈ {si, ti}.
Consider e1 and e2 in P vi ∩C and e1 has lower depth than e2.
■ e1 and e2 cannot help any pair (sj , tj) with j < i
■ If e ∈ {e1, e2} helps (sj , tj) with j > i then uj is apredecessor of ui in tree T .
■ This means that e1 helps (sj , tj). Can delete e2.■ Every path P v
i for 1 ≤ i ≤ l and for v ∈ {s, t} has at most oneedge in C
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 44/44
Multicut in Trees: Analysis
■ As in hitting set analysis, can show that
∑
e∈C
ce ≤l
∑
i=1
|Pi ∩ C|fi ≤ 2 ·l
∑
i=1
fi
■ This shows that the cut C is 2-approximate!■ Also: If edge-costs are integral, the flow f is integral.
Moreover, f is a 2-approximation as well.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 44/44
Multicut in Trees: Analysis
■ As in hitting set analysis, can show that
∑
e∈C
ce ≤l
∑
i=1
|Pi ∩ C|fi ≤ 2 ·l
∑
i=1
fi
■ This shows that the cut C is 2-approximate!
■ Also: If edge-costs are integral, the flow f is integral.Moreover, f is a 2-approximation as well.
● What is the primal-dual method?
Primal-Dual: First Steps
Primal-Dual: Hitting Sets
Primal-Dual: Steiner Trees
Primal Dual: MCF
● Multicommodity Flows
● Example
● Primal LP
● Dual LP
● Example
● PD Algorithm
● Reverse Delete
● Analysis
Jochen Könemann, September 25, 2004 Group Strategyproof Mechanisms for Steiner Forests - p. 44/44
Multicut in Trees: Analysis
■ As in hitting set analysis, can show that
∑
e∈C
ce ≤l
∑
i=1
|Pi ∩ C|fi ≤ 2 ·l
∑
i=1
fi
■ This shows that the cut C is 2-approximate!■ Also: If edge-costs are integral, the flow f is integral.
Moreover, f is a 2-approximation as well.