Definition
Submodular function is a set function such that for any and we have that
Examples
- Graph cuts
- Let be the vertices of a graph. For any set of vertices let denote the number of edges such that and .
- Coverage function
- Let be the ground set. Consider a universe and a set of sets of the universe . Then a coverage function is defined for any set as .
- Entropy
- Let be a set of random variables. Then for any we have that is a submodular function, where is the entropy of the set of random variables
- Mutual information
- Let be a set of random variables. Then for any we have that is a submodular function, where is the mutual information.
- Matroid rank functions
- Let be the ground set on which a matroid is defined. Then the rank function of the matroid is a submodular function.
Optimization Problems
Submodular functions have properties which are very similar to convex and concave functions. Hence a lot of optimization problems can be cast as maximizing or minimizing submodular functions subject to various constraints.
- Minimization of Submodular functions.
- Maximization of Submodular functions.
- Unlike minimization, maximization of submodular functions is typically NP-Hard. A host of problems such as Max cut,Maximum coverage problem can be cast as special cases of this problem under suitable constraints.
References
- Alexander Schrijver. Combinatorial Optimization, Polyhedra and Efficiency.