lecture approximation algorithms lecture approximation
play

Lecture: Approximation Algorithms Lecture: Approximation Algorithms - PowerPoint PPT Presentation

Lecture: Approximation Algorithms Lecture: Approximation Algorithms Jannik Matuschke November 5, 2018 Dynamic Programming Example I: The Knapsack Problem The Knapsack Problem Input: set of n items I , capacity B , for each item i [ n ]:


  1. Lecture: Approximation Algorithms Lecture: Approximation Algorithms Jannik Matuschke November 5, 2018

  2. Dynamic Programming Example I: The Knapsack Problem

  3. The Knapsack Problem Input: set of n items I , capacity B , for each item i ∈ [ n ]: value v i , size s i (all integers) Task: find S ⊆ I with � i ∈ S s i ≤ B , maximizing value � i ∈ S v i

  4. A dynamic program Idea: store all “good” subsets of { 1 , . . . , j } in A ( j )

  5. A dynamic program Idea: store all “good” subsets of { 1 , . . . , j } in A ( j ) Dominance : X � Y : ⇔ s ( X ) ≤ s ( Y ) and v ( X ) ≥ v ( Y ) We don’t need Y if we have X ...

  6. A dynamic program Idea: store all “good” subsets of { 1 , . . . , j } in A ( j ) Dominance : X � Y : ⇔ s ( X ) ≤ s ( Y ) and v ( X ) ≥ v ( Y ) We don’t need Y if we have X ... Algorithm 1 (DP for Knapsack) 1 A (0) := {∅} 2 for j := 1 to n A ( j ) := A ( j − 1) for each X ∈ A ( j ) if s ( X ) + s j ≤ B then add X ∪ { j } to A ( j ) while ( ∃ X , Y ∈ A ( j ) with X � Y ) remove Y from A ( j ) 3 return X ∈ A ( n ) maximizing v ( X )

  7. An approximation scheme Idea: make V smaller by scaling all v i down (and rounding)

  8. An approximation scheme Idea: make V smaller by scaling all v i down (and rounding) Let’s try to get a (1 − ε )-approximation for some ε > 0.

  9. An approximation scheme Idea: make V smaller by scaling all v i down (and rounding) Let’s try to get a (1 − ε )-approximation for some ε > 0. Algorithm 2 (FPTAS for Knapsack) µ := ε M 1 M := max { v i : i ∈ [ n ] , s i ≤ B } , n 2 v ′ i := ⌊ v i /µ ⌋ for all i ∈ [ n ] 3 Solve instance with v ′ instead of v , using Algorithm 1.

  10. An approximation scheme Idea: make V smaller by scaling all v i down (and rounding) Let’s try to get a (1 − ε )-approximation for some ε > 0. Algorithm 2 (FPTAS for Knapsack) µ := ε M 1 M := max { v i : i ∈ [ n ] , s i ≤ B } , n 2 v ′ i := ⌊ v i /µ ⌋ for all i ∈ [ n ] 3 Solve instance with v ′ instead of v , using Algorithm 1. Polynomial-time Approximation Scheme (PTAS): (1 − ε )-approximation for every ε > 0 Fully Polynomial-time Approximation Scheme (FPTAS): (1 − ε )-approximation for every ε > 0, running time polynomial in encoding and 1 /ε

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