Notes on Minimum Cuts and Modular Functions 1 Introduction The following are my notes on Cunningham s paper [1]. Given a submodular function f and a set S, submodular minimisation is the problem of finding A S for which f(a) is minimum. There exists continuous optimization algorithms such as ellipsoid algorithm and min-norm point algorithm for solving the minimisation problem, which are weakly polynomial (that is, the order depends on the minimum value of f(a) ) and are slow in practice. Cut functions are a special class of submodular functions which can be represented as a graph. The minimum st-cut algorithm on this graph gives the the minimum of the cut function. Formally, let S = {1, 2,..., n}. The graph consists of two special vertices {s, t}. Let us define a set function The submodular function is f(a) = u(δ(a)) where δ(a) denotes {(v i, v j ) E, such that v i A {s}, and v j / A {s}} (that is, the set of arcs coming out from the set {A {s}}. Property 1. Cut functions are submodular. Proof. Let S = {1, 2,..., N}. The graph consists of the vertex set V = {v 1,..., v N } {s, t} and the edge set defined over the vertex set. Consider any one vertex v x. Without loss of generality, let there be n outgoing edges e 1, e 2... e n from v x to v 1, v 2,..., v n. Using equation?? f vx (X) = f vx (X {v 1... v n }) = n j=1,j / X f vx (X) is clearly non-increasing with respect to X. The paper can be divided as considering three problems: 1. Graph Construction of a Cut Function e j (1) 2. Equivalence of min st-cut of a submodular function to minimising a modular function 3. Properties of matroid polyhedra We will consider only the first two parts here. 1
1.1 Graph Construction of a Cut Function Theorem 1. If a submodular function is know to be a cut function, then a graph can be constructed in polynomial (O( S 2 )) time. The statement implies that the minimum of the submodular function can then be obtained solving minimum st-cut on the graph for which strongly polynomial algorithms exist. Property 2. Cut functions have the following remarkable property. A, B, C S, Given f(a B C) = f(a B)+f(B C)+f(A C) f(a) f(b) f(c) f(φ) (2) Proof. Let us first consider the simplest case, where S = {a, b, c} and A = {a}, B = {b}, C = {c}. In this case, A, B, C form a partition of S. For cut functions, f(s) = f(φ) = 0. Also, we have f({a, b}) = e ac + e bc f({b, c}) = e ba + e ca f({c, a}) = e cb + e ab f({a}) = e ab + e ac Using equations 3, we can write the R.H.S as f({b}) = e ba + e bc f({c}) = e ca + e cb (3) f({a, b}) + f({b, c}) + f({c, a}) f({a}) f({b}) f({c}) + f(φ) = 0 (4) Since L.H.S also equals 0, the proof is complete. The same approach can be taken for the case S = {a, b, c, d} and A = {a}, B = {b}, C = {c}, so that A, B, C do not partition S. A more general case is one where A, B, C are sets of vertices. Given A S, f(a) can be obtained only by calling an oracle which returns the value. Equation 2 suggests that for a cut function, if one obtains the function value for all sets of cardinality 0, 1 and 2, then the full f specification is known using the inductive relation and no further oracle calls are required. In fact, exactly 1 + S + S C 2 oracle calls are necessary (that is, O( S 2 ). Given a cut function, [1] gives the algorithm for graph construction in O( S 2 ) time. Note that, the graph representation of a cut function is not unique and the construction specified here is a specific instance of such graphs. 2
1.1.1 Graph Construction We would like to construct a directed graph G = (V, E) such that every cut on the graph corresponds to a set and equals the value of the submodular function for that set. Let V = {s, t} {v 1, v,..., v n } where v i corresponds to i-th element of S ( S = n). s, t denote the source and sink terminals respectively. Let us denote any two vertices as v, w and the capacity of the edge v w as u vw. Elements of E are one of three types: 1. s v edges (source to vertex edge) Select an arbitrary vertex x in V. Assign u sx = f(φ) and u sv = 0 v S {x} The above ensures that u(δ({s})) = f(φ) 2. v w edges (vertex to vertex edge) u vw = u wv = 1 (f({v}) + f({w}) f({v, w}) f(φ)) 2 Since f is submodular, u vw is positive. The reason for selecting constant as 1/2 will come clear later. 3. v t edges (vertex to sink edge) u vt = f({v}) x S {v} u sx x S {v} By construction, the cut function equals f for A = 0, 1. We now show that the equality also holds for A = 2. Consider A = {v, w}. u vx u(δ({v, w} {s})) = u(δ({r, v})) + u(δ({r, w})) u vw u wv u(δ(r)) = f({v}) + f({w}) 2 1/2 (f({v}) + f({w}) f({v, w}) f(φ)) f(φ) = f({v, w}) Because f is a cut function here, it follows that it follows the relation 2. For any A such that A > 2, one can use the relation 2 to obtain the value from sets of cardinality 2 or smaller. Not clear how f(a) = u(δ((a {r}))) for all A. One way to think about submodular and cut functions is as follows: submodularity suggests that f values are not random, but obey the diminishing returns property. The property of being cut function suggests that there is redundancy in the values of f to the extent, that only polynomial number of entries are sufficient to determine the exponentially-sized f. As an aside, note that it is NP-hard to determine whether or not a given f is submodular, since we need to evaluate property of?? for all 2 S values of f. Theorem 2. Determining whether or not a submodular function is a cut function is NP-hard. 3
The proof of this statement proceeds by considering a cut function (and hence submodular). From this function, another function is derived by decrementing the value of one entry for a set A of cardinality greater than 2, the remaining entries being the same. By construction, this function is not cut function (the property 2 is violated for the changed entry), but it still is submodular (how?). To discover that the derived function is not cut function, there is no alternative but to check whether all entries for set of cardinality greater than 2, satisfy relation 2. 1.2 Min Cut Problem and Modular Function Minimisation over a Lattice [1] claims that the minimum cut problem is equivalent to minimising a modular function over a lattice (lattice referred to as ring in the paper). Recall that a modular function has the property: The above implies f(a B) + f(a B) = f(a) + f(b) (5) f(a) = f(φ) + i A(f({i}) f(φ)) (6) Let A = {a} and B = {b} in equation 5. This gives f({a, b}) + f(φ) = f({a} + f({b}) f({a, b}) = f(φ) + (f({a} f(φ)) + (f({b}) f(φ)) Using above, the modular value property can be proved inductively. Let b 0 = f(φ) and b i = f(i) f(φ). Modular function minimisation over 2 S is trivial: select A S such that {i S, b i < 0}. Modular function over a lattice (a subset of 2 S closed under union and intersection) is not trivial, but is easy as shown below. A family of subsets defined on a set S is another name for a collection of subsets of S - that is a subset of 2 S. When the meaning is clear from context, we will refer a family of subsets on S as just a family. Definition 1. A family F is said to be a lattice or a ring, if it is closed under union and intersection. Formally, A, B F = A B F and A B F (7) S: For instance, let S = {a, b, c, d}. The following are some lattices defined on 4
F = {φ, {a}, {b}, {a, b}} F = {φ, {a}, {c}, {a, c}} F = {φ, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}} Definition 2. A closure of a graph G = (V, E) is a set A V, such that δ(a) = φ. In other words, the above definition says that a closure is a set A V, such that there is no edge from A to V A in G. Clearly A = φ and A = V are closures. The following propositions hold true: Proposition 1. The family of all closures of a directed graph G = (V, E) forms a proper ring family over S = V. Proof. For any A, B S, δ(a B) and δ(a B) is in δ(a) or δ(b). If A, B are closures, δ(a) = 0 and δ(b) = 0. Hence, δ(a B) = 0 and δ(a B) = 0. Thus, A B and A B are also closures. Also, φ and V are closures. So the ring family is proper. Proposition 2. Given a proper ring family F, a graph G can be constructed such that every element F F is a closure in G. The graph construction proceeds by taking a vertex for each element of set, that is, V = S. A directed edge is drawn for vertex i to vertex j, if occurrence of i in any set of F implies the occurrence of j in that set. Hence, (u, v) E if u F = v F. By construction, for every v F and for every w / F, (u, w) / E. Hence, F is a closure of G. Proposition 3. Each closure F in the above graph G belongs to F. The proof proceeds by showing that F is the intersection of sets which are guaranteed to be in F and hence F is in F. Formally, for u F and v / F, there should be a set F uv F such that u F uv and v / F uv (otherwise (u, v) E). Let F v = (F uv, u F ). Since F v is union of sets in F, F v is also inf. F = (F v, v / F ) and hence F is in F. (Note that F is not a proper subset of (F v, v / F ), since we take intersection over all elements not in F ). To construct the above graph, we need to make use of an oracle which answers for each i, j S, Does there exist some F F, such that i F and j / F?. If yes, we do not draw an arc between i and j, else we draw an arc. 5
1.2.1 Modular Minimisation over Lattice as Min Cut Modular Minimisation over Lattice as Min Cut Given a modular function defined on a ring family, we construct a graph such that modular function minimisation corresponds to the minimum weight closure problem on the graph. The idea is to take the directed graph G constructed above and assign weights to the nodes. First, find strongly connected components in G (corresponds to A i ) (O(n)). In the corresponding DAG, sort them topologically (O(n + m) = O(n 2 ). Find a path from source to sink in DAG. Assign weights to nodes inductively starting in reverse from sink. Min Weight Closure as Min Cut Due to the result of Picard, the minimum weight closure problem can be translated to a minimum st-cut problem on an appropriately constructed graph. Given a graph G on which min weight closure is to be found, we construct a graph G as follows. G and G have the same set of vertices. G has in addition the two terminal vertices {s, t} - source and sink respectively. If there is an edge in G, we draw the same edge in G with infinite capacity. For each v S, if b v < 0, we draw arc (s, v) with capacity b v. Else, if b v > 0, we draw arc (v, t) with capacity b v. A closure F in G induces a finite capacity st-cut in G. The cut consists of arcs leaving F {r}. The value of capacity is: {bv : v F, b v > 0} + { b v : v V F, b v < 0} = {b v : v F, b v > 0} {b v : v V F, b v < 0} = {b v : v F, b v > 0} {b v : v V F, b v < 0} + {b v : v F, b v < 0} {b v : v F, b v < 0} = {b v : v F } {b v : v V, b v < 0} Hence, the value of each finite capacity cut equals the closure weight plus a positive constant. Min cut on G will give the min weight closure on G with a constant added. 1.2.2 Min Cut as Modular Minimisation over Lattice Also, given an st-graph G, one can define a ring family F and a modular function defined over it such that the minimiser of the modular function also gives the minimiser of the st-cut problem. Given a graph G = (V, E), we consider S = V E. Let the family F be defined as {V E : {s} V V {t} and E γ(v )} where γ(v ) is the set of all edges with both endpoints in V. First we verify that F is a ring family. Let A, B F. First we show A B F. 6
A B = V A E A V B E B Clearly, {r} V A V B V {t} Also, γ(v A) γ(v B) γ(v A V B) Since E A E B γ(v A) γ(v B) = E A E B γ(v A V B) Now we show A B F. A B = (V A E A) (V B E B) = (V A V B) (E A E B) Clearly, {r} V A V B V {t} Also, γ(v A) γ(v B) = γ(v A V B)( draw and check ) Since E A E B γ(v A) γ(v B) = E A E B γ(v A V B) The set function value is defined as f(v E ) = u(δ(v) : v V ) u(e ). It is modular (sum of function of individual elements). For minimum value of f, we can assume E = γ(v ), since u(e) > 0 e E. For the minimiser A = V γ(v ) of F, f(a) = u(δ(v )). Hence, the minimiser of f gives the min cut minimiser exactly. References [1] William H Cunningham. Minimum cuts, modular functions, and matroid polyhedra. Networks, 15(2):205 215, 1985. 7