Design and Analysis of
Approximation Algorithms
Ding-Zhu Du
Text Books
• Ding-Zhu Du and Ker-I Ko, Design and
Analysis of Approximation Algorithms
(Lecture Notes).
Chapters 1-8.
Schedule
•
•
•
•
•
•
•
•
•
Introduction
Greedy Strategy
Restriction
Partition
Guillotine Cut
Relaxation
Linear Programming
Local Ratio
Semi-definite Programming
Rules
• You may discuss each other on 5
homework assignments. But, do not copy
each other.
• Each homework is 10 points. 4 top scores
will be chosen.
• Midterm Exam (take-home) is 30 points.
• Final Exam (in class) is 30 points.
• Final grade is given based on the total
points (A ≥ 80; 80 > B ≥ 60 ; 60 > C ≥ 40).
Chapter 1 Introduction
• Computational Complexity (background)
• Approximation Performance Ratio
• Early results
Computability
• Deterministic Turing Machine
• Nondeterministic Turing Machine
• Church-Turing Thesis
Deterministic Turing Machine
(DTM)
tape
head
Finite Control
a
l
p
h
a
B
e
The tape has the left end but infinite to the
right. It is divided into cells. Each cell
contains a symbol in an alphabet Γ. There
exists a special symbol B which represents
the empty cell.
a
• The head scans at a cell on the tape and
can read, erase, and write a symbol on the
cell. In each move, the head can move to
the right cell or to the left cell (or stay in
the same cell).
a
• The head scans at a cell on the tape and
can read, erase, and write a symbol on the
cell. In each move, the head can move to
the right cell or to the left cell (or stay in
the same cell).
• The finite control has finitely many states
which form a set Q. For each move, the
state is changed according to the
evaluation of a transition function
δ : Q x Γ → Q x Γ x {R, L}.
b
a
p
q
• δ(q, a) = (p, b, L) means that if the head
reads symbol a and the finite control is in
the state q, then the next state should be p,
the symbol a should be changed to b, and
the head moves one cell to the left.
a
p
b
q
• δ(q, a) = (p, b, R) means that if the head
reads symbol a and the finite control is in
the state q, then the next state should be p,
the symbol a should be changed to b, and
the head moves one cell to the right.
s
• There are some special states: an initial
state s and an final states h.
• Initially, the DTM is in the initial state and
the head scans the leftmost cell. The tape
holds an input string.
x
h
• When the DTM is in the final state, the DTM
stops. An input string x is accepted by the
DTM if the DTM reaches the final state h.
• Otherwise, the input string is rejected.
• The DTM can be represented by
M = (Q, Σ, Γ, δ, s)
where Σ is the alphabet of input symbols.
• The set of all strings accepted by a DTM
$M$ is denoted by L(M). We also say that
the language L(M) is accepted by M.
• The transition diagram} of a DTM is an
alternative way to represent the DTM.
• For M = (Q, Σ, Γ, δ, s), the transition diagram of
M is a symbol-labeled digraph G=(V, E)
satisfying the following:
V = Q (s =
E={p
a/b,D
,h=
)
q | δ(p, a) = (q, b, D)}.
1/1,R
0/0,R; 1/1,R
0/0,R
s
0/0,R
p
q
B/B,R
h
1/1,R
M=(Q, Σ, Γ, δ, s) where Q = {s, p, q, h},
Σ = {0, 1}, Г = {0, 1, B}.
δ
s
p
q
0
1
(p, 0, R) (s, 1, R)
(q, 0, R) (s, 1, R)
(q, 0, R) (q, 1, R)
L(M) = (0+1)*00(0+1)*.
B
(h, B, R)
Nondeterministic Turing
Machine (NTM)
tape
head
Finite Control
a
l
p
h
a
B
e
The tape has the left end but infinite to the
right. It is divided into cells. Each cell
contains a symbol in an alphabet Γ. There
exists a special symbol B which represents
the empty cell.
• The finite control has finitely many states
which form a set Q. For each move, the
state is changed according to the
evaluation of a transition function
δ : Q x Γ → 2^{Q x Γ x {R, L}}.
Church-Turing Thesis
• Computability is Turing-Computability.
Multi-tape DTM
Input tape
(read only)
Storage
tapes
Output tape
(possibly, write only)
Time of TM
• TimeM (x) = # of moves that TM M takes on
input x.
• TimeM(x) < infinity iff x ε L(M).
Space
• SpaceM(x) = # of cell that M visits on the
work (storage) tapes during the
computation on input x.
• If M is a multitape DTM, then the work
tapes do not include the input tape and the
write-only output tape.
Time Bound
M is said to have a time bound t(n) if for
every x with |x| < n,
TimeM(x) < max {n+1, t(n)}
Complexity Class
• A language L has a (deterministic) timecomplexity t(n) if there is a multitape TM M
accepting L, with time bound t(n).
• DTIME(t(n)) = {L(M) | DTM M has a time
bound t(n)}
• NTIME(t(n)) = {L(M) | NTM M has a time
bound t(n)}
c
• P = U C>0 DTIME(n )
• NP = UC>0 NTIME(nc )
NP Class
Earlier Results on Approximations
• Vertex-Cover
• Traveling Salesman Problem
• Knapsack Problem
Performance Ratio
Approx (input )
r sup input
for MIN
Opt (input )
Opt (inpu )
r sup input
for MAX.
Approx (input )
Constant-Approximation
• c-approximation is a polynomial-time
approximation satisfying:
1 < approx(input)/opt(input) < c for MIN
or
1 < opt(input)/approx(input) < c for MAX
Vertex Cover
• Given a graph G=(V,E), find a minimum
subset C of vertices such that every edge
is incident to a vertex in C.
Vertex-Cover
• The vertex set of a maximal matching
gives 2-approximation, i.e.,
approx / opt < 2
Traveling Salesman
• Given n cities with a distance table, find a
minimum total-distance tour to visit each
city exactly once.
Traveling Salesman with triangular
inequality
• Traveling around a minimum spanning
tree is a 2-approximation.
Traveling Salesman with Triangular
Inequality
• Minimum spanning tree + minimum-length
perfect matching on odd vertices is 1.5approximation
Minimum perfect matching on odd vertices
has weight at most 0.5 opt.
Lower Bound
1+ε
1
1+ε
1
1+ε
1+ε
1+ε
2n (1 )n
3
as n
2 (2n 1)(1 )
2
Traveling Salesman without
Triangular Inequality
Theorem For any constant c> 0, TSP has no capproximation unless NP=P.
Given a graph G=(V,E), define a distance table
on V as follows:
if (u, v) E
1,
d (u, v)
| V | c, if (u, v) E
Contradition Argument
• Suppose c-approximation exists. Then we
have a polynomial-time algorithm to solve
Hamiltonian Cycle as follow:
C-approximation solution < cn
if and only if
G has a Hamiltonian cycle
Knapsack
max c1 x1 c 2 x 2 cnxn
s. t. s1 x1 s 2 x 2 snxn S
xi {0, 1}.
Assume si S for any i. Hence ci opt for any i.
c1 c 2
cn
Sort
.
s1 s 2
sn
k 1
k
Choose k such that
s S s.
i
i 1
k
Output cG max{ ci, ck 1}.
i 1
i
i 1
2-approximation
c
i opt
c
i
i 1
i 1
k
k 1
cG opt cG ck 1 2cG .
PTAS
• A problem has a PTAS (polynomial-time
approximation scheme) if for any ε > 0, it
has a (1+ε)-approximation.
Knapsack has PTAS
• Classify: for i < m, ci < a= 1 cG,
for i > m+1, ci > a.
• Sort c1 c 2
cm
s1
s2
sm
.
• For I {m 1,, n},
if
s S , then set c( I ) 0;
i
iI
If
s S , then choose maximum
i
k m such that
iI
k
s S s
i
i 1
i
iI
and set
k
c( I ) ci ci.
iI
i 1
Output c( Ioutput) max I c( I ).
Proof.
Let I * {i {m 1,..., n} | xi 1 in opt}.
If
If
s
i S
s
i , then c ( I *) opt .
i 1
iI *
m
m
i 1
si S iI * si, then opt c( I *) ck 1
c( I *) a.
Hence, c( Ioutput) opt c( Ioutput) a
c( Ioutput)
opt
1
c( Ioutput)
1
opt.
Time
Note opt 2cG. If | I | 2(1 )/ , then
c
i ( 2(1 ) / ) a 2cG opt .
iI
Therefore, we need only consider t hose I with
| I | 2(1 ) / .
This gives time O(n
2 (1 ) /
)n
O (1 / )
.
Fully PTAS
• A problem has a fully PTAS if for any ε>0,
it has (1+ε)-approximation running in time
poly(n,1/ε).
Fully FTAS for Knapsack
c(i, j ) is a subset of indeces in {1, ..., i} such that
ic ( i , j )
ci j ,
ic ( i , j )
si S and
s
i min {
s
i |
c
i j,
ic ( i , j )
iI
iI
I {1,..., i}}.
c(i, j ) nil if no such subset exists.
Pseudo Polynomial-time Algorithm
for Knapsak
• Initially,
for j 1, ... csum c1 cn,
if j 0,
c(1, j ) {1} if j c1,
nil otherwise
for i 1 to n do
for j 0 to csum do
Case 1. c(i 1, j ci ) nil ,
Set c(i, j ) c(i 1, j );
Case 2. c(i 1, j ci ) nil , but
si kc (i 1, j ci ) sk S .
Set c(i, j ) c(i 1, j ).
Case 3. c(i 1, j ci ) nil , si kc ( i 1, j ci ) sk S ,
and c(i 1, j ) nil .
Set c(i, j ) c(i 1, j ci ) {i}.
Case 4. c(i 1, j ci ) nil , si kc ( i 1, j ci ) sk S ,
and c(i 1, j ) nil .
If si kc (i 1, j ci ) sk kc ( i 1, j ) sk
then set c(i, j ) c(i 1, j )
else set c(i, j ) c(i 1, j ci ) {i}.
Output opt max{ j | c(i, j ) nil }.
Time
•
•
•
•
•
outside loop: O(n)
Inside loop: O(nM) where M=max ci
Core: O(n log (MS))
3
Total O(n M log (MS))
Since input size is O(n log (MS)), this is a
log M
pseudo-polynomial-time due to M=2
n(h 1)
Set c' i ci
M
Consider
max c'1 x1 c'2 x 2 c' nxn
s.t. s1 x1 s 2 x 2 snxn S
xi {0, 1}.
h
Its optimal solution x can be computed in time
O (n (h 1) log( n(h 1) S )).
4
Let c c1 x 1 c 2 x 2 cnx n. We show
h
h
h
1 h
opt (1 )c
h
h
Suppose opt c1 x * 1 c 2 x * 2 cnx * n.
c h c1 x h 1 cnx h n
M
(c'1 x 1 c' nx n)
n(h 1)
M
(c'1 x * 1 c' nx * n )
n(h 1)
c1n(h 1)
cnn(h 1)
M
((
1) x * 1 (
1) x * n )
M
M
n(h 1)
M
1
opt
opt (1
)
h 1
h 1
h
h
Thanks, End
Lecture 3 Complexity of
Approximation
•
•
•
•
L-reduction
Two subclass of PTAS
Set-cover ((ln n)-approximation)
c
Independent set (n -approximation)
© Copyright 2025 Paperzz