Let be a finite set. A function is called submodular if for all , we have
for all . Equivalently, is submodular if for any , we have
Since forms a poset, we can still define a submodular function as monotone if for every , . One example of a monotone submodular function is the coverage function:
Examples of Submodular Functions
Linear (Modular) Functions:
Define a weight function . Then the function
defines a linear modular function. If for all , then is also monotone.
Coverage Functions:
Let be a collection of subsets of some ground set. Then the function
is called the coverage function.
Graph Cuts:
Let be the vertices of a graph. For subset , define the submodular function to be the number of edges such that and .
Optimization Problems
Maximizing under Cardinality Constraints
If the submodular function is monotone, then the poset nature ensures that the ground set gives an optimal solution. The problem becomes significantly more difficulty when adding a constraint on the cardinality:
However, there is a fairly straightforward greedy algorithm for this problem which provides a -approximation:
Algorithm 7 Cornuejols et al. (1997)
procedure Greedy()
while do
end while
end procedure
Unless , for any , there is no -approximation algorithm.
Maximizing under Matroid Constraints
A matroid is a collection of subsets of a ground set , called independent sets, such that
- ;
- if , then ;
- if and , then there is some such that . For instance, the set is the uniform matroid of rank .
Every finite graph gives rise to a matroid as follows:
- Let be the set of all edges in .
- For , define if and only if it is a forest, i.e., it does not contain a cycle. The resulting matroid is called the cycle matroid. Any matroid derived from a graph in this fashion is called graphic.
A base of a matroid , is an independent set such that such that .
Given a matroid , one may define a polytope
where is the submodular rank function defined by
The extreme points of correspond to independent sets of . Consider maximizing a monotone submodular function under matroid constraints:
The following greedy algorithm uses our polytope and gives a -approximation. Define multilinear function by
which extends our submodular function into a continuous form.
Algorithm 8 Nemhauser et al. (1978)
procedure ContinuousGreedy()
for all do
for each
Increase at rate
end for
return
end procedure
Simply checking the extreme points of provides a -approximation.
Additional Resources
- Submodular Function Maximization, Andreas Krause, Daniel Golovin
- EE563 - Submodular Functions, Optimization, and Applications to Machine Learning, Jeff Bilmes
- High-performance Submodular Function Minimization (HPSFO), Giovanni Azua