390 likes | 498 Views
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
E N D
The instructor will be absent on March 29th. • The class resumes on March 31st.
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)
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.
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
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
Example 5 4 12 11 10 17 16 14 9 8 3 15 13 6 7 1 2
Level 1 5 4 12 11 10 17 16 14 9 8 3 15 13 6 7 1 2
Level 2 12 11 10 17 16 14 9 8 15 13 6 7
Level 3 17 16 15
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.
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
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)
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).
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|
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.
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
Greedy on Density • M=2k, APX=2k+3, OPT=4k • M=2k+1, APX=OPT=4k+3
PTAS of 0/1 Knapsack Problem • We shall demonstrate how to obtain an approximation algorithm with error ratio , no matter how small is.
Step 2: Calculate a number Q • Find the largest d such that W=w1+w2+…+wdM. • 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
Characteristics of Q • p1+p2+…+pd POPT • wd+1M, 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 POPTQ • Q/2POPTQ
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
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}
Step 4.2 Normalize items in BIG In our case,
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
Step 4.4 Run a dynamic programming on items in BIG • When i=1, p1’=9
Step 5. Add items in SMALL using the greedy algorithm Step 6: Pick the largest profit to be our approximate solution
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.
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).
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.
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