Approximation
Algorithms
Lecture 3
10/26/10
1
Multiway Cut
Problem: Multiway Cut.
Given an undirected graph G=(V,E) with non-negative edge
weights w : E → Q+ and a set S = {s1 , . . . , sk } ⊆ V of
terminals, a multiway cut is a set of edges whose removal
disconnects the terminals from each other. The Multiway Cut
Problem asks for such a set of minimum total weight.
2
Multiway Cut
Problem: Multiway Cut.
Given an undirected graph G=(V,E) with non-negative edge
weights w : E → Q+ and a set S = {s1 , . . . , sk } ⊆ V of
terminals, a multiway cut is a set of edges whose removal
disconnects the terminals from each other. The Multiway Cut
Problem asks for such a set of minimum total weight.
3
Multiway Cut
For k=2, i.e. given just 2 terminals, this is the standard Min-Cut
problem.
Recall that the Min-Cut problem can be solved in polynomial
time by computing a maximum flow between the terminals
(“Min-Cut / Max-Flow Theorem”).
The Multiway Cut Problem is NP-hard for any fixed k ≥ 3.
4
Multiway Cut
We define an isolating cut for si to be a set of edges whose
removal disconnects si from all sj , j �= i .
Minimum weight isolating cuts can be found in poly time:
1. Merge all terminals in S\{si } into a single vertex s∗.
2. Compute a min-cut separating si and s∗.
si
merge terminals into supernode
5
Multiway Cut
We define an isolating cut for si to be a set of edges whose
removal disconnects si from all sj , j �= i .
Minimum weight isolating cuts can be found in poly time:
1. Merge all terminals in S\{si } into a single vertex s∗.
2. Compute a min-cut separating si and s∗.
si
compute min-cut
6
Multiway Cut
We define an isolating cut for si to be a set of edges whose
removal disconnects si from all sj , j �= i .
Minimum weight isolating cuts can be found in poly time:
1. Merge all terminals in S\{si } into a single vertex s∗.
2. Compute a min-cut separating si and s∗.
si
7
Multiway Cut
Algorithm 5: Multiway Cut.
1. For each i=1,...,k, compute a minimum weight isolating cut
for si , say Ci .
2. Discard the heaviest of these cuts and output the union of
the rest, say C.
Theorem 5
Algorithm 5 is a factor 2-2/k approximation algorithm for the
Multiway Cut Problem.
8
Multiway Cut
A tight example:
s1
s2
2−ε
1
1
sk
2−ε
Each min-cost isolating cut has cost 2 − ε , so we obtain a
solution of cost (k − 1)(2 − ε) . Opt is k .
9
Minimum k-Cut
Problem: Minimum k-Cut.
Given an undirected graph G=(V,E) with non-negative edge
weights w : E → Q+, a k-cut is a set of edges whose removal
leaves k connected components. The Minimum k-Cut Problem
asks for such a set of minimum total weight.
k=3
10
Minimum k-Cut
Problem: Minimum k-Cut.
Given an undirected graph G=(V,E) with non-negative edge
weights w : E → Q+, a k-cut is a set of edges whose removal
leaves k connected components. The Minimum k-Cut Problem
asks for such a set of minimum total weight.
k=3
For any fixed value of k, the Minimum k-Cut Problem is
solvable in polynomial time. It is NP-hard when parameter k
can be specified as part of the input.
11
Gomory-Hu Trees
Let G=(V,E) with edge weights w be given and let T=(V,E’) be
a tree on vertex set V with edge weights w’. Edges E’ need
not be a subset of E.
Removing an edge e from T partitions V into connected
components S, S. We denote by δ(S, S) the weight of the cut
(S, S) in G.
We say that T is a Gomory-Hu tree for G, if
1. for each pair of vertices u, v ∈ V , the weight of a minimum
u-v-cut is the same in G and T, and
2. for each edge e of T, w’(e) is the weight δ(S, S) of the
associated cut in G.
12
Gomory-Hu Trees
b
G:
c
4
10
2
3
a
5
2
4
2
8
7
3
f
e
b
T :
d
c
18
17
a
15
d
14
13
e
f
13
Minimum k-Cut
For every graph G=(V,E) with edge weights w a Gomory-Hu
tree exists and can be computed in polynomial time.
(See Problem Sets 2 and 3 for a proof.)
Algorithm 6: Minimum k-Cut.
1. Compute a Gomory-Hu tree T for G.
2. Choose the k-1 lightest edges in T and output the union of
their associated cuts in G.
14
Minimum k-Cut
Lemma 3
Let S be the union of cuts in G associated with l edges of its
Gomory-Hu tree T. Then the removal of S from G leaves a
graph with at least l+1 connected components.
By Lemma 3 Algorithm 6 outputs a feasible k-cut of G.
Theorem 6
Algorithm 6 is a factor 2-2/k approximation algorithm for the
Minimum k-Cut Problem.
The same example as for Multiway Cut yields tightness.
15
k-Center
Problem: Metric k-Center.
Let G=(V,E) be a complete graph with edge costs c : E → Q+
satisfying the triangle inequality, k a positive integer. For any set
S ⊆ V and vertex v ∈ V let c(v,S) be the cost of the cheapest
edge from v to a vertex in S. The k-Center Problem asks for a
set S ⊆ V , |S| = k , minimizing max c(v, S).
v∈V
2
1
k=3
16
k-Center
Problem: Metric k-Center.
Let G=(V,E) be a complete graph with edge costs c : E → Q+
satisfying the triangle inequality, k a positive integer. For any set
S ⊆ V and vertex v ∈ V let c(v,S) be the cost of the cheapest
edge from v to a vertex in S. The k-Center Problem asks for a
set S ⊆ V , |S| = k , minimizing max c(v, S).
v∈V
2
1
k=3
17
k-Center
Let E = {e1 , . . . , em }, such that c(e1 ) ≤ c(e2 ) ≤ · · · ≤ c(em ).
Define Ei = {e1 . . . , ei } and pruned graphs Gi = (V, Ei ).
A dominating set in an undirected graph G=(V,E) is a subset of
vertices S ⊆ V , such that every vertex in V \S is adjacent to a
vertex in S. Let dom(G) denote the size of the smallest
dominating set in G.
The k-Center Problem is equivalent
to finding the smallest index i∗, such
that Gi∗ has a dominating set of size k.
18
2
1
k=3
k-Center
Let E = {e1 , . . . , em }, such that c(e1 ) ≤ c(e2 ) ≤ · · · ≤ c(em ).
Define Ei = {e1 . . . , ei } and pruned graphs Gi = (V, Ei ).
A dominating set in an undirected graph G=(V,E) is a subset of
vertices S ⊆ V , such that every vertex in V \S is adjacent to a
vertex in S. Let dom(G) denote the size of the smallest
dominating set in G.
The k-Center Problem is equivalent
to finding the smallest index i∗, such
that Gi∗ has a dominating set of size k.
1
k=3
19
k-Center
Let E = {e1 , . . . , em }, such that c(e1 ) ≤ c(e2 ) ≤ · · · ≤ c(em ).
Define Ei = {e1 . . . , ei } and pruned graphs Gi = (V, Ei ).
A dominating set in an undirected graph G=(V,E) is a subset of
vertices S ⊆ V , such that every vertex in V \S is adjacent to a
vertex in S. Let dom(G) denote the size of the smallest
dominating set in G.
The k-Center Problem is equivalent
to finding the smallest index i∗, such
that Gi∗ has a dominating set of size k.
20
1
k=3
© Copyright 2026 Paperzz