Polyhedral Optimization Lecture 5 – Part 3 M. Pawan Kumar Slides available online
Maximizing Submodular Functions Greedy Algorithm Analysis Outline
Submodular Function Maximization max T ⊆ S f(T) We will assume f is non-negative If not, we can add a constant But we have to be careful during analysis
Submodular Function Maximization max T ⊆ S f(T) We will assume f is non-decreasing There exists a trivial solution T = S |T| ≤ k Constraints on the solution
Maximizing Submodular Functions Greedy Algorithm Analysis Outline
Greedy Algorithm Start with the null set Find an element of S that maximizes gain Add that element to the set While size of set is less than k End
Greedy Algorithm Start with the null set Find an element of S that maximizes gain Add that element to the set While size of set is less than k End Define d f (s|T) = f(T ∪ {s}) - f(T)
Greedy Algorithm Start with the null set Find an element of S that maximizes gain Add that element to the set While size of set is less than k End Define d f (s|T) = f(T ∪ {s}) - f(T)
Greedy Algorithm Find an element of S that maximizes gain Add that element to the set While size of set is less than k End Define d f (s|T) = f(T ∪ {s}) - f(T) Set T 0 = null set and i = 0
Greedy Algorithm Find an element of S that maximizes gain Add that element to the set End Define d f (s|T) = f(T ∪ {s}) - f(T) Set T 0 = null set and i = 0 While i < k
Greedy Algorithm Add that element to the set End Define d f (s|T) = f(T ∪ {s}) - f(T) Set T 0 = null set and i = 0 While i < k s i = argmax s d f (s| T i ) such that s ∉ T i
Greedy Algorithm Define d f (s|T) = f(T ∪ {s}) - f(T) Set T 0 = null set and i = 0 s i = argmax s d f (s| T i ) such that s ∉ T i T i+1 = T i ∪ {s i } While i < k i = i + 1 End
Maximizing Submodular Functions Greedy Algorithm Analysis Outline
Analysis Let T* = {s* 1, s* 2, … s* k } be an optimal solution We will prove that f(T k ) ≥ (1 - 1/e) f(T*) 1-1/e is approximately 0.63 Multiplicative bound What happens if we had to add a constant?
Analysis Let T* = {s* 1, s* 2, … s* k } be an optimal solution Consider the solution T i obtained at iteration i f(T*) ≤ f(T* ∪ T i ) Why?f is non-decreasing
Analysis Let T* = {s* 1, s* 2, … s* k } be an optimal solution Consider the solution T i obtained at iteration i f(T*) ≤ f(T* ∪ T i ) = f(T i ) + ∑ j ∈ {1,2,…,k} d f (s* j | T i ∪ {s* 1,…,s* j-1 }) Why?By definition of d f
Analysis Let T* = {s* 1, s* 2, … s* k } be an optimal solution Consider the solution T i obtained at iteration i f(T*) ≤ f(T* ∪ T i ) = f(T i ) + ∑ j ∈ {1,2,…,k} d f (s* j | T i ∪ {s* 1,…,s* j-1 }) ≤ f(T i ) + ∑ s* ∈ T* d f (s* | T i ) Why?f is submodular
Analysis Let T* = {s* 1, s* 2, … s* k } be an optimal solution Consider the solution T i obtained at iteration i f(T*) ≤ f(T* ∪ T i ) = f(T i ) + ∑ j ∈ {1,2,…,k} d f (s* j | T i ∪ {s* 1,…,s* j-1 }) ≤ f(T i ) + ∑ s* ∈ T* d f (s* | T i ) ≤ f(T i ) + ∑ s* ∈ T* (f(T i+1 ) - f(T i )) Why?Property of the greedy algorithm
Analysis Let T* = {s* 1, s* 2, … s* k } be an optimal solution Consider the solution T i obtained at iteration i f(T*) ≤ f(T* ∪ T i ) = f(T i ) + ∑ j ∈ {1,2,…,k} d f (s* j | T i ∪ {s* 1,…,s* j-1 }) ≤ f(T i ) + ∑ s* ∈ T* d f (s* | T i ) ≤ f(T i ) + ∑ s* ∈ T* (f(T i+1 ) - f(T i )) = f(T i ) + k(f(T i+1 ) - f(T i ))
Analysis f(T*) - f(T i ) ≤ k(f(T i+1 ) - f(T i )) f(T*) - f(T i+1 ) ≤ (1 - 1/k) (f(T*) - f(T i )) f(T*) - f(T k ) ≤ (1-1/k) k (f(T*) - f(null set)) f(T*) - f(T k ) ≤ (1-1/k) k f(T*) (1- 1/e) f(T*) ≤ f(T k ) ≤ 1/e f(T*)