You are on page 1of 4

Greedy Algorithms

1
How close to optimal?
|𝐽𝐽∗ | |𝐽𝐽𝐺𝐺 | ? 𝑚𝑚
Small Large
Upper
bound
𝑛𝑛𝑡𝑡 → No. of uncovered points after 𝑡𝑡 iterations
So 𝑛𝑛0 = 𝐵𝐵 (𝑛𝑛) 𝑛𝑛0 > 𝑛𝑛1 > 𝑛𝑛2 > ⋯ > 𝑛𝑛 𝑇𝑇

After some finite (T) iterations, we hope to get this small enough!
𝑛𝑛𝑡𝑡 � <1
𝑡𝑡=𝑇𝑇
𝑛𝑛𝑡𝑡
Property: 𝑛𝑛𝑡𝑡+1 ≤ 𝑛𝑛𝑡𝑡 −
|𝐽𝐽∗ |
𝑛𝑛𝑡𝑡
In the (𝑡𝑡 + 1)𝑡𝑡𝑡 iteration, at least points are covered by
|𝐽𝐽∗ |
the strategy of choosing the largest uncovered set
2
Proof: 𝐵𝐵

Covered 𝑛𝑛𝑡𝑡

|𝐽𝐽∗ | many sets cover the entire 𝐵𝐵, that is, the 𝑛𝑛 elements
Therefore, one set among the |𝐽𝐽∗ | must have at least
𝑛𝑛/|𝐽𝐽∗ | elements!

As at most all 𝐽𝐽∗ sets cover the 𝑛𝑛𝑡𝑡 elements, one set
must have at least 𝑛𝑛𝑡𝑡 /|𝐽𝐽∗ | of the 𝑛𝑛𝑡𝑡 elements!

The Strategy: Choose the largest uncovered set!


So at least 𝑛𝑛𝑡𝑡 /|𝐽𝐽∗ | of the 𝑛𝑛𝑡𝑡 elements will be present
in the chosen set!
3
Now: 𝑛𝑛𝑡𝑡−1 1
𝑛𝑛𝑡𝑡 ≤ 𝑛𝑛𝑡𝑡−1 − ∗ = 𝑛𝑛𝑡𝑡−1 1 − ∗
𝐽𝐽 𝐽𝐽
2 𝑡𝑡
1 1
≤ 𝑛𝑛𝑡𝑡−2 1− ∗ ≤ 𝑛𝑛0 1− ∗
𝐽𝐽 𝐽𝐽

Need to iterate till 𝑛𝑛𝑡𝑡 < 1!


𝑡𝑡
1
𝑛𝑛𝑡𝑡 ≤ 𝑛𝑛0 1− ∗
𝐽𝐽
𝑡𝑡
1
≤ 𝑛𝑛0 exp − ∗
𝐽𝐽 At most number of
∗ ∗ sets to be chosen for
𝑛𝑛 = 𝑛𝑛0 . As for 𝐽𝐽 < ∞, putting 𝑡𝑡 = 𝐽𝐽 log(𝑛𝑛) :
complete coverage:
𝑡𝑡 The upper bound!
𝑛𝑛𝑡𝑡 < 𝑛𝑛 exp − ∗ = 𝑛𝑛 exp − log 𝑛𝑛 = 1
𝐽𝐽
Best possible by any
Approximation factor: Upper bound / Optimal ≤ log 𝑛𝑛 polynomial time algo!
4

You might also like