Submodular Set Functions and Marginal Gains #
This module defines submodular set functions on Finset α and proves their fundamental algebraic
properties ([NWF78], Section 2, Proposition 2.1):
- Subtraction-free submodularity
f (A ∪ B) + f (A ∩ B) ≤ f A + f Bover any ordered commutative additive monoid (IsSubmodular). - Exact characterization via diminishing marginal returns (
isSubmodular_iff_insert_add_leover cancellative ordered monoids such asℕ,ℤ,ℚ,ℝ, andisSubmodular_iff_marginalGain_leover ordered additive groups). - Subadditivity of marginal gains across set differences and unions
(
IsSubmodular.sub_le_sum_marginalGain_sdiffandIsSubmodular.sub_le_sum_marginalGain_of_monotone), which drives the Nemhauser–Wolsey–Fisher(1 - 1/e)greedy analysis. - Closure under constants, addition, finite sums, natural scalar multiplication, and upper
truncation
min (f S) c(for monotone submodularf), together with modular sums and weighted set-coverage constructors.
Monotonicity reuses Mathlib's Monotone (A ⊆ B → f A ≤ f B) directly on Finset α.
Main definitions #
Cslib.Algorithms.Lean.Submodular.IsSubmodular:∀ A B, f (A ∪ B) + f (A ∩ B) ≤ f A + f B.Cslib.Algorithms.Lean.Submodular.marginalGain:f (insert x S) - f S.Cslib.Algorithms.Lean.Submodular.modularSum: additive set function∑ x ∈ S, w x.Cslib.Algorithms.Lean.Submodular.weightedCoverage: coverage function∑ u ∈ S.biUnion cover, w u.
Main results #
isSubmodular_iff_insert_add_le,isSubmodular_iff_marginalGain_le: diminishing-returns characterizations ofIsSubmodular.IsSubmodular.sub_le_sum_marginalGain_sdiff,IsSubmodular.sub_le_sum_marginalGain_of_monotone: upper bounds onf (S ∪ T) - f Sandf T - f Svia single-element marginal gains atS.IsSubmodular.add,isSubmodular_sum,IsSubmodular.nsmul,IsSubmodular.min_const: closure properties.isSubmodular_modularSum,isSubmodular_weightedCoverage: canonical submodular constructors.
References #
- [NWF78] George L. Nemhauser, Laurence A. Wolsey, and Marshall L. Fisher, An Analysis of Approximations for Maximizing Submodular Set Functions—I, 1978.
Core definitions #
A function f : Finset α → β is submodular if
f (A ∪ B) + f (A ∩ B) ≤ f A + f B for all finite sets A, B. Stated without subtraction so it
applies directly to ℕ-, ℚ-, and ℝ-valued functions alike.
Instances For
Marginal gain f (insert x S) - f S of adding x to S.
Instances For
Diminishing marginal returns characterization #
Forward diminishing returns (subtraction-free): if f is submodular, A ⊆ B, and x ∉ B,
then f (insert x B) + f A ≤ f B + f (insert x A).
When f is also monotone, f (insert x B) + f A ≤ f B + f (insert x A) holds for every x
without needing x ∉ B.
Converse of diminishing returns: if adding an element x ∉ B has smaller incremental effect on
B than on any subset A ⊆ B, then f is submodular.
Diminishing-Returns Characterization of Submodularity ([NWF78],
Proposition 2.1), subtraction-free form valid over ℕ, ℤ, ℚ, and ℝ.
Diminishing-Returns Characterization of Submodularity in terms of marginalGain over an
ordered commutative group ([NWF78], Proposition 2.1).
Subadditivity of marginal gains over finite unions #
For any submodular function f (not necessarily monotone) and finite sets S, T,
f (S ∪ T) - f S ≤ ∑ x ∈ T \ S, marginalGain f S x ([NWF78],
Proposition 2.1(v)).
Monotone Submodular Marginal-Gain Bound ([NWF78], Section 2,
Proposition 2.2(iv')): for monotone submodular f and any S, T : Finset α,
f T - f S ≤ ∑ x ∈ T \ S, marginalGain f S x.
Variant summing over all of T (elements in T ∩ S contribute 0).
Closure properties and canonical constructors #
Truncating a monotone function above at a constant c (fun S => min (f S) c) preserves
monotonicity.
Truncating a monotone submodular function above at a constant c (fun S => min (f S) c)
preserves submodularity.
Modular (additive) set function ∑ x ∈ S, w x.
Instances For
Weighted set-coverage function ∑ u ∈ S.biUnion cover, w u.
Instances For
Nonnegative weighted set coverage is submodular.