If Ω {\displaystyle \Omega } is a finite set, a submodular function is a set function f : 2 Ω → R {\displaystyle f:2^{\Omega }\rightarrow \mathbb {R} } , where 2 Ω {\displaystyle 2^{\Omega }} denotes the power set of Ω {\displaystyle \Omega } , which satisfies one of the following equivalent conditions.5
A nonnegative submodular function is also a subadditive function, but a subadditive function need not be submodular. If Ω {\displaystyle \Omega } is not assumed finite, then the above conditions are not equivalent. In particular a function f {\displaystyle f} defined by f ( S ) = 1 {\displaystyle f(S)=1} if S {\displaystyle S} is finite and f ( S ) = 0 {\displaystyle f(S)=0} if S {\displaystyle S} is infinite satisfies the first condition above, but the second condition fails when S {\displaystyle S} and T {\displaystyle T} are infinite sets with finite intersection.
A set function f {\displaystyle f} is monotone if for every T ⊆ S {\displaystyle T\subseteq S} we have that f ( T ) ≤ f ( S ) {\displaystyle f(T)\leq f(S)} . Examples of monotone submodular functions include:
A submodular function that is not monotone is called non-monotone. In particular, a function is called non-monotone if it has the property that adding more elements to a set can decrease the value of the function. More formally, the function f {\displaystyle f} is non-monotone if there are sets S , T {\displaystyle S,T} in its domain s.t. S ⊂ T {\displaystyle S\subset T} and f ( S ) > f ( T ) {\displaystyle f(S)>f(T)} .
A non-monotone submodular function f {\displaystyle f} is called symmetric if for every S ⊆ Ω {\displaystyle S\subseteq \Omega } we have that f ( S ) = f ( Ω − S ) {\displaystyle f(S)=f(\Omega -S)} . Examples of symmetric non-monotone submodular functions include:
A non-monotone submodular function which is not symmetric is called asymmetric.
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 Ω → R {\displaystyle f:2^{\Omega }\rightarrow \mathbb {R} } with | Ω | = n {\displaystyle |\Omega |=n} can be represented as a function on { 0 , 1 } n {\displaystyle \{0,1\}^{n}} , by associating each S ⊆ Ω {\displaystyle S\subseteq \Omega } with a binary vector x S ∈ { 0 , 1 } n {\displaystyle x^{S}\in \{0,1\}^{n}} such that x i S = 1 {\displaystyle x_{i}^{S}=1} when i ∈ S {\displaystyle i\in S} , and x i S = 0 {\displaystyle x_{i}^{S}=0} otherwise. A continuous extension of f {\displaystyle f} is a continuous function F : [ 0 , 1 ] n → R {\displaystyle F:[0,1]^{n}\rightarrow \mathbb {R} } , that matches the value of f {\displaystyle f} on x ∈ { 0 , 1 } n {\displaystyle x\in \{0,1\}^{n}} , i.e. F ( x S ) = f ( S ) {\displaystyle F(x^{S})=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.9 Consider any vector x = { x 1 , x 2 , … , x n } {\displaystyle \mathbf {x} =\{x_{1},x_{2},\dots ,x_{n}\}} such that each 0 ≤ x i ≤ 1 {\displaystyle 0\leq x_{i}\leq 1} . Then the Lovász extension is defined as
f L ( x ) = E ( f ( { i | x i ≥ λ } ) ) {\displaystyle f^{L}(\mathbf {x} )=\mathbb {E} (f(\{i|x_{i}\geq \lambda \}))}
where the expectation is over λ {\displaystyle \lambda } chosen from the uniform distribution on the interval [ 0 , 1 ] {\displaystyle [0,1]} . The Lovász extension is a convex function if and only if f {\displaystyle f} is a submodular function.
Consider any vector x = { x 1 , x 2 , … , x n } {\displaystyle \mathbf {x} =\{x_{1},x_{2},\ldots ,x_{n}\}} such that each 0 ≤ x i ≤ 1 {\displaystyle 0\leq x_{i}\leq 1} . Then the multilinear extension is defined as 1011 F ( x ) = ∑ S ⊆ Ω f ( S ) ∏ i ∈ S x i ∏ i ∉ S ( 1 − x i ) {\displaystyle F(\mathbf {x} )=\sum _{S\subseteq \Omega }f(S)\prod _{i\in S}x_{i}\prod _{i\notin S}(1-x_{i})} .
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 = { x 1 , x 2 , … , x n } {\displaystyle \mathbf {x} =\{x_{1},x_{2},\dots ,x_{n}\}} such that each 0 ≤ x i ≤ 1 {\displaystyle 0\leq x_{i}\leq 1} . Then the convex closure is defined as f − ( x ) = min ( ∑ S α S f ( S ) : ∑ S α S 1 S = x , ∑ S α S = 1 , α S ≥ 0 ) {\displaystyle f^{-}(\mathbf {x} )=\min \left(\sum _{S}\alpha _{S}f(S):\sum _{S}\alpha _{S}1_{S}=\mathbf {x} ,\sum _{S}\alpha _{S}=1,\alpha _{S}\geq 0\right)} .
The convex closure of any set function is convex over [ 0 , 1 ] n {\displaystyle [0,1]^{n}} .
Consider any vector x = { x 1 , x 2 , … , x n } {\displaystyle \mathbf {x} =\{x_{1},x_{2},\dots ,x_{n}\}} such that each 0 ≤ x i ≤ 1 {\displaystyle 0\leq x_{i}\leq 1} . Then the concave closure is defined as f + ( x ) = max ( ∑ S α S f ( S ) : ∑ S α S 1 S = x , ∑ S α S = 1 , α S ≥ 0 ) {\displaystyle f^{+}(\mathbf {x} )=\max \left(\sum _{S}\alpha _{S}f(S):\sum _{S}\alpha _{S}1_{S}=\mathbf {x} ,\sum _{S}\alpha _{S}=1,\alpha _{S}\geq 0\right)} .
For the extensions discussed above, it can be shown that f + ( x ) ≥ F ( x ) ≥ f − ( x ) = f L ( x ) {\displaystyle f^{+}(\mathbf {x} )\geq F(\mathbf {x} )\geq f^{-}(\mathbf {x} )=f^{L}(\mathbf {x} )} when f {\displaystyle f} is submodular.12
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.
Many of these algorithms can be unified within a semi-differential based framework of algorithms.26
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.3031 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.
H. Lin and J. Bilmes, A Class of Submodular Functions for Document Summarization, ACL-2011. ↩
S. Tschiatschek, R. Iyer, H. Wei and J. Bilmes, Learning Mixtures of Submodular Functions for Image Collection Summarization, NIPS-2014. ↩
A. Krause and C. Guestrin, Near-optimal nonmyopic value of information in graphical models, UAI-2005. ↩
A. Krause and C. Guestrin, Beyond Convexity: Submodularity in Machine Learning, Tutorial at ICML-2008 ↩
(Schrijver 2003, §44, p. 766) - Schrijver, Alexander (2003), Combinatorial Optimization, Springer, ISBN 3-540-44389-4 ↩
Buchbinder, Niv; Feldman, Moran (2018). "Submodular Functions Maximization Problems". In Gonzalez, Teofilo F. (ed.). Handbook of Approximation Algorithms and Metaheuristics, Second Edition: Methodologies and Traditional Applications. Chapman and Hall/CRC. doi:10.1201/9781351236423. ISBN 9781351236423. 9781351236423 ↩
"Information Processing and Learning" (PDF). cmu. https://www.cs.cmu.edu/~aarti/Class/10704_Spring15/lecs/lec3.pdf ↩
Fujishige (2005) p.22 ↩
Lovász, L. (1983). "Submodular functions and convexity". Mathematical Programming the State of the Art. pp. 235–257. doi:10.1007/978-3-642-68874-4_10. ISBN 978-3-642-68876-8. S2CID 117358746. 978-3-642-68876-8 ↩
Vondrak, Jan (2008-05-17). "Optimal approximation for the submodular welfare problem in the value oracle model". Proceedings of the fortieth annual ACM symposium on Theory of computing. STOC '08. New York, NY, USA: Association for Computing Machinery. pp. 67–74. doi:10.1145/1374376.1374389. ISBN 978-1-60558-047-0. S2CID 170510. 978-1-60558-047-0 ↩
Calinescu, Gruia; Chekuri, Chandra; Pál, Martin; Vondrák, Jan (January 2011). "Maximizing a Monotone Submodular Function Subject to a Matroid Constraint". SIAM Journal on Computing. 40 (6): 1740–1766. doi:10.1137/080733991. ISSN 0097-5397. http://epubs.siam.org/doi/10.1137/080733991 ↩
Vondrák, Jan. "Polyhedral techniques in combinatorial optimization: Lecture 17" (PDF). https://theory.stanford.edu/~jvondrak/CS369P/lec17.pdf ↩
Grötschel, M.; Lovasz, L.; Schrijver, A. (1981). "The ellipsoid method and its consequences in combinatorial optimization". Combinatorica. 1 (2): 169–197. doi:10.1007/BF02579273. hdl:10068/182482. S2CID 43787103. /wiki/Martin_Gr%C3%B6tschel ↩
Cunningham, W. H. (1985). "On submodular function minimization". Combinatorica. 5 (3): 185–192. doi:10.1007/BF02579361. S2CID 33192360. /wiki/Doi_(identifier) ↩
Iwata, S.; Fleischer, L.; Fujishige, S. (2001). "A combinatorial strongly polynomial algorithm for minimizing submodular functions". J. ACM. 48 (4): 761–777. doi:10.1145/502090.502096. S2CID 888513. /wiki/Doi_(identifier) ↩
Schrijver, A. (2000). "A combinatorial algorithm minimizing submodular functions in strongly polynomial time". J. Combin. Theory Ser. B. 80 (2): 346–355. doi:10.1006/jctb.2000.1989. /wiki/Alexander_Schrijver ↩
Z. Svitkina and L. Fleischer, Submodular approximation: Sampling-based algorithms and lower bounds, SIAM Journal on Computing (2011). ↩
R. Iyer, S. Jegelka and J. Bilmes, Fast Semidifferential based submodular function optimization, Proc. ICML (2013). /wiki/Stefanie_Jegelka ↩
U. Feige, V. Mirrokni and J. Vondrák, Maximizing non-monotone submodular functions, Proc. of 48th FOCS (2007), pp. 461–471. /wiki/Uriel_Feige ↩
N. Buchbinder, M. Feldman, J. Naor and R. Schwartz, A tight linear time (1/2)-approximation for unconstrained submodular maximization, Proc. of 53rd FOCS (2012), pp. 649-658. ↩
Nemhauser, George; Wolsey, L. A.; Fisher, M. L. (1978). "An analysis of approximations for maximizing submodular set functions I". Mathematical Programming. 14 (14): 265–294. doi:10.1007/BF01588971. S2CID 206800425. /wiki/George_Nemhauser ↩
Williamson, David P. "Bridging Continuous and Discrete Optimization: Lecture 23" (PDF). https://people.orie.cornell.edu/dpw/orie6334/lecture23.pdf ↩
G. Calinescu, C. Chekuri, M. Pál and J. Vondrák, Maximizing a submodular set function subject to a matroid constraint, SIAM J. Comp. 40:6 (2011), 1740-1766. ↩
M. Feldman, J. Naor and R. Schwartz, A unified continuous greedy algorithm for submodular maximization, Proc. of 52nd FOCS (2011). ↩
Y. Filmus, J. Ward, A tight combinatorial algorithm for submodular maximization subject to a matroid constraint, Proc. of 53rd FOCS (2012), pp. 659-668. ↩
M. Narasimhan and J. Bilmes, A submodular-supermodular procedure with applications to discriminative structure learning, In Proc. UAI (2005). ↩
R. Iyer and J. Bilmes, Algorithms for Approximate Minimization of the Difference between Submodular Functions, In Proc. UAI (2012). ↩
R. Iyer and J. Bilmes, Submodular Optimization Subject to Submodular Cover and Submodular Knapsack Constraints, In Advances of NIPS (2013). ↩
J. Bilmes, Submodularity in Machine Learning Applications, Tutorial at AAAI-2015. ↩