Vertex cover problem

# Vertex cover problem

Télécharger la présentation

## Vertex cover problem

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

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 OPT  k |S| = 2k

11. Algorithm 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

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  n/k  = k=2

17. Algorithm 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) k=2 k=2 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 (ln n)-approximation 2-approximation

19. Hamiltonian cycle problem Hamiltonian cycle in (undirected) graph G=(V,E) C=u1,u2,...,un, such that every vertex vV occurs in C exactly once ui,ui+1 E for i=1,...,n-1 u1,un  E

20. Hamiltonian cycle problem Hamiltonian cycle in (undirected) graph G=(V,E) C=u1,u2,...,un, such that every vertex vV occurs in C exactly once ui,ui+1 E for i=1,...,n-1 u1,un  E

21. Hamiltonian cycle problem Hamiltonian cycle in (undirected) graph G=(V,E) C=u1,u2,...,un, such that every vertex vV occurs in C exactly once ui,ui+1 E for i=1,...,n-1 u1,un  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 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

32. Optimization 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 >0 FPTAS Fully polynomial-time approximation scheme (1+)-approximation algorithm running in time poly(INPUT,1/)