1 Lecture 7: Maximizing submodular functions

1
Lecture 7: Maximizing submodular functions
In the first two sections z is a submodular monotone function.
Given an oracle model for z
our goal is to maximize z (A) using a small number of queries to the oracle.
A set A ⊆ V is an α−approximation if
z (A) ≥ αz (A? )
where A? is optimal.
Remark 1. z (A? ) ≥ z (A) ≥ αz (A? ) .
Example 2. The Uncapacitated Facility Location Problem.
We have a set I of clients and a set V of facility locations. We define a utility
functions
u : I × V 7→ R
represented by a matrix C where each C 3 cij is the “utility of client i for
facility y”. For each ∅ ⊂ A ⊆ V define
(
P
z (A) = i∈I maxj∈A cij
.
z (∅) = 0
For A ⊆ B and k ∈ V \B we have
max cij −max cij = max 0, cik − max cij ≤ max 0, cik − max cij =
j∈B
j∈B∪{k}
j∈B
j∈A
max cij −max cij .
j∈A∪{k}
Summing over i we get
z (B ∪ {k}) − z (B) ≤ z (A ∪ {k}) − z (A) ⇒ z is submodular.
z (B ∪ {k}) − z (B) ≥ 0 ⇒ z is monotone (non decreasing).
Problem 3.
max z (A)
A⊆V
where |A| ≤ k. Is a NP-hard problem.
We now give a greedy algorithm for (1).
Algorithm 1 Greedy algorithm for maximizing z.
A0 = ∅
for j = 1 to k do
si = argmaxs∈V \Aj−1 z (Aj−1 ∪ {s})
Aj = Aj−1 ∪ {si } .
end for
1
(1)
j∈A
Theorem 4. [Nemhauser et al, 1978] Given a monotone submodular set function z with z (∅) = 0 the greedy maximization of algorithm 1 returns Ak where
z (A? ) ≥ z (Ak ) ≥ αz (A? )
1
where A? is the optimal solution and α = 1 − .
e
Lemma 5.
j−1
X
z (A? ) ≤ kρj +
ρi for j = 1, . . . , k.
i=1
where ρi = z (Ai ) − z (Ai−1 ) .
Proof. Note that
j−1
X
ρi = z (Aj−1 )
i=1
Let A? = {s1 , . . . , sk } .
z (A? )
z (A? ∪ Aj−1 ) = z (Aj−1 ) +
≤
k
X
(z (Aj ∪ {s1 , . . . , si })) − z (Aj−1 ∪ {s1 , . . . , si−1 })
i=1
k
X
≤
|{z}
z (Aj−1 ) +
(z (Aj ∪ {si }) − z (Ai−1 ))
≤
|{z}
z (Aj−1 ) + kρj .
i=1
submodular
greedy
Proof of Theorem 4.
z (Ak ) =
k
X
ρi
i=1
min
k
X
ρi
i=1

k

1

 ..
.

.
 ..
1
0
···
···
k
..
1
.
...
1

0  
..  ρ1
 
1
.
  ρ2 
..    ≥ z (A? )  .. 
.
.
.
  .. 

1
0  ρk
{z
}
|
k ρ ≥0
j
2
ρ?j
z (Ak ) =
1.1
Pk
i=1 ρi ≥
z (A? )
=
k
Pk
?
i=1 ρi
1
1−
k
j−1
⇒
1
= z (A ) 1 − 1 −
k
?
k !
1
.
≥ z (A? ) 1 −
e
Data dependent bound
Suppose A is a candidate solution for (1). And let A? = {s1 , . . . , sk } .
?
z (A) ≤ z (A ∪ A )
=
z (A) +
k
X
z (A ∪ {s1 , . . . , si }) − z (A ∪ {s1 , . . . si−1 })
i=1
≤
z (A) +
k
X
z (A ∪ {si }) − z (A) = z (A) +
i=1
k
X
δsi .
i=1
Where now have defined δs for s ∈ V \A such that
δs = z (A ∪ {s}) − z (A)
order the δ such that
δ1 ≥ · · · ≥ δn .
Then we get
z (A? ) ≤ z (A) +
k
X
δi .
i=1
1.2
Submodular maximization for non-negative z
We now drop the requiremt of z to be monotone.
We define to local operations
Definition 6. Add v : S 0 = S ∪ {v}
Definition 7. Remove v : S 0 = S\ {v} .
A local search for optima
1. Start with S = {v} where v ∈ argmin z ({v})
2. While improving local operation, perform local operation on S, such that
z (S 0 ) > z (S)
3. Return argmax (z (s) , z (v\s)) .
3
Theorem 8. [Feige et al 2007]
Local search returns a 1/3-approximation for non-negative functions and
1/2-approximation for non-negative symmetric functions.
Lemma 9. For a local solution AL and any subset C ⊆ AL or superset AL ⊇ C
we have
z (AL ) ≥ z (C)
Proof. Let ∅ = T0 ⊆ T1 ⊆ · · · ⊆ Tk = AL ⊆ Tk+1 ⊆ · · · ⊆ Tn = V
where |Ti+1 \Ti | = 1
z (Tk+1 ) ≤ z (AL )
For i < k
z (Ti+1 ) − z (Ti ) ≥ z (AL ) − z (AL \ {ai }) ≥ 0
ai ∈ Ti+1 \Ti ⇒ z (Ti+1 ) ≥ z (Ti ) similarly for i > k.
of Theorem 8. By submodularity
2z (AL ) + z (V \AL ) ≥
?
z (AL ∩ A ) + z (AL ∩A? ) + z (V \AL ) ≥
z (AL ∩ A? ) + z (A? ∩ (V \AL )) + z (V ) ≥
z (A? ) + z (∅) + z (V )
≥
z (A? )
Which gives α = 1/3. The proof for the symmetric case is given in a similar
fashion.
4