Title: Vertex cover problem
1Vertex cover problem
S ? V such that for every u,v? E u?S or v?S
(or both)
2Vertex cover problem
S ? V such that for every u,v? E u?S or v?S
(or both)
3Vertex cover problem
S ? V such that for every u,v? E u?S or v?S
(or both)
OPTIMIZATION VERSION INPUT graph G
OUTPUT vertex cover S of minimum-size DECISION
VERSION INSTANCE graph G, integer k
QUESTION does G have vertex cover of size ?
k ?
4Vertex cover problem
DECISION VERSION INSTANCE graph G,
integer k QUESTION does G have vertex
cover of size ? k ?
complement of a graph G ? G
vertex cover S in G ? V-S is _________ in G ?
5Vertex cover problem
DECISION VERSION INSTANCE graph G,
integer k QUESTION does G have vertex
cover of size ? k ?
complement of a graph G ? G
vertex cover S in G ? V-S is clique in
G ?
6Vertex cover problem
DECISION VERSION INSTANCE graph G,
integer k QUESTION does G have vertex
cover of size ? k ?
complement of a graph G ? G
vertex cover S in G ? V-S is clique in
G ?
Clique ? Vertex Cover Vertex Cover is NP-complete
7Vertex cover problem
OPTIMIZATION VERSION INPUT graph G
OUTPUT vertex cover S of minimum-size
8Vertex cover problem
OPTIMIZATION VERSION INPUT graph G
OUTPUT vertex cover S of minimum-size
Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat Algorithm 2 find a
maximal matching M in G, for each u,v?M put
both u,v in S
9Algorithm 2 find a maximal matching M in G,
for each u,v?M put both u,v in S
k edges
S 2k
10Algorithm 2 find a maximal matching M in G,
for each u,v?M put both u,v in S
k edges
OPT ? k
S 2k
11Algorithm 2 find a maximal matching M in G,
for each u,v?M put both u,v in S
2-approximation algorithm
k edges
OPT ? k
S 2k
S ? 2 OPT
12Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat
n
13Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat
? n/2 ?
14Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat
15Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat
? n/2 ? ? n/3 ?
16Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat
n
? ? n/k ?
k2
17Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat
n
n
? ?
? ? n/k ?
(n/k 1) ? (n ln n) 2n ?(n ln n)
k2
k2
OPT n
Algorithm 1 has approximation ratio ?(ln n)
18Vertex cover problem
OPTIMIZATION VERSION INPUT graph G
OUTPUT vertex cover S of minimum-size
Algorithm 1 pick a vertex v with the largest
degree, put v in S, remove v and adjacent
edges from G, repeat Algorithm 2 find a
maximal matching M in G, for each u,v?M put
both u,v in S
?(ln n)-approximation
2-approximation
19Hamiltonian cycle problem
Hamiltonian cycle in (undirected) graph G(V,E)
Cu1,u2,...,un, such that every vertex v?V
occurs in C exactly once ui,ui1 ? E for
i1,...,n-1 u1,un ? E
20Hamiltonian cycle problem
Hamiltonian cycle in (undirected) graph G(V,E)
Cu1,u2,...,un, such that every vertex v?V
occurs in C exactly once ui,ui1 ? E for
i1,...,n-1 u1,un ? E
21Hamiltonian cycle problem
Hamiltonian cycle in (undirected) graph G(V,E)
Cu1,u2,...,un, such that every vertex v?V
occurs in C exactly once ui,ui1 ? E for
i1,...,n-1 u1,un ? E
NP-complete problem
22Travelling salesman (TSP)
INSTANCE complete graph with edge weights
G(V,E,w) SOLUTION hamiltonian cycle C in G
OBJECTIVE sum of the weights of the cycle C
23Travelling salesman (TSP)
INSTANCE complete graph with edge weights
G(V,E,w) SOLUTION hamiltonian cycle C in G
OBJECTIVE sum of the weights of the cycle C
24Travelling salesman (TSP)
INSTANCE complete graph with edge weights
G(V,E,w) SOLUTION hamiltonian cycle C in G
OBJECTIVE sum of the weights of the cycle C
Is there an approximation algorithm ?
25Metric TSP
INSTANCE complete graph with edge weights
G(V,E,w) SOLUTION cycle C in G, repeated
vertices,edges allowed OBJECTIVE sum of the
weights of the cycle C
Is there an approximation algorithm ?
26Metric TSP
d(u,v) cheapest way of getting from u to
v d(u,v) d(v,u) d(u,v) ? d(u,w) d(w,u)
27Metric TSP
compute the d(u,v) compute MST T
weight(T)? OPT
28Metric TSP
compute the d(u,v) compute MST T
weight(T)? OPT
2-approximation algorithm
29Euler tour
when can a graph be drawn without lifting a pen,
and without drawing the same edge twice?
30Euler tour
when can a graph be drawn without lifting a pen,
and without drawing the same edge twice?
if we want to end where we started?
31Metric TSP
weight(T)? OPT weight(M)? OPT/2
compute the d(u,v) compute MST T find a
min-weight perfect matching on odd-degree
vertices of T
1.5-approximation algorithm
32Optimization problems
INSTANCE FEASIBLE SOLUTIONS c SOLUTIONS?
R OPT min c(T)
T? FEASIBLE SOLUTIONS
?-APPROXIMATION ALGORITHM INSTANCE ? T
c(T)?? OPT
33?-APPROXIMATION ALGORITHM INSTANCE ? T
c(T)?? OPT
PTAS
Polynomial-time approximation scheme
polynomial-time (1?)-approximation algorithm
for any constant ?gt0
FPTAS
Fully polynomial-time approximation scheme
(1?)-approximation algorithm running in time
poly(INPUT,1/?)