Download presentation
Presentation is loading. Please wait.
1
Vertex cover problem S V such that for every {u,v} E u S or v S (or both)
2
Vertex cover problem S V such that for every {u,v} E u S or v S (or both)
3
Vertex 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 ?
4
Vertex 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 ?
5
Vertex 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 ?
6
Vertex 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
7
Vertex cover problem OPTIMIZATION VERSION: INPUT: graph G OUTPUT: vertex cover S of minimum-size
8
Vertex 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
9
Algorithm 2: find a maximal matching M in G, for each {u,v} M put both u,v in S k edges |S| = 2k
10
Algorithm 2: find a maximal matching M in G, for each {u,v} M put both u,v in S k edges |S| = 2k OPT k
11
Algorithm 2: find a maximal matching M in G, for each {u,v} M put both u,v in S k edges |S| = 2k OPT k |S| 2 OPT 2-approximation algorithm
12
Algorithm 1: pick a vertex v with the largest degree, put v in S, remove v and adjacent edges from G, repeat n
13
Algorithm 1: pick a vertex v with the largest degree, put v in S, remove v and adjacent edges from G, repeat n/2
14
Algorithm 1: pick a vertex v with the largest degree, put v in S, remove v and adjacent edges from G, repeat
15
Algorithm 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
16
Algorithm 1: pick a vertex v with the largest degree, put v in S, remove v and adjacent edges from G, repeat n/k k=2 n =
17
Algorithm 1: pick a vertex v with the largest degree, put v in S, remove v and adjacent edges from G, repeat n/k k=2 n (n/k – 1) (n ln n) – 2n = (n ln n) k=2 n OPT = n Algorithm 1 has approximation ratio (ln n)
18
Vertex 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 2-approximation ln n)-approximation
19
Hamiltonian cycle problem Hamiltonian cycle in (undirected) graph G=(V,E) C=u 1,u 2,...,u n, such that every vertex v V occurs in C exactly once u i,u i+1 E for i=1,...,n-1 u 1,u n E
20
Hamiltonian cycle problem Hamiltonian cycle in (undirected) graph G=(V,E) C=u 1,u 2,...,u n, such that every vertex v V occurs in C exactly once u i,u i+1 E for i=1,...,n-1 u 1,u n E
21
Hamiltonian cycle problem Hamiltonian cycle in (undirected) graph G=(V,E) C=u 1,u 2,...,u n, such that every vertex v V occurs in C exactly once u i,u i+1 E for i=1,...,n-1 u 1,u n E NP-complete problem
22
Travelling 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
23
Travelling 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
24
Travelling 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 ?
25
Metric 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 ?
26
Metric 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)
27
Metric TSP compute the d(u,v) compute MST T weight(T) OPT
28
Metric TSP compute the d(u,v) compute MST T weight(T) OPT 2-approximation algorithm
29
Euler tour when can a graph be drawn without lifting a pen, and without drawing the same edge twice?
30
Euler 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?
31
Metric TSP compute the d(u,v) compute MST T find a min-weight perfect matching on odd-degree vertices of T weight(T) OPT weight(M) OPT/2 1.5-approximation algorithm
32
Optimization problems INSTANCE FEASIBLE SOLUTIONS c: SOLUTIONS R + OPT= min c(T) T FEASIBLE SOLUTIONS APPROXIMATION ALGORITHM INSTANCE T c(T) OPT
33
PTAS Polynomial-time approximation scheme polynomial-time (1+ )-approximation algorithm for any constant >0 FPTAS Fully polynomial-time approximation scheme (1+ )-approximation algorithm running in time poly(INPUT,1/ ) APPROXIMATION ALGORITHM INSTANCE T c(T) OPT
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.