In mathematics, submodular functions are set functions which usually appear in approximation algorithms, functions modeling user preferences in game theory. These functions have a natural diminishing returns property which makes them suitable for many applications.
Definition
Submodular function is a set function which satisfies one of the following equivalent[1] definitions.
- For every and we have that
- For every we have that
- For every and we have that
A submodular function is also a subadditive function, but a subadditive function need not be submodular.
Examples
- Linear functions
- Any function of the form is called a linear function. Additionally if then f is montone.
- Budget-additive functions
- Any function of the form for each and is called budget additive.
- 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
- Graph cuts
- Let be the vertices of a graph. For any set of vertices let denote the number of edges such that and .
- 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.
Continuous extensions
Lovasz extension
Consider any vector such that each . Then the lovasz extension is defined as where the expectation is over choosing uniformly in .
Multilinear Extension
Consider any vector such that each . Then the multilinear extension is defined as
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.