1 / 39

The instructor will be absent on March 29 th . The class resumes on March 31 st .

The instructor will be absent on March 29 th . The class resumes on March 31 st. Section 9-7 PTAS. Error Ratio Polynomial-Time Approximation Scheme A family of approximation algorithms For any pre-specified E, there exists an approximation algorithm with error ratio E

quasar
Download Presentation

The instructor will be absent on March 29 th . The class resumes on March 31 st .

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The instructor will be absent on March 29th. • The class resumes on March 31st.

  2. Section 9-7 PTAS • Error Ratio • Polynomial-Time Approximation Scheme • A family of approximation algorithms • For any pre-specified E, there exists an approximation algorithm with error ratio E • And the complexity is still polynomial • O(n/E)

  3. Planar Graph • Definition: A graph is said to be embedded on a surface S if it can be drawn on S so that its edges intersect only at their end vertices. • A graph is a planar graph if it can be embedded on a plane.

  4. Examples

  5. Face • Definition: A face is a region defined by a planar embedding. • The unbound face is called exterior face • e.g. 1-4-3-2-1 • All other faces are called interior faces. • e.g. 1-2-6-5-1 4 1 5 8 6 7 2 3

  6. k-outerplanar • In a planar graph, we can associate each node with a level. • Node on exterior face are of level 1. • A graph is k-outerplanar if it has no nodes with level greater than k. 5 6 4 1 7 2 3

  7. Example 5 4 12 11 10 17 16 14 9 8 3 15 13 6 7 1 2

  8. Level 1 5 4 12 11 10 17 16 14 9 8 3 15 13 6 7 1 2

  9. Level 2 12 11 10 17 16 14 9 8 15 13 6 7

  10. Level 3 17 16 15

  11. Max Independent Set Problem • c.f Maximum & Maximal. • Maximum independent set problem on planar graphs is NP-hard. • For a k-outerplanar graph, an optimal solution for the maximum independent set problem can be found in O(8kn) time, • through the dynamic programming approach • n is the number of vertices.

  12. A Planar Graph with 9 Levels

  13. Nodes on Level 1,4,7

  14. Nodes on Level 2,5,8

  15. Nodes on Level 3,6,9

  16. This is a 2-outerplanar graph. Maximum Independent Set Problem can be solved in O(8kn) time, where k=2. Graph Obtained by Removing Nodes on Level 3,6,9

  17. Algorithm 9-7 An Approximation Algorithm to Solve the Max Independent Set Problem on Planar Graph • Step 1. For all i = 0, 1, 2, …, k, do • (1.1) Let Gi be the graph obtained by deleting all nodes with levels congruent to i (mod k+1). The remaining subgraphs are all k-outerplanar graphs. • (1.2) For each k-outerplanar graph, find its maximum independent set. Let Si denote the union of these solutions. • Step 2. Among S0, S1, …, Sk, choose the Sj with the maximum size and let it be our approximation solution SAPX. Time Complexity: O(8kkn)

  18. Analysis • All nodes are divided into (k+1) classes • Each class corresponds to a level congruent to i (mod k+1), for i = 0, 1, …, k. • For every independent set S, the average number of nodes in this set for each class is |S|/(k+1). • There is at least one r, such that at most 1/(k+1) of vertices in SOPT are at a level which is congruent to r (mod k+1).

  19. Analysis (cont.) • Because at most |SOPT|/(k+1) nodes are deleted, the solution Sr obtained by deleting the nodes in class r from SOPT will have at least |SOPT|(1 – 1/(k+1)) = |SOPT| k/(k+1) nodes. • |Sr||SOPT| k/(k+1) • According to our algorithm, |SAPX| |Sr|

  20. PTAS • If we set k = ceiling(1/E) –1, the above formula becomes • Thus for every given error bound E, we have a corresponding k to guarantee that the approximate solution differs from the optimum one within this error ratio. • No matter how small the error is, the complexity of the algorithm is O(8kkn), which is polynomial with respect to n.

  21. 0/1 Knapsack Problem • n objects, each with a weight wi > 0 a profit pi > 0 • capacity of knapsack : M • Maximize • Subject to • xi = 0 or 1, 1 i n

  22. Greedy on Density • M=2k, APX=2k+3, OPT=4k • M=2k+1, APX=OPT=4k+3

  23. PTAS of 0/1 Knapsack Problem • We shall demonstrate how to obtain an approximation algorithm with error ratio , no matter how small  is.

  24. Step 1: Sort the items according to the density.

  25. Step 2: Calculate a number Q • Find the largest d such that W=w1+w2+…+wdM. • If d=n or W=M, then • Set PAPX =p1+p2+…+pd and INDICES={1,2,…,d} and stop. • In this case, POPT=PAPX • Otherwise, set Q=p1+p2+…+pd +pd+1 • For our case, d=3 and Q=90+61+50+33=234

  26. Characteristics of Q • p1+p2+…+pd POPT • wd+1M, therefore pd+1 is a feasible solution • pd+1 POPT • Q= p1+p2+… +pd+pd+1 2POPT • POPT is a feasible solution and Q is not, so POPTQ • Q/2POPTQ

  27. Step 3: Calculate a normalizing factor  •  =Q( /3)2 • Let  to be 0.6 • In our case, =234(0.6/3)2=234(0.2)2=9.36 • Calculate • Set T=Q( /3) • In our case, T = 234(0.6/3)=46.8

  28. Step 4.1: SMALL & BIG • Let SMALL collect all items whose profits are smaller than or equial to T. • Collect all other items into BIG. • In our case, • SMALL = {4, 5, 6, 7, 8} • BIG = {1, 2, 3}

  29. Step 4.2 Normalize items in BIG In our case,

  30. Step 4.3 Initialize an array A • Array A has size g. Each entry corresponds to a combination of pi’s. • Each entry A[i] consists of three fields • I: index of the combination • P: sum of profits • W: sum of weights

  31. Step 4.4 Run a dynamic programming on items in BIG • When i=1, p1’=9

  32. When i=2, p2’=6

  33. When i=3, p3’=5

  34. Step 5. Add items in SMALL using the greedy algorithm Step 6: Pick the largest profit to be our approximate solution

  35. Why is it polynomial? • Step 4.4 is an exhaustive scanning step. • Intuitively, it will take exponential time: • 2|BIG| • Actually, the size of array A is not longer than g.

  36. Time Complexity • Step 1: O(n log n) • Step 2: O(n) • Step 4.1 to 4.2: O(n) • Step 4.3: O(g) • Step 4.4: O(ng) • Step 5: O(ng) • Step 6: O(g) • Total: • O(n log n) + O(ng) = O(n log n) + O(n(3/)2).

  37. Error Analysis

  38. Exercise • Use the example given in P.493, • Run the PTAS with =0.75. • What is the solution you obtain? • What is the error ratio? • Due: April 14th • The instructor will be absent in next week.

  39. Exercise • Write a program which runs the PTAS of 0/1 Knapsack Problem. (Due: April 19th) • Input format: 8 100 0.75 90 33 61 30 50 25 33 17 29 15 23 12 15 10 13 9

More Related