# Submodular set function

In mathematics, a submodular set function (also known as a submodular function) is a set function whose value, informally, has the property that the difference in the value of the function that a single element makes when added to an input set decreases as the size of the input set increases. Submodular functions have a natural diminishing returns property which makes them suitable for many applications, including approximation algorithms, game theory (as functions modeling user preferences) and electrical networks.

## Definition

A nonnegative submodular function is also a subadditive function, but a subadditive function need not be submodular.

## Types of submodular functions

### Monotone

Linear functions
Any function of the form $f(S)=\sum _{i\in S}w_{i}$ is called a linear function. Additionally if $\forall i,w_{i}\geq 0$ then f is monotone.
Any function of the form $f(S)=\min(B,\sum _{i\in S}w_{i})$ for each $w_{i}\geq 0$ and $B\geq 0$ is called budget additive.Template:Cn
Coverage functions
Let $\Omega =\{E_{1},E_{2},\ldots ,E_{n}\}$ be a collection of subsets of some ground set $\Omega '$ . The function $f(S)=|\cup _{E_{i}\in S}E_{i}|$ for $S\subseteq \Omega$ is called a coverage function. This can be generalized by adding non-negative weights to the elements.
Entropy
Let $\Omega =\{X_{1},X_{2},\ldots ,X_{n}\}$ be a set of random variables. Then for any $S\subseteq \Omega$ we have that $H(S)$ is a submodular function, where $H(S)$ is the entropy of the set of random variables $S$ Matroid rank functions
Let $\Omega =\{e_{1},e_{2},\dots ,e_{n}\}$ 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 which is not monotone is called non-monotone.

#### Symmetric

A non-monotone submodular function $f$ is called symmetric if for every $S\subseteq \Omega$ we have that $f(S)=f(\Omega -S)$ . Examples of symmetric non-monotone submodular functions include:

Graph cuts
Let $\Omega =\{v_{1},v_{2},\dots ,v_{n}\}$ be the vertices of a graph. For any set of vertices $S\subseteq \Omega$ let $f(S)$ denote the number of edges $e=(u,v)$ such that $u\in S$ and $v\in \Omega -S$ . This can be generalized by adding non-negative weights to the edges.
Mutual information
Let $\Omega =\{X_{1},X_{2},\ldots ,X_{n}\}$ be a set of random variables. Then for any $S\subseteq \Omega$ we have that $f(S)=I(S;\Omega -S)$ is a submodular function, where $I(S;\Omega -S)$ is the mutual information.

#### Asymmetric

A non-monotone submodular function which is not symmetric is called asymmetric.

Directed cuts
Let $\Omega =\{v_{1},v_{2},\dots ,v_{n}\}$ be the vertices of a directed graph. For any set of vertices $S\subseteq \Omega$ let $f(S)$ denote the number of edges $e=(u,v)$ such that $u\in S$ and $v\in \Omega -S$ . This can be generalized by adding non-negative weights to the directed edges.

## Properties

{{#invoke:Category handler|main}}{{#invoke:Category handler|main}}[citation needed] }}

## Optimization problems

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 simplest minimization problem is to find a set $S\subseteq \Omega$ which minimizes a submodular function subject to no constraints. This problem is computable in (strongly) polynomial time. Computing the minimum cut in a graph is a special case of this general minimization problem.

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 algorithms or local search algorithms. The problem of maximizing a symmetric non-monotone submodular function subject to no constraints admits a 1/2 approximation algorithm. Computing the maximum cut of a graph is a special case of this problem. The more general problem of maximizing an arbitrary non-monotone submodular function subject to no constraints also admits a 1/2 approximation algorithm. The problem of maximizing a monotone submodular function subject to a cardinality constraint admits a $1-1/e$ approximation algorithm. The maximum coverage problem is a special case of this problem. The more general problem of maximizing a monotone submodular function subject to a matroid constraint also admits a $1-1/e$ approximation algorithm.