knapsack with removability
play

Knapsack with Removability Hans-Joachim Bckenhauer, Jan Dreier, - PowerPoint PPT Presentation

Threshold Behaviors in Advice Complexity Knapsack with Removability Hans-Joachim Bckenhauer, Jan Dreier, Fabian Frei , Peter Rossmanith August 28, 2020 Virtual satellite workshop of MFCS 2020 Online Problems and Advice Brief Recapitulation


  1. 1 Advice Bit: Lower Bound Hard Instance Family x 1 x 2 x 3 y 2 y 3 ψ 1 − ψ 2 + ε ψ 2 I 1 : ψ 1 − ψ 2 + ε ψ 2 1 − ψ 2 ψ 2 I 2 : ψ 1 − ψ 2 + ε ψ 2 − ε ψ 2 I 3 : ψ 1 − ψ 2 where ψ ≈ 0 . 78 is the positive root of 2(1 − x 2 ) = x Competitive Analysis Unique Optimum Second Best Competitivity ψ 2 ψ/ψ 2 I 1 : ψ 2(1 − ψ 2 ) + ε 1 / (2(1 − ψ 2 ) + ε ) I 2 : 1 I 3 : 1 ψ 1 /ψ

  2. 1 Advice Bit: Lower Bound Hard Instance Family x 1 x 2 x 3 y 2 y 3 ψ 1 − ψ 2 + ε ψ 2 I 1 : ψ 1 − ψ 2 + ε ψ 2 1 − ψ 2 ψ 2 I 2 : ψ 1 − ψ 2 + ε ψ 2 − ε ψ 2 I 3 : ψ 1 − ψ 2 where ψ ≈ 0 . 78 is the positive root of 2(1 − x 2 ) = x Competitive Analysis Unique Optimum Second Best Competitivity ψ 2 ψ/ψ 2 I 1 : ψ 2(1 − ψ 2 ) + ε 1 / (2(1 − ψ 2 ) + ε ) I 2 : 1 I 3 : 1 ψ 1 /ψ

  3. 1 Advice Bit: Lower Bound Hard Instance Family x 1 x 2 x 3 y 2 y 3 ψ 1 − ψ 2 + ε ψ 2 I 1 : ψ 1 − ψ 2 + ε ψ 2 1 − ψ 2 ψ 2 I 2 : ψ 1 − ψ 2 + ε ψ 2 − ε ψ 2 I 3 : ψ 1 − ψ 2 where ψ ≈ 0 . 78 is the positive root of 2(1 − x 2 ) = x Competitive Analysis Unique Optimum Second Best Competitivity ψ 2 ψ/ψ 2 I 1 : ψ 2(1 − ψ 2 ) + ε 1 / (2(1 − ψ 2 ) + ε ) I 2 : 1 I 3 : 1 ψ 1 /ψ

  4. 1 Advice Bit: Lower Bound Hard Instance Family x 1 x 2 x 3 y 2 y 3 ψ 1 − ψ 2 + ε ψ 2 I 1 : ψ 1 − ψ 2 + ε ψ 2 1 − ψ 2 ψ 2 I 2 : ψ 1 − ψ 2 + ε ψ 2 − ε ψ 2 I 3 : ψ 1 − ψ 2 where ψ ≈ 0 . 78 is the positive root of 2(1 − x 2 ) = x Competitive Analysis Unique Optimum Second Best Competitivity ψ 2 I 1 : ψ 1 /ψ 2(1 − ψ 2 ) + ε I 2 : 1 1 /ψ + ε I 3 : 1 ψ 1 /ψ

  5. 1 Advice Bit: Lower Bound Hard Instance Family x 1 x 2 x 3 y 2 y 3 ψ 1 − ψ 2 + ε ψ 2 I 1 : ψ 1 − ψ 2 + ε ψ 2 1 − ψ 2 ψ 2 I 2 : ψ 1 − ψ 2 + ε ψ 2 − ε ψ 2 I 3 : ψ 1 − ψ 2 where ψ ≈ 0 . 78 is the positive root of 2(1 − x 2 ) = x Competitive Analysis Unique Optimum Second Best Competitivity ψ 2 I 1 : ψ 1 /ψ 2(1 − ψ 2 ) + ε I 2 : 1 1 /ψ + ε I 3 : 1 ψ 1 /ψ

  6. 1 Advice Bit: Lower Bound Hard Instance Family x 1 x 2 x 3 y 2 y 3 ψ 1 − ψ 2 + ε ψ 2 I 1 : ψ 1 − ψ 2 + ε ψ 2 1 − ψ 2 ψ 2 I 2 : ψ 1 − ψ 2 + ε ψ 2 − ε ψ 2 I 3 : ψ 1 − ψ 2 where ψ ≈ 0 . 78 is the positive root of 2(1 − x 2 ) = x Competitive Analysis Unique Optimum Second Best Competitivity ψ 2 I 1 : ψ 1 /ψ ≈ 1 . 28 2(1 − ψ 2 ) + ε I 2 : 1 vs. I 3 : 1 ψ 1 /ψ 10 / 7 ≈ 1 . 43

  7. 1 Advice Bit Upper Bound

  8. 1 Advice Bit: Improved Upper Bound High-Level Outline Only • Divide items into 5 size classes • Two different packing strategies • Use advice bit to indicate which one is better √ • Yields a 2-competitive algorithm little large tiny small medium big huge 0 1

  9. Near-Optimality Using Constant Advice

  10. Near-Optimality with Constant Advice Algorithm Requirements • Takes parameter ε > 0 • Is (1 + ε )-competitive • Uses only constant advice

  11. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  12. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  13. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  14. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  15. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  16. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  17. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  18. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  19. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  20. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · (1 − ε ) E (1 − ε ) E − 2 (1 − ε ) 2 0 1

  21. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · ε (1 − ε ) E − 2 (1 − ε ) 2 0 1

  22. Near-Optimality with Constant Advice Algorithm Outline • Given ε > 0 • Let E = log 1 − ε ε • Divide items into E + 1 size classes as shown below (1 − ε ) E − 1 (1 − ε ) 3 1 − ε · · · ε (1 − ε ) E − 2 (1 − ε ) 2 0 1 Big items Small items

  23. Near-Optimality with Constant Advice What does the advice encode? • Oracle fixes arbitrary optimal solution S • Let u 1 , . . . , u k denote big items of S in appearance order • Let c i denote size class of u i • The advice encodes ( c 1 , . . . , c k )

  24. Near-Optimality with Constant Advice Only constant advice • 2 k ⌈ log 2 ( E + 1) ⌉ bits suffice to encode ( c 1 , . . . , c k ) – There are E classes for big items – Thus one class indicated by ⌈ log 2 ( E + 1) ⌉ bits – A self-delimiting encoding: 2 ⌈ log 2 ( E + 1) ⌉ bits

  25. Near-Optimality with Constant Advice Only constant advice • 2 k ⌈ log 2 ( E + 1) ⌉ bits suffice to encode ( c 1 , . . . , c k ) – There are E classes for big items – Thus one class indicated by ⌈ log 2 ( E + 1) ⌉ bits – A self-delimiting encoding: 2 ⌈ log 2 ( E + 1) ⌉ bits • This is constant advice: – The number k of big elements in S is bounded by 1 /ε – Recall that E = log 1 − ε ( ε )

  26. Near-Optimality with Constant Advice Algorithm Procedure • Big items: Packed into k virtual slots – Slot i accommodates items from class c i exclusively – In the beginning, the slots are empty – Each slot is filled with exactly one big item – The slots are filled strictly in their order – Items in filled slots replaced by smaller ones if possible

  27. Near-Optimality with Constant Advice Algorithm Procedure • Big items: Packed into k virtual slots – Slot i accommodates items from class c i exclusively – In the beginning, the slots are empty – Each slot is filled with exactly one big item – The slots are filled strictly in their order – Items in filled slots replaced by smaller ones if possible • Small items: Packed greedily – Removed one by one whenever needed to pack a big one

  28. Example Execution of the Algorithm

  29. Execution Example Optimal Solution:

  30. Execution Example 0 1 Optimal Solution:

  31. Execution Example Optimal Solution: 2 1 3 2

  32. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice:

  33. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2

  34. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output:

  35. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output:

  36. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output:

  37. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output:

  38. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2

  39. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2

  40. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1

  41. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1

  42. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3

  43. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3

  44. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3

  45. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3

  46. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3

  47. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3

  48. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  49. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  50. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  51. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  52. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  53. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  54. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  55. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  56. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  57. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  58. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  59. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  60. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

  61. Execution Example Optimal Solution: 2 1 3 2 ( c 1 , c 2 , c 3 , c 4 ) = (2 , 1 , 3 , 2) Advice: Input: 1 2 1 3 2 3 2 2 1 1 3 2 Output: 2 1 3 2

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