In mathematics, a submodular set function (also known as a submodular function) is a set function that, informally, describes the relationship between a set of inputs and an output, where adding more of one input has a decreasing additional benefit (diminishing returns). The natural diminishing returns property which makes them suitable for many applications, including approximation algorithms, game theory (as functions modeling user preferences) and electrical networks. Recently, submodular functions have also found utility in several real world problems in machine learning and artificial intelligence, including automatic summarization, multi-document summarization, feature selection, active learning, sensor placement, image collection summarization and many other domains.
If
\Omega
f:2\Omega → R
2\Omega
\Omega
X,Y\subseteq\Omega
X\subseteqY
x\in\Omega\setminusY
f(X\cup\{x\})-f(X)\geqf(Y\cup\{x\})-f(Y)
S,T\subseteq\Omega
f(S)+f(T)\geqf(S\cupT)+f(S\capT)
X\subseteq\Omega
x1,x2\in\Omega\backslashX
x1 ≠ x2
f(X\cup\{x1\})+f(X\cup\{x2\})\geqf(X\cup\{x1,x2\})+f(X)
A nonnegative submodular function is also a subadditive function, but a subadditive function need not be submodular.If
\Omega
f
f(S)=1
S
f(S)=0
S
S
T
A set function
f
T\subseteqS
f(T)\leqf(S)
f(S)=\sumi\inwi
\foralli,wi\geq0
f(S)=min\left\{B,~\sumi\inwi\right\}
wi\geq0
B\geq0
\Omega=\{E1,E2,\ldots,En\}
\Omega'
f(S)=\left|cup | |
Ei\inS |
Ei\right|
S\subseteq\Omega
\Omega=\{X1,X2,\ldots,Xn\}
S\subseteq\Omega
H(S)
H(S)
S
\Omega=\{e1,e2,...,en\}
A submodular function that is not monotone is called non-monotone.
A non-monotone submodular function
f
S\subseteq\Omega
f(S)=f(\Omega-S)
\Omega=\{v1,v2,...,vn\}
S\subseteq\Omega
f(S)
e=(u,v)
u\inS
v\in\Omega-S
\Omega=\{X1,X2,\ldots,Xn\}
S\subseteq\Omega
f(S)=I(S;\Omega-S)
I(S;\Omega-S)
A non-monotone submodular function which is not symmetric is called asymmetric.
\Omega=\{v1,v2,...,vn\}
S\subseteq\Omega
f(S)
e=(u,v)
u\inS
v\in\Omega-S
Often, given a submodular set function that describes the values of various sets, we need to compute the values of fractional sets. For example: we know that the value of receiving house A and house B is V, and we want to know the value of receiving 40% of house A and 60% of house B. To this end, we need a continuous extension of the submodular set function.
Formally, a set function
f:2\Omega → R
|\Omega|=n
\{0,1\}n
S\subseteq\Omega
xS\in\{0,1\}n
S | |
x | |
i |
=1
i\inS
S | |
x | |
i |
=0
f
F:[0,1]n → R
f
x\in\{0,1\}n
F(xS)=f(S)
Several kinds of continuous extensions of submodular functions are commonly used, which are described below.
This extension is named after mathematician László Lovász. Consider any vector
x=\{x1,x2,...,xn\}
0\leqxi\leq1
L(x)=E(f(\{i|x | |
f | |
i\geq |
λ\}))
where the expectation is over
λ
[0,1]
f
Consider any vector
x=\{x1,x2,\ldots,xn\}
0\leqxi\leq1
F(x)=\sumS\subseteqf(S)\prodi\inxi\prodi\notin(1-xi)
Intuitively, xi represents the probability that item i is chosen for the set. For every set S, the two inner products represent the probability that the chosen set is exactly S. Therefore, the sum represents the expected value of f for the set formed by choosing each item i at random with probability xi, independently of the other items.
Consider any vector
x=\{x1,x2,...,xn\}
0\leqxi\leq1
-(x)=min\left(\sum | |
f | |
S |
\alphaSf(S):\sumS\alphaS1S=x,\sumS\alphaS=1,\alphaS\geq0\right)
The convex closure of any set function is convex over
[0,1]n
Consider any vector
x=\{x1,x2,...,xn\}
0\leqxi\leq1
+(x)=max\left(\sum | |
f | |
S |
\alphaSf(S):\sumS\alphaS1S=x,\sumS\alphaS=1,\alphaS\geq0\right)
For the extensions discussed above, it can be shown that
f+(x)\geqF(x)\geqf-(x)=fL(x)
f
f1,f2,\ldots,fk
\alpha1,\alpha2,\ldots,\alphak
g
k | |
g(S)=\sum | |
i=1 |
\alphaifi(S)
f
g(S)=f(\Omega\setminusS)
g(S)=min(f(S),c)
c
f
g(S)=h(f(S))
h
T
\Omega
T
p
E[f(T)]\geqpf(\Omega)+(1-p)f(\varnothing)
\varnothing
S
1\leqi\leql,Ai\subseteq\Omega
Si
Ai
Si
pi
l | |
S=\cup | |
i=1 |
Si
E[f(S)]\geq\sumR\subseteq\Pii\inpi\Pii\notin(1-pi)f(\cupi\inAi)
Submodular functions have properties which are very similar to convex and concave functions. For this reason, an optimization problem which concerns optimizing a convex or concave function can also be described as the problem of maximizing or minimizing a submodular function subject to some constraints.
The hardness of minimizing a submodular set function depends on constraints imposed on the problem.
Unlike the case of minimization, maximizing a generic submodular function is NP-hard even in the unconstrained setting. Thus, most of the works in this field are concerned with polynomial-time approximation algorithms, including greedy algorithms or local search algorithms.
1-1/e
1-1/e
Many of these algorithms can be unified within a semi-differential based framework of algorithms.
Apart from submodular minimization and maximization, there are several other natural optimization problems related to submodular functions.
Submodular functions naturally occur in several real world applications, in economics, game theory, machine learning and computer vision. Owing to the diminishing returns property, submodular functions naturally model costs of items, since there is often a larger discount, with an increase in the items one buys. Submodular functions model notions of complexity, similarity and cooperation when they appear in minimization problems. In maximization problems, on the other hand, they model notions of diversity, information and coverage.