theory of computation chapter 13 approximability
play

Theory of Computation Chapter 13: Approximability Guan-Shieng Huang - PowerPoint PPT Presentation

Theory of Computation Chapter 13: Approximability Guan-Shieng Huang Jan. 3, 2007 0-0 Decision v.s. Optimization Problems decision problems: expect a yes/no answer optimization problems: expect an optimal solution from all


  1. Theory of Computation Chapter 13: Approximability Guan-Shieng Huang Jan. 3, 2007 0-0

  2. ✬ ✩ Decision v.s. Optimization Problems decision problems: expect a “yes”/“no” answer optimization problems: expect an optimal solution from all feasible solutions ✫ ✪ 1

  3. ✬ ✩ When an optimization problem is proved to be NP-complete, the next step is • to find useful heuristics • to develop approximation algorithms • to use randomness • to invest on average-case analyses ✫ ✪ 2

  4. ✬ ✩ Definition (optimization problem) 1. For each instance x there is a set of feasible solutions F ( x ). 2. For each y ∈ F ( x ), there is a positive integer m ( x, y ), which measures the the cost (or benefit) of y . 3. OPT ( x ) = m ∗ ( x ) = min y ∈ F ( x ) m ( x, y )(minimization problem) OPT ( x ) = m ∗ ( x ) = max y ∈ F ( x ) m ( x, y )(maximization problem) Definition (NPO) NPO is the class of all optimization problems whose decision counterparts are in NP. 1. y ∈ F ( x ) ⇒ | y | ≤ | x | k for some k ; 2. whether y ∈ F ( x ) can be determined in polynomial time; 3. m ( x, y ) can be evaluated in poly. time. ✫ ✪ 3

  5. ✬ ✩ (Relative approximation) Definition x : an instance of an optimization problem P y : any feasible solution of x | m ∗ ( x ) − m ( x, y ) | E ( x, y ) = max { m ∗ ( x ) , m ( x, y ) } Remarks 1. 0 ≤ E ( x, y ) ≤ 1; 2. E ( x, y ) = 0 when the solution is optimal; 3. E ( x, y ) → 1 when the solution is very poor. ✫ ✪ 4

  6. ✬ ✩ Definition (Performance ratio) x : an instance of an optimization problem P y : any feasible solution of x m ∗ ( x ) , m ∗ ( x ) � m ( x, y ) � R ( x, y ) = max m ( x, y ) Remarks 1. R ( x, y ) ≥ 1; 2. R ( x, y ) = 1 means that y is optimal; 1 3. E ( x, y ) = 1 − R ( x,y ) . ✫ ✪ 5

  7. ✬ ✩ Definition ( r -approximation) A ( x ): approximate solution of x for algorithm A We say A is an r -approximation if ∀ x R ( x, A ( x )) ≤ r. Remark An r -approximation is also an r ′ -approximation if r ≤ r ′ . That is, the approximation becomes more difficult as r becomes smaller. Definition (APX) APX is the class of all NPO problems that have r -approximation algorithm for some constant r . ✫ ✪ 6

  8. ✬ ✩ Definition (Polynomial-time approximation scheme) P : NPO problem We say A is a PTAS for P if 1. A has two parameters r and x where x ’s are instances of P ; 2. when r is fixed to a constant with r > 1, A ( r, x ) returns an r -approximate solution of x in polynomial time in | x | . Remark The time complexity of A could be 1 1 O ( n max { r − 1 , 2 } ) , O ( n 5 ( r − 1) − 100 ) , O ( n 5 2 r − 1 ) where n = | x | . All of these are polynomial in n . ✫ ✪ 7

  9. ✬ ✩ Definition (PTAS) PTAS is the class of all NPO problems that admit a polynomial tome approximation scheme. Definition (Fully polynomial-time approximation scheme) 1. A has two parameters r and x where x ’s are instances of P ; 2. A ( r, x ) returns an r -approximate solution of x in polynomial 1 time both in | x | and r − 1 (since the approximation becomes more difficult when r → 1). ✫ ✪ 8

  10. ✬ ✩ Node Cover Problem Given a graph G = ( V, E ), seek a smallest set of nodes C ⊆ V such that for each edge E at least one of its endpoints is in C . Greedy heuristic: 1. Let C = ∅ . 2. While there are still edges left in G , choose the node in G with the largest degree, add it to C , and delete it from G . However, the performance ratio is lg n . ✫ ✪ 9

  11. ✬ ✩ 2-approximation algorithm 1. Let C = ∅ . 2. While there are still edges left in G do (a) choose any edge ( u, v ); (b) add both u and v to C ; (c) delete both u and v from G . Theorem This algorithm is a 2-approximation algorithm. C contains 1 2 | C | edges that share no common nodes. The Proof. optimum must contain at least one end points of these edges. ∴ OPT ( G ) ≥ 1 | C | 2 | C | ⇒ OPT ( G ) ≤ 2 . ✫ ✪ 10

  12. ✬ ✩ Maximum Satisfiability (MAXSAT) Problem Given a set of clauses, find a truth assignment that satisfies the most of the clauses. The following is a probabilistic argument that leads us to choose a good assignment. 1. If Φ has m clauses C 1 ∧ C 2 ∧ · · · ∧ C m , the expected number of satisfied clauses is m � S (Φ) = Pr[ T | = C i ] where T is a random assignment . i =1 2. However, S (Φ) = 1 2 · S (Φ | x 1 =1 ) + 1 2 · S (Φ | x 1 =0 ) . ✫ ✪ 11

  13. ✬ ✩ Hence at least one choice of x 1 = t 1 can make S (Φ) ≤ S (Φ | x 1 = t 1 ) where t i ∈ { 0 , 1 } . 3. We can continue this process for i = 2 , . . . , n , and finally S (Φ) ≤ S (Φ | x 1 = t 1 ) ≤ S (Φ | x 1 = t 1 ,x 2 = t 2 ) ≤ · · · ≤ S (Φ | x 1 = t 1 ,...,x n = t n ) . That is, we get an assignment { x 1 = t 1 , x 2 = t 2 , . . . , x n = t n } that satisfies at least S (Φ) clauses. 4. If each C i has at least k literals, we have = C ] = E [C is satisfiable] ≥ 1 − 1 T [ T | Pr 2 k . m = C i ] ≥ m (1 − 1 � ∴ S (Φ) = Pr T [ T | 2 k ) . i =1 That is, we get an assignment that satisfies at least m (1 − 1 2 k ) ✫ ✪ clauses. 12

  14. ✬ ✩ 5. There are at most m clauses that can be satisfied (i.e. an upper bound for the optimum). 1 m ∴ performance ratio ≤ 2 k ) = 1 + 2 k − 1 . 1 m (1 − 6. Since k is always at least 1, the above algorithm is a 2-approximation algorithm for MAXSAT. ✫ ✪ 13

  15. ✬ ✩ Maximum Cut (MAX-CUT) Problem Given a graph G = ( V, E ), partition V into two sets S and V − S such that there are as many edges as possible between S and V − S . Algorithm based on local improvement 1. Start from any partition S . 2. If the cut can be made large by • adding a single node to S , or by • removing a single node from S , then do so; Until no improvement is possible. ✫ ✪ 14

  16. ✬ ✩ This is a 2-approximation algorithm. Theorem Proof. 1. Decompose V into four parts: V = V 1 ∪ V 2 ∪ V 3 ∪ V 4 such that our heuristic is ( V 1 ∪ V 2 , V 3 ∪ V 4 ) where as the optimum is ( V 1 ∪ V 3 , V 2 ∪ V 4 ). 2. Let e ij be the number of edges between V i and V j for 1 ≤ i ≤ j ≤ 4. 3. Then we want to bound e 12 + e 14 + e 23 + e 34 e 13 + e 14 + e 23 + e 24 by a constant. 4. 2 e 11 + e 12 ≤ e 13 + e 14 ⇒ e 12 ≤ e 13 + e 14 ; ✫ ✪ e 12 ≤ e 23 + e 24 ; 15

  17. ✬ ✩ e 34 ≤ e 23 + e 13 ; e 34 ≤ e 14 + e 24 . 5. ∴ e 12 + e 34 ≤ e 13 + e 14 + e 23 + e 24 ; e 14 + e 23 ≤ e 13 + e 14 + e 23 + e 24 . 6. ∴ e 12 + e 14 + e 23 + e 34 ≤ 2( e 13 + e 14 + e 23 + e 24 ) . Therefore, the performance ratio is bounded above by 2. ✫ ✪ 16

  18. ✬ ✩ Traveling Salesman Problem Unless P = NP , there is no constant performance Theorem ratio for TSP. (That is, TSP �∈ APX unless P = NP .) Suppose TSP is c -approximable for some constant c . Proof. Then we can solve Hamilton Cycle in polynomial time. 1. Given any graph G = ( V, E ), assign  if ( i, j ) ∈ E 1  d ( i, j ) = c | V | if ( i, j ) �∈ E  2. If there is a c -approximation that can solve this instance in polynomial time, we can determine whether G has an HC in poly. time. 3. Suppose G has an HC. Then the approximation algorithm ✫ ✪ returns a solution with total distance at most c | V | , which 17

  19. ✬ ✩ means it cannot include any ( i, j ) �∈ E . There is a 3 2 -approximation algorithm for TSP when its Remark distance satisfies the triangle inequality d ( i, j ) + d ( j, k ) ≤ d ( i, k ). ✫ ✪ 18

  20. ✬ ✩ Knapsack Given n weights w i , 1 , . . . , n , a weight limit W , and n Problem values v i , i = 1 , . . . , n , find a subset S ⊆ { 1 , 2 , . . . , n } such that � i ∈ S w i ≤ W and � i ∈ S v i is maximum. ✫ ✪ 19

  21. ✬ ✩ Pseudopolynomial algorithm V ( w, i ): the largest value from the first i items so that their total weight is ≤ w max { V ( w, i − 1) , V ( w − w i , i − 1) + v i } V ( w, i ) = V ( w, 0) = 0 The time complexity is O ( n W ). ✫ ✪ 20

  22. ✬ ✩ Another algorithm 1. Let V = max { v 1 , v 2 , . . . , v n } . 2. Define W ( i, v ) to be the minimum weight from the first i items so that their total value is V . 3. W ( i, v ) = min { W ( i − 1 , v ) , W ( i − 1 , v − v i ) + w i } W (0 , 0) = 0 W (0 , v ) = ∞ if v > 0 . Time complexity is O ( n 2 V ) since 1 ≤ i ≤ n and 0 ≤ v ≤ n V . ✫ ✪ 21

  23. ✬ ✩ Approximation algorithm Given x = ( w 1 , . . . , w n , W , v 1 , . . . , v n ), construct x ′ = ( w 1 , . . . , w n , W , v ′ i = 2 b · ⌊ v i 1 , . . . , v ′ n ) where v ′ 2 b ⌋ for some We can find optimal solution for x ′ in time O ( n 2 V parameter b . 2 b ), using it as an approximate solution for x . The above approximation algorithm is a Theorem polynomial-time approximation scheme. (In fact, it is an FPTAS.) Proof. � � � � � v ′ v ′ v i − n 2 b . v i ≥ v i ≥ i ≥ i ≥ i ∈ S i ∈ S ′ i ∈ S ′ i ∈ S i ∈ S S : optimal for x ; S ′ : optimal for x ′ ✫ ✪ 22

  24. ✬ ✩ Performance ratio � � i ∈ S v i i ∈ S v i 1 1 1 ≤ i ∈ S v i − n 2 b = ≤ ≤ n 2 b 1 − n 2 b � � 1 − ǫ i ∈ S ′ v i 1 − � V i ∈ S v i by setting b = ⌈ lg ǫ V n ⌉ . Time complexity becomes O ( n 2 V 2 b ) = O ( n 3 ǫ ). 1 ∴ performance ratio = 1 − ǫ , which can be arbitrarily close to 1. ✫ ✪ 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend