Content deleted Content added
lowercased section headers |
A bunch of changes to improve readability, remove ordered lists where no order was necessary, clarify sentences which include both math and English, etc. |
||
Line 1:
In mathematics, a '''submodular
== Definition ==
# For every <math>X
# For every <math>S, T \subseteq \Omega</math> we have that <math>f(S)+f(T)\geq f(S\cup T)+f(S\cap T)</math>.
# For every <math>X\subseteq \Omega</math> and <math>x_1,x_2\in \Omega\backslash X</math> we have that <math>f(X\cup \{x_1\})+f(X\cup \{x_2\})\geq f(X\cup \{x_1,x_2\})+f(X)</math>.
A nonnegative submodular function is also a [[subadditive]] function, but a subadditive function need not be submodular.
== Types of submodular functions ==
===
A submodular function <math>f</math> is
▲#: Any function of the form <math>f(S)=\sum_{i\in S}w_i</math> is called a linear function. Additionally if <math>\forall i,w_i\geq 0</math> then f is monotone.
▲#: Any function of the form <math>f(S)=\min(B,\sum_{i\in S}w_i)</math> for each <math>w_i\geq 0</math> and <math>B\geq 0</math> is called budget additive.
▲#:Let <math>\Omega=\{E_1,E_2,\ldots,E_n\}</math> be a collection of subsets of some ground set <math>\Omega'</math>. The function <math>f(S)=|\cup_{E_i\in S}E_i|</math> for <math>S\subseteq \Omega</math> is called a coverage function.
▲#:Let <math>\Omega=\{X_1,X_2,\ldots,X_n\}</math> be a set of [[random variables]]. Then for any <math>S\subseteq \Omega</math> we have that <math>H(S)</math> is a submodular function, where <math>H(S)</math> is the entropy of the set of random variables <math>S</math>
▲#:Let <math>\Omega=\{e_1,e_2,\dots,e_n\}</math> be the ground set on which a matroid is defined. Then the rank function of the matroid is a submodular function.
=== Non-monotone
A submodular function
A submodular function <math>f</math> is called symmetric if for every <math>S\subseteq \Omega</math> we have that <math>f(S)=f(\Omega-S)</math>▼
#:Let <math>\Omega=\{v_1,v_2,\dots,v_n\}</math> be the vertices of a [[graph (mathematics)|graph]]. For any set of vertices <math>S\subseteq \Omega</math> let <math>f(S)</math> denote the number of edges <math>e=(u,v)</math> such that <math>u\in S</math> and <math>v\in \Omega-S</math>.▼
#:Let <math>\Omega=\{X_1,X_2,\ldots,X_n\}</math> be a set of [[random variable]]s. Then for any <math>S\subseteq \Omega</math> we have that <math>f(S)=I(S;\Omega-S)</math> is a submodular function, where <math>I(S;\Omega-S)</math> is the mutual information.▼
#:Let <math>\Omega=\{v_1,v_2,\dots,v_n\}</math> be the vertices of a [[directed graph]]. For any set of vertices <math>S\subseteq \Omega</math> let <math>f(S)</math> denote the number of edges <math>e=(u,v)</math> such that <math>u\in S</math> and <math>v\in \Omega-S</math>.▼
==== Symmetric ====
==Continuous extensions==▼
▲A non-monotone submodular function <math>f</math> is called ''symmetric'' if for every <math>S\subseteq \Omega</math> we have that <math>f(S)=f(\Omega-S)</math>.
===Lovasz extension===▼
Examples of symmetric non-monotone submodular functions include:
This extension has been named after [[László Lovász]]. Consider any vector <math>\bold{x}=\{x_1,x_2,\dots,x_n\}</math> such that each <math>0\leq x_i\leq 1</math>. Then the Lovasz extension is defined as <math>f^L(\bold{x})=\mathbb{E}(f(\{i|x_i\geq \lambda\}))</math> where the expectation is over choosing <math>\lambda</math> uniformly in <math>[0,1]</math>. It can be shown that Lovasz extension is a convex function.▼
▲
▲
===
A non-monotone submodular function which is not symmetric is called asymmetric.
Consider any vector <math>\bold{x}=\{x_1,x_2,\ldots,x_n\}</math> such that each <math>0\leq x_i\leq 1</math>. Then the multilinear extension is defined as <math>F(\bold{x})=\sum_{S\subseteq \Omega} f(S) \prod_{i\in S} x_i \prod_{i\notin S} (1-x_i)</math>▼
===Convex Closure===▼
Consider any vector <math>\bold{x}=\{x_1,x_2,\dots,x_n\}</math> such that each <math>0\leq x_i\leq 1</math>. Then the convex closure is defined as <math>f^-(\bold{x})=\min(\sum_S \alpha_S f(S):\sum_S \alpha_S 1_S=\bold{x},\sum_S \alpha_S=1,\alpha_S\geq 0)</math>. It can be shown that <math>f^L(\bold{x})=f^-(\bold{x})</math>▼
▲
===Concave closure===▼
▲== Continuous extensions ==
▲This extension
=== Multilinear extension ===
▲Consider any vector <math>\bold{x}=\{x_1,x_2,\ldots,x_n\}</math> such that each <math>0\leq x_i\leq 1</math>. Then the multilinear extension is defined as <math>F(\bold{x})=\sum_{S\subseteq \Omega} f(S) \prod_{i\in S} x_i \prod_{i\notin S} (1-x_i)</math>.
▲Consider any vector <math>\bold{x}=\{x_1,x_2,\dots,x_n\}</math> such that each <math>0\leq x_i\leq 1</math>. Then the convex closure is defined as <math>f^-(\bold{x})=\min(\sum_S \alpha_S f(S):\sum_S \alpha_S 1_S=\bold{x},\sum_S \alpha_S=1,\alpha_S\geq 0)</math>. It can be shown that <math>f^L(\bold{x})=f^-(\bold{x})</math>.
▲=== Concave closure ===
Consider any vector <math>\bold{x}=\{x_1,x_2,\dots,x_n\}</math> such that each <math>0\leq x_i\leq 1</math>. Then the concave closure is defined as <math>f^+(\bold{x})=\max(\sum_S \alpha_S f(S):\sum_S \alpha_S 1_S=\bold{x},\sum_S \alpha_S=1,\alpha_S\geq 0)</math>.
== Closure properties ==
The class of submodular functions is [[closure (mathematics)|closed]] under non-negative [[linear combination]]s. Consider any submodular function <math>f_1,f_2,\ldots,f_k</math> and non-negative numbers <math>\alpha_1,\alpha_2,\ldots,\alpha_k</math>. Then the function <math>g</math> defined by <math>g(S)=\sum_{i=1}^k \alpha_i f_i(S)</math> is submodular. Furthermore, for any submodular function <math>f</math>, the functions defined by <math>g(S)=\min(f(S),c)</math>, where <math>c</math> is a non-negative real number and <math>g(S)=f(\Omega \setminus S)</math> are also submodular.
== Optimization problems ==▼
Submodular functions have properties which are very similar to [[convex function|convex]] and [[concave
Unlike minimization, maximization of submodular functions is usually [[NP-hard]]. Many problems, such as [[max cut]] and the [[maximum coverage problem]], can be cast as special cases of this general maximization problem under suitable constraints. Typically, the approximation algorithms for these problems are based on either [[greedy algorithm]]s or [[local search (optimization)|local search algorithm]]s. The problem of maximizing a symmetric non-monotone submodular function subject to no constraints admits a 1/2 approximation algorithm.<ref name="FMV" /> Computing the [[maximum cut]] of a graph is a special case of this problem. The problem of maximizing a monotone submodular function subject to a cardinality constraint admits a <math>1 - \frac{1}{e}</math> approximation algorithm.<ref name="NVF" /> The [[maximum coverage problem]] is a special case of this problem.
▲==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.
▲#:Under the simplest case the problem is to find set <math>S\subseteq \Omega</math> which minimizes submodular function subject to no constraints. A series of results <ref name="GLS" /><ref name="Cunningham" /><ref name="IFF" /><ref name="Schrijver" /> have established the polynomial time solvability of this problem. Finding [[minimum cut]] in a graph is a special case of this problem.
== See also ==
* [[Supermodular function]]
* [[Polymatroid]]
* [[Matroid]]
== Citations ==
{{reflist|
refs=
Line 84 ⟶ 71:
}}
== References ==
*{{Citation|last=Schrijver|first=Alexander|authorlink=Alexander Schrijver|year=2003|title=Combinatorial Optimization|___location=|publisher=[[Springer Publishing|Springer]]|isbn=3-540-44389-4}}
|