an improved fptas for 0-1 knapsackย ยท fptas for 0-1 knapsack opt = optimal total profit ( ) for...
TRANSCRIPT
An Improved FPTAS for 0-1 Knapsack
Ce Jin
Tsinghua University
๐ items
Each item ๐ has weight 0 < ๐ค๐ โค ๐and profit ๐๐ > 0
Given:
โข ๐ค ๐ผ โ ฯ๐โ๐ผ๐ค๐ โค ๐โข ๐ ๐ผ โ ฯ๐โ๐ผ ๐๐ is maximized
Find a subset of items ๐ผ โ ๐ such that:
0-1 Knapsack Problem
Knapsack capacity ๐ > 0
๐ items
Each item ๐ has weight 0 < ๐ค๐ โค ๐and profit ๐๐ > 0
Given:
โข ๐ค ๐ผ โ ฯ๐โ๐ผ๐ค๐ โค ๐โข ๐ ๐ผ โ ฯ๐โ๐ผ ๐๐ is maximized
Find a subset of items ๐ผ โ ๐ such that:
A well-known NP-hard problem
0-1 Knapsack Problem
Knapsack capacity ๐ > 0
FPTAS for 0-1 Knapsack
OPT = optimal total profit ๐(๐ผ)
For ๐ > 0, find a subset ๐ผ โ ๐ such that:
โข ๐ค ๐ผ โค ๐
โข ๐ ๐ผ โฅOPT
1+
Solvable in poly ๐,1
time
Prior Work
โข เทจ๐(๐3/๐) (textbook algorithm)
โข เทจ๐(๐ + ๐โ4) [Ibarra and Kim, 1975]
โข เทจ๐(๐ + ๐โ3) [Kellerer and Pferschy, 2004]
โข เทจ๐(๐ + ๐โ2.5) [Rhee, 2015]
โข เทฉ๐ถ(๐ + ๐บโ๐.๐) [Chan, 2018]
FPTAS for 0-1 Knapsack:
Prior Work
โข เทจ๐(๐3/๐) (textbook algorithm)
โข เทจ๐(๐ + ๐โ4) [Ibarra and Kim, 1975]
โข เทจ๐(๐ + ๐โ3) [Kellerer and Pferschy, 2004]
โข เทจ๐(๐ + ๐โ2.5) [Rhee, 2015]
โข เทฉ๐ถ(๐ + ๐บโ๐.๐) [Chan, 2018]
โขเทฉ๐ถ(๐ + ๐บโ๐.๐๐) (this work)
FPTAS for 0-1 Knapsack:
No ๐ ๐ + ๐โ1 2โ๐ฟ time algorithm,
unless ๐ฆ๐ข๐ง,+ convolution has truly subquadratic algo
[Cygan, Mucha, Wฤgrzycki, and Wลodarczyk, 2017]
Conditional Lower Bound:
A Special Case
FPTAS for Subset Sum (๐๐ = ๐ค๐):
โข เทจ๐ min ๐ + ๐บโ๐, ๐๐โ1
[Kellerer, Mansini, Pferschy, and Speranza, 2003]
A Special Case
FPTAS for Subset Sum (๐๐ = ๐ค๐):
โข เทจ๐ min ๐ + ๐บโ๐, ๐๐โ1
[Kellerer, Mansini, Pferschy, and Speranza, 2003]
Our 0-1 Knapsack algorithm utilizes this result
โขOur เทฉ๐ถ(๐ + ๐บโ๐.๐๐) algorithm builds on Chanโs เทฉ๐ถ(๐ + ๐บโ๐.๐) algorithm
โขTwo new ideas
1. Extending Chanโs number-theoretic technique from two levels to multiple levels.
โขOur เทฉ๐ถ(๐ + ๐บโ๐.๐๐) algorithm builds on Chanโs เทฉ๐ถ(๐ + ๐บโ๐.๐) algorithm
โขTwo new ideas
1. Extending Chanโs number-theoretic technique from two levels to multiple levels.
2. A greedy argument โ less computationspent on cheap items (small unit profit ๐๐/๐ค๐)
โขOur เทฉ๐ถ(๐ + ๐บโ๐.๐๐) algorithm builds on Chanโs เทฉ๐ถ(๐ + ๐บโ๐.๐) algorithm
โขTwo new ideas
1. Extending Chanโs number-theoretic technique from two levels to multiple levels.
2. A greedy argument โ less computationspent on cheap items (small unit profit ๐๐/๐ค๐)
This talk
โขOur เทฉ๐ถ(๐ + ๐บโ๐.๐๐) algorithm builds on Chanโs เทฉ๐ถ(๐ + ๐บโ๐.๐) algorithm
โขTwo new ideas
1. Extending Chanโs number-theoretic technique from two levels to multiple levels.
2. A greedy argument โ less computationspent on cheap items (small unit profit ๐๐/๐ค๐)
This talkUsing Chanโs Lemmas
as blackboxes
เทฉ๐ถ(๐ + ๐บโ๐.๐๐๐) algo
Preliminaries (based
on [Chan, 2018])
Preliminaries
โขAssume ๐ โค poly ๐โ1 .
โขToo cheap items (๐๐ < ๐max๐
๐๐) are
discarded at the beginning (loss โค ๐ โ OPT)
So max ๐๐
min ๐๐โค poly ๐โ1
๐ items, capacity = ๐weight 0 < ๐ค๐ โค ๐ and profit ๐๐ > 0
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
weight 0 < ๐ค๐ โค ๐
โข โProfit functionโ (defined over real ๐ฅ โฅ 0)๐๐ผ ๐ฅ = max ๐ ๐ฝ : ๐ฝ โ ๐ผ, ๐ค ๐ฝ โค ๐ฅ
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
weight 0 < ๐ค๐ โค ๐
โข โProfit functionโ (defined over real ๐ฅ โฅ 0)๐๐ผ ๐ฅ = max ๐ ๐ฝ : ๐ฝ โ ๐ผ, ๐ค ๐ฝ โค ๐ฅ
โขTask: compute a 1 + ๐ -approximation of profit function ๐๐ผ,
เทฉ๐๐ผ ๐ฅ โค ๐๐ผ ๐ฅ โค 1 + ๐ เทฉ๐๐ผ ๐ฅ , โ๐ฅ โฅ 0
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
weight 0 < ๐ค๐ โค ๐
โข โProfit functionโ (defined over real ๐ฅ โฅ 0)๐๐ผ ๐ฅ = max ๐ ๐ฝ : ๐ฝ โ ๐ผ, ๐ค ๐ฝ โค ๐ฅ
โขTask: compute a 1 + ๐ -approximation of profit function ๐๐ผ,
เทฉ๐๐ผ ๐ฅ โค ๐๐ผ ๐ฅ โค 1 + ๐ เทฉ๐๐ผ ๐ฅ , โ๐ฅ โฅ 0
โขFor disjoint sets ๐ผ, ๐ฝ of items,
๐๐ผโช๐ฝ ๐ฅ = ๐๐ผ โ๐๐ฝ ๐ฅ โ max0โค๐ฆโค๐ฅ
๐๐ผ ๐ฆ + ๐๐ฝ ๐ฅ โ ๐ฆ
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
weight 0 < ๐ค๐ โค ๐
โข โProfit functionโ (defined over real ๐ฅ โฅ 0)๐๐ผ ๐ฅ = max ๐ ๐ฝ : ๐ฝ โ ๐ผ, ๐ค ๐ฝ โค ๐ฅ
โขTask: compute a 1 + ๐ -approximation of profit function ๐๐ผ,
เทฉ๐๐ผ ๐ฅ โค ๐๐ผ ๐ฅ โค 1 + ๐ เทฉ๐๐ผ ๐ฅ , โ๐ฅ โฅ 0
โขFor disjoint sets ๐ผ, ๐ฝ of items,
๐๐ผโช๐ฝ ๐ฅ = ๐๐ผ โ๐๐ฝ ๐ฅ โ max0โค๐ฆโค๐ฅ
๐๐ผ ๐ฆ + ๐๐ฝ ๐ฅ โ ๐ฆ
โข เทฉ๐๐ผ โ เทฉ๐๐ฝ is a 1 + ๐ -approximation of ๐๐ผโช๐ฝ
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
โขA nondecreasing step function ๐ has a (1 + ๐)-approx. with only เทจ๐ 1/๐ steps (by rounding down to powers of (1 + ๐))
Preliminaries
โขA nondecreasing step function ๐ has a (1 + ๐)-approx. with only เทจ๐ 1/๐ steps (by rounding down to powers of (1 + ๐))
โขโMerging Lemmaโ: Computing (a 1 + ๐ -approx. of) ๐1 โโฏโ๐๐ takes เทจ๐ ๐/๐2
time.
(log๐ depth binary tree. ๐โฒ โ ๐/ log๐)
๐ โ ๐ โ max0โค๐ฆโค๐ฅ
๐ ๐ฆ + ๐ ๐ฅ โ ๐ฆ
โขDivide items into ๐ log 1/๐ groups
(group ๐: ๐๐ โ [2๐ , 2๐+1])
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
weight 0 < ๐ค๐ โค ๐Merging ๐1 โโฏโ๐๐: เทจ๐ ๐/๐2 time.
โขDivide items into ๐ log 1/๐ groups
(group ๐: ๐๐ โ [2๐ , 2๐+1])
โขCompute all ๐๐ and merge them in เทจ๐(1/๐2) time
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
weight 0 < ๐ค๐ โค ๐Merging ๐1 โโฏโ๐๐: เทจ๐ ๐/๐2 time.
โขDivide items into ๐ log 1/๐ groups
(group ๐: ๐๐ โ [2๐ , 2๐+1])
โขCompute all ๐๐ and merge them in เทจ๐(1/๐2) time
โขNow assume ๐๐ โ [1,2]
Preliminaries
๐ โค poly ๐โ1 items
profit max ๐๐/min ๐๐ โค poly ๐โ1
weight 0 < ๐ค๐ โค ๐Merging ๐1 โโฏโ๐๐: เทจ๐ ๐/๐2 time.
โขSimple greedy (sort by unit profit ๐1
๐ค1โฅ
๐2
๐ค2โฅ โฏ)
approximates with additive error ๐ โค max ๐๐ =๐(1)
profit ๐๐ โ 1,2weight 0 < ๐ค๐ โค ๐
Preliminaries
โขSimple greedy (sort by unit profit ๐1
๐ค1โฅ
๐2
๐ค2โฅ โฏ)
approximates with additive error ๐ โค max ๐๐ =๐(1)
โขFor ๐ ๐ค โฅ ฮฉ(๐โ1), this is 1 + ๐(๐)multiplicative approx.
profit ๐๐ โ 1,2weight 0 < ๐ค๐ โค ๐
Preliminaries
โขSimple greedy (sort by unit profit ๐1
๐ค1โฅ
๐2
๐ค2โฅ โฏ)
approximates with additive error ๐ โค max ๐๐ =๐(1)
โขFor ๐ ๐ค โฅ ฮฉ(๐โ1), this is 1 + ๐(๐)multiplicative approx.
โขOnly need to 1 + ๐(๐) approximate ๐ฆ๐ข๐ง ๐ฉ, ๐๐ฐ for ๐ฉ = ๐ถ ๐บโ๐ !
profit ๐๐ โ 1,2weight 0 < ๐ค๐ โค ๐
Preliminaries
โขRound ๐๐ down to 1,1 + ๐, 1 + 2๐, โฆ , 2 โ ๐
1 + ๐ multiplicative error
โขOnly ๐ = ๐(1/๐) different ๐๐ โs!
Preliminaries
๐๐ โ 1,2
โขRound ๐๐ down to 1,1 + ๐, 1 + 2๐, โฆ , 2 โ ๐
1 + ๐ multiplicative error
โขOnly ๐ = ๐(1/๐) different ๐๐ โs!
โขCollect all items with the same profit ๐. Then ๐๐ can be computed by simple greedy (sort ๐ค1 โค ๐ค2 โค โฏ)
Preliminaries
๐๐ โ 1,2
Recap
๐๐ โ 1,2
Profit functions ๐1, โฆ , ๐๐ obtained by simple
greedy (one for every ๐๐) (๐ = ๐(1/๐) )
Task: 1 + ๐ ๐ approximate
min ๐ต, ๐1 โโฏโ๐๐ (๐ต = ๐(๐โ1))
Lemma: Merging ๐1 โโฏโ๐๐ in เทจ๐ ๐/๐2 time.
(Immediately gives เทจ๐(๐ + ๐โ3) algo)
๐ items with ๐ = ๐(๐โ1) distinct profit values ๐๐ โ 1,2Task: 1 + ๐ ๐ approximate
min ๐ต, ๐1 โโฏโ๐๐(๐ต = ๐(๐โ1))
เทจ๐ ๐โ1 ๐ต๐ algo(faster when ๐ฉ small)
เทจ๐(๐โ4/3๐ + ๐โ2) algo(faster when ๐ small)
Chanโs results
A Greedy Lemma
โข the items can be divided into two groups ๐ป, ๐ฟ with a large enough gap between their unit profits,
maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
โข and group ๐ป is large enough,
ฯโโ๐ป๐คโ > ๐
๐๐ โ 1,2capacity = ๐
If
Then
โข In an optimal solution, ๐ฟ-items contribute total profit โค 2/๐ผ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯโโ๐ป๐คโ > ๐
โข Suppose the optimal solution is๐๐ปโช๐ฟ ๐ = ๐๐ป ๐ โ๐๐ฟ + ๐๐ฟ ๐๐ฟ
๐ โ๐๐ฟ๐๐ฟ
๐ป ๐ฟ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯโโ๐ป๐คโ > ๐
โขRemove all ๐ฟ-items, and insert more ๐ป-items (denoted by ๐พ) to fill in the ๐๐ฟ space
๐ โ๐๐ฟ๐๐ฟ
๐ป ๐ฟ
๐ โ๐๐ฟ๐๐ฟ
๐๐พ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯ๐โ๐ฏ๐๐ > ๐พ
โขRemove all ๐ฟ-items, and insert more ๐ป-items (denoted by ๐พ) to fill in the ๐๐ฟ space
โขUntil ๐๐ฟ โ๐๐พ < maxโโ๐ป ๐คโ
๐ป ๐ฟ
๐ โ๐๐ฟ๐๐ฟ
๐๐พ
๐๐ โ ๐, ๐capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ ๐ฆ๐ข๐ง๐โ๐ฏ
๐๐/๐๐ = 1 โ ๐ผ โ ๐
ฯโโ๐ป๐คโ > ๐
โขRemove all ๐ฟ-items, and insert more ๐ป-items (denoted by ๐พ) to fill in the ๐๐ฟ space
โขUntil ๐๐ฟ โ๐๐พ < maxโโ๐ป ๐คโ โค ๐/๐
๐ป ๐ฟ
๐ โ๐๐ฟ ๐๐ฟ
๐๐พ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ ๐ฆ๐ข๐ง๐โ๐ฏ
๐๐/๐๐ = 1 โ ๐ผ โ ๐
ฯโโ๐ป๐คโ > ๐๐๐ฟ โ๐๐พ < 2/๐
๐ โ๐๐ฟ ๐๐ฟ
optimal sol:
๐๐ปโช๐ฟ ๐ = ๐๐ป ๐ โ๐๐ฟ + ๐๐ฟ ๐๐ฟ
tot profit โฅ ๐๐ป ๐ โ๐๐ฟ + ๐๐๐พ
๐ โ๐๐ฟ ๐๐ฟ
๐๐พ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ ๐ฆ๐ข๐ง๐โ๐ฏ
๐๐/๐๐ = 1 โ ๐ผ โ ๐
ฯโโ๐ป๐คโ > ๐๐๐ฟ โ๐๐พ < 2/๐
๐ โ๐๐ฟ ๐๐ฟ
optimal sol:
๐๐ปโช๐ฟ ๐ = ๐๐ป ๐ โ๐๐ฟ + ๐๐ฟ ๐๐ฟ
tot profit โฅ ๐๐ป ๐ โ๐๐ฟ + ๐๐๐พ
๐๐พ๐ฒ โค ๐๐ณ ๐พ๐ณ
๐ โ๐๐ฟ ๐๐ฟ
๐๐พ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ ๐ฆ๐ข๐ง๐โ๐ฏ
๐๐/๐๐ = 1 โ ๐ผ โ ๐
ฯโโ๐ป๐คโ > ๐๐พ๐ณ โ๐พ๐ฒ < ๐/๐
๐ โ๐๐ฟ ๐๐ฟ
optimal sol:
๐๐ปโช๐ฟ ๐ = ๐๐ป ๐ โ๐๐ฟ + ๐๐ฟ ๐๐ฟ
tot profit โฅ ๐๐ป ๐ โ๐๐ฟ + ๐๐๐พ
๐๐พ๐ฒ โค ๐๐ณ ๐พ๐ณ
1 โ ๐ผ โ ๐ โ ๐๐ฟ โฅ ๐๐ฟ ๐๐ฟ
๐๐ฟ ๐๐ฟ โฅ ๐๐๐พ
๐๐๐พ > ๐๐๐ฟ โ 2โ
1 โ ๐ผ โ ๐๐๐ฟ > ๐๐๐ฟ โ 2
๐ผ๐๐๐ฟ < 2
๐๐ฟ ๐๐ฟ < 2/๐ผ
๐ โ๐๐ฟ ๐๐ฟ
๐๐พ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ ๐ฆ๐ข๐ง๐โ๐ฏ
๐๐/๐๐ = 1 โ ๐ผ โ ๐
ฯโโ๐ป๐คโ > ๐๐พ๐ณ โ๐พ๐ฒ < ๐/๐
๐ โ๐๐ฟ ๐๐ฟ
optimal sol:
๐๐ปโช๐ฟ ๐ = ๐๐ป ๐ โ๐๐ฟ + ๐๐ฟ ๐๐ฟ
tot profit โฅ ๐๐ป ๐ โ๐๐ฟ + ๐๐๐พ
๐๐พ๐ฒ โค ๐๐ณ ๐พ๐ณ
1 โ ๐ผ โ ๐ โ ๐๐ฟ โฅ ๐๐ฟ ๐๐ฟ
๐๐ฟ ๐๐ฟ โฅ ๐๐๐พ
๐๐๐พ > ๐๐๐ฟ โ 2โ
1 โ ๐ผ โ ๐๐๐ฟ > ๐๐๐ฟ โ 2โ
๐ผ๐๐๐ฟ < 2
๐๐ฟ ๐๐ฟ < 2/๐ผ
๐ โ๐๐ฟ ๐๐ฟ
๐๐พ
๐๐ โ 1,2capacity = ๐maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ ๐ฆ๐ข๐ง๐โ๐ฏ
๐๐/๐๐ = 1 โ ๐ผ โ ๐
ฯโโ๐ป๐คโ > ๐๐พ๐ณ โ๐พ๐ฒ < ๐/๐
๐ โ๐๐ฟ ๐๐ฟ
optimal sol:
๐๐ปโช๐ฟ ๐ = ๐๐ป ๐ โ๐๐ฟ + ๐๐ฟ ๐๐ฟ
tot profit โฅ ๐๐ป ๐ โ๐๐ฟ + ๐๐๐พ
๐๐พ๐ฒ โค ๐๐ณ ๐พ๐ณ
๐ โ ๐ถ โ ๐ โ ๐พ๐ณ โฅ ๐๐ณ ๐พ๐ณ
๐๐ฟ ๐๐ฟ โฅ ๐๐๐พ
๐๐๐พ > ๐๐๐ฟ โ 2โ
1 โ ๐ผ โ ๐๐๐ฟ > ๐๐๐ฟ โ 2โ
๐ถ๐๐พ๐ณ < ๐โ
๐๐ณ ๐พ๐ณ < ๐/๐ถ
Recap
If: maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯโโ๐ป๐คโ > ๐Then: In optimal solution of ๐๐ปโช๐ฟ(๐), ๐ฟ-items
contribute total profit โค 2/๐ผ
Task: 1 + ๐ ๐ approximate min ๐ต, ๐๐ผ , ๐ต = ๐(๐โ1)
๐ = ๐(๐โ1) distinct values
๐๐ โ 1,2
เทจ๐ ๐โ1 ๐ต๐ algo (Chan)
(faster when ๐ฉ small)
เทจ๐(๐โ4/3๐ + ๐โ2) algo (Chan)(faster when ๐ small)
Improved Algorithm
โขSort the items by ๐๐/๐ค๐, and divide into three groups
๐๐ โ 1,2
Improved Algorithm
โขSort the items by ๐๐/๐ค๐, and divide into three groups
๐ป: top
ฮ ๐โ1
items
๐๐ โ 1,2
Improved Algorithm
โขSort the items by ๐๐/๐ค๐, and divide into three groups
๐ป: top
ฮ ๐โ1
items
๐ฟ: (1 โ ๐ผ)multiplicative
gap
๐ (๐ โ ๐ถ)๐
๐๐ โ 1,2
Improved Algorithm
โขSort the items by ๐๐/๐ค๐, and divide into three groups
๐ป: top
ฮ ๐โ1
items
๐ฟ: (1 โ ๐ผ)multiplicative
gap
๐ (1 โ ๐ผ)๐
๐: items in
between
๐๐ โ 1,2
Improved Algorithm
๐ (1 โ ๐ผ)๐๐ป = ฮ(๐โ1)
๐ป ๐ ๐ฟ
If: maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯโโ๐ป๐คโ > ๐Then: In optimal solution of ๐๐ปโช๐ฟ(๐), ๐ฟ-items
contribute total profit โค 2/๐ผ
Task: 1 + ๐ ๐ approximate min ๐(๐โ1), ๐๐ผ
๐๐ โ 1,2
If: maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯโโ๐ป๐คโ > ๐Then: In optimal solution of ๐๐ปโช๐ฟ(๐), ๐ฟ-items
contribute total profit โค 2/๐ผ
Improved Algorithm
๐ (1 โ ๐ผ)๐๐ป = ฮ(๐โ1)
๐ป ๐ ๐ฟ
๐๐ โ 1,2
Task: 1 + ๐ ๐ approximate min ๐(๐โ1), ๐๐ผ
Improved Algorithm
๐ (1 โ ๐ผ)๐๐ฏ = ๐ฏ(๐บโ๐)
๐ป ๐ ๐ฟ
(If ๐๐ฐ ๐พ < ๐ถ(๐บโ๐) then ๐พ < ๐(๐ฏ))
Task: 1 + ๐ ๐ approximate ๐ฆ๐ข๐ง ๐ถ(๐บโ๐), ๐๐ฐ
If: maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯโโ๐ป๐คโ > ๐Then: In optimal solution of ๐๐ปโช๐ฟ(๐), ๐ฟ-items
contribute total profit โค 2/๐ผ๐๐ โ ๐, ๐
Improved Algorithm
๐ (1 โ ๐ผ)๐๐ป = ฮ(๐โ1)
๐ป ๐ ๐ฟ
Task: 1 + ๐ ๐ approximate min ๐(๐โ1), ๐๐ผ
If: maxโโ๐ฟ
๐โ/๐คโ โค 1 โ ๐ผ โ minโโ๐ป
๐โ/๐คโ
ฯโโ๐ป๐คโ > ๐Then: In optimal solution of ๐๐ปโช๐ฟ(๐), ๐ฟ-items
contribute total profit โค 2/๐ผ๐๐ โ 1,2
๐ฆ๐ข๐ง{๐๐ณ , ๐/๐ถ}
Improved Algorithm
๐ (1 โ ๐ผ)๐๐ป = ฮ(๐โ1)
๐ป ๐ ๐ณ
min{๐๐ฟ , 2/๐ผ}
เทจ๐ ๐โ1 ๐ต๐ algo (Chan)
(faster when ๐ฉ small)เทจ๐(๐โ4/3๐ + ๐โ2) algo (Chan)
(faster when ๐ small)
Let ๐ถ = ๐บ๐/๐เทฉ๐ถ(๐บโ๐/๐)
เทฉ๐ถ(๐บโ๐/๐)
๐ โ ๐ฏ โ ๐/๐บ ๐ฉ โ ๐/๐ถ
๐ โ ๐ ๐โ1
Improved Algorithm
๐ (1 โ ๐ผ)๐
๐ป ๐ ๐ณ
Let ๐ถ = ๐บ๐/๐
เทจ๐ ๐โ7/3 -time เทจ๐(๐โ7/3)-time
Group ๐: Round ๐๐/๐ค๐
down to powers of (1 + ๐)
Improved Algorithm
๐ (1 โ ๐ผ)๐
๐ป ๐ ๐ณ
Let ๐ถ = ๐บ๐/๐
เทจ๐ ๐โ7/3 -time เทจ๐(๐โ7/3)-time
Group ๐: Round ๐๐/๐ค๐
down to powers of (1 + ๐)
Only log1+1
1โ๐ผโ ๐ผ/๐ = ๐บโ๐/๐
distinct values of ๐๐/๐ค๐
Improved Algorithm
๐ (1 โ ๐ผ)๐
๐ป ๐ ๐ณ
Let ๐ถ = ๐บ๐/๐
เทจ๐ ๐โ7/3 -time เทจ๐(๐โ7/3)-time
Group ๐: Round ๐๐/๐ค๐
down to powers of (1 + ๐)
Only log1+1
1โ๐ผโ ๐ผ/๐ = ๐บโ๐/๐
distinct values of ๐๐/๐ค๐
Items with the same ๐๐/๐ค๐
(profit โ weight ): a Subset
Sum instance
เทจ๐(๐ + ๐โ2) time [KMPS03]
Improved Algorithm
๐ (1 โ ๐ผ)๐
๐ป ๐ ๐ณ
Let ๐ถ = ๐บ๐/๐
เทจ๐ ๐โ7/3 -time เทจ๐(๐โ7/3)-time
Group ๐: Round ๐๐/๐ค๐
down to powers of (1 + ๐)
Only log1+1
1โ๐ผโ ๐ผ/๐ = ๐บโ๐/๐
distinct values of ๐๐/๐ค๐
Items with the same ๐๐/๐ค๐
(profit โ weight ): a Subset
Sum instance
เทจ๐(๐ + ๐โ2) time [KMPS03]
Merge ๐บโ๐/๐ groups
Improved Algorithm
๐ (1 โ ๐ผ)๐
๐ป ๐ ๐ณ
Let ๐ถ = ๐บ๐/๐
เทจ๐ ๐โ7/3 -time เทจ๐(๐โ7/3)-time
Group ๐: Round ๐๐/๐ค๐
down to powers of (1 + ๐)
Only log1+1
1โ๐ผโ ๐ผ/๐ = ๐บโ๐/๐
distinct values of ๐๐/๐ค๐
Items with the same ๐๐/๐ค๐
(profit โ weight ): a Subset
Sum instance
เทจ๐(๐ + ๐โ2) time [KMPS03]
๐ + ๐บโ๐/๐ โ ๐โ2
Merge ๐บโ๐/๐ groups
Improved Algorithm
๐ (1 โ ๐ผ)๐
๐ป ๐ ๐ณ
Let ๐ถ = ๐บ๐/๐
เทจ๐ ๐โ7/3 -time เทจ๐(๐โ7/3)-time
Group ๐: Round ๐๐/๐ค๐
down to powers of (1 + ๐)
Only log1+1
1โ๐ผโ ๐ผ/๐ = ๐บโ๐/๐
distinct values of ๐๐/๐ค๐
Items with the same ๐๐/๐ค๐
(profit โ weight ): a Subset
Sum instance
เทจ๐(๐ + ๐โ2) time [KMPS03]
๐ + ๐บโ๐/๐ โ ๐โ2
Merge ๐บโ๐/๐ groups
Total time:เทฉ๐ถ ๐ + ๐บโ๐/๐
Further improvement
เทจ๐ ๐โ1 ๐ต๐ (Chan)
(faster when ๐ฉ small)
เทจ๐(๐โ4/3๐ + ๐โ2) (Chan)(faster when ๐ small)
เทจ๐(๐โ3/2๐3/4 + ๐ + ๐โ2)(faster when ๐ small)
เทจ๐ ๐โ4/3๐ต1/3๐2/3(๐2 โซ ๐โ2/๐ต)
(faster when ๐ฉ small)
เทจ๐(๐ + ๐โ9/4)
Greedy argument (this talk)
extending Chanโs
techniques from two levels
to multiple levels
Open problem
Unbounded Knapsack (each item has infinitely
many copies) which easily reduces to 0-1
Knapsack:
เทจ๐(๐ + ๐โ2) [Jansen and Kraft, 2015]
Improve 0-1 Knapsack to เทจ๐(๐ + ๐โ2) time?
เทจ๐ min ๐ + ๐บโ๐, ๐๐โ1
[Kellerer, Mansini, Pferschy, and Speranza, 2003]
Subset Sum:
Thank you!