Submodular Functions, Matroids, and Certain
Polyhedra
Jack Edmonds
National Bureau of Standards, Washington, D.C., U.S.A.
The viewpoint of the subject of matroids, and related areas of lattice theory,
has always been, in one way or another, abstraction of algebraic dependence or,
equivalently, abstraction of the incidence relations in geometric representations
of algebra. Often one of the main derived facts is that all bases have the same
cardinality. (See Van der Waerden, Section 33.)
From the viewpoint of mathematical programming, the equal cardinality
of all bases has special meaning — namely, that every basis is an optimum-
cardinality basis. We are thus prompted to study this simple property in the
context of linear programming.
It turns out to be useful to regard “pure matroid theory”, which is only
incidentally related to the aspects of algebra which it abstracts, as the study of
certain classes of convex polyhedra.
(1) A matroid M = (E, F ) can be defined as a finite set E and a nonempty
family F of so-called independent subsets of E such that
(a) Every subset of an independent set is independent, and
(b) For every A ⊆ E, every maximal independent subset of A, i.e., every basis
of A, has the same cardinality, called the rank, r(A), of A (with respect
to M ).
(This definition is not standard. It is prompted by the present interest).
(2) Let RE denote the space of real-valued vectors x = [xj ], j ∈ E.
Let R+
E = {x : 0 ≤ x ∈ RE }.
(3) A polymatroid P in the space RE is a compact non-empty subset of R+
E
such that
(a) 0 ≤ x0 ≤ x1 ∈ P =⇒ x0 ∈ P .
(b) For every a ∈ R+ maximal x ∈ P such that x ≤ a, i.e., every basis
E , every
x of a, has the same sum j∈E xj , called the rank, r(a), of a (with respect
to P ).
Synopsis for the Instructional Series of Lectures, “Polyhedral Combinatorics”.
M. Jünger et al. (Eds.): Combinatorial Optimization (Edmonds Festschrift), LNCS 2570, pp. 11–26, 2003.
c Springer-Verlag Berlin Heidelberg 2003
12 J. Edmonds
Here maximal x means that there is no x > x having the properties of x.
(4) A polymatroid is called integral if (b) holds also when a and x are re-
stricted to being integer-valued, i.e., for every integer-valued vector a ∈ R+ E,
every
maximal integer-valued x, such that x ∈ P and x ≤ a, has the same sum
j∈E xj = r(a).
(Sometimes it may be convenient to regard an integral polymatroid as
consisting only of its integer-valued members).
(5) Clearly, the 0–1 valued vectors in an integral polymatroid are the “inci-
dence vectors” of the sets J ∈ F of a matroid M = (E, F ).
II
(6) Let f be a real-valued function on a lattice L. Call it a β0 -function if
(a) f (a) ≥ 0 for every a ∈ K = L − {∅};
(b) is non-decreasing: a ≤ b =⇒ f (a) ≤ f (b); and
(c) submodular:
f (a ∨ b) + f (a ∧ b) ≤ f (a) + f (b)
for every a ∈ L and b ∈ L.
(d) Call it a β-function if, also, f (∅) = 0. In this case, f is also subadditive,
i.e., f (a ∨ b) ≤ f (a) + f (b).
(We take the liberty of using the prefixes sub and super rather than “upper
semi” and “lower semi”. Semi refers to either. The term semi-modular is taken
from lattice theory where it refers to a type of lattice on which there exists a
semimodular function f such that if a is a maximal element less than element b
then f (a) + 1 = f (b). See [1].)
(7) For any x = [xj ] ∈ RE , and any A ⊆ E, let x(A) denote j∈A xj .
(8) Theorem. Let L be a family of subsets of E, containing E and ∅, and
closed under intersections, A ∩ B = A ∧ B. Let f be a β0 -function on L. Then
the following polyhedron is a polymatroid:
P (E, f ) = {x ∈ R+
E : x(A) ≤ f (A) for every A ∈ L − ∅ = K}.
Its rank function r is, for any a = [aj ] ∈ R+E,
r(a) = min aj zj + f (A)yA
j∈E A∈K
where the zj ’s and yA ’s are 0’s and 1’s such that for every j ∈ E,
Submodular Functions, Matroids, and Certain Polyhedra 13
zj + yA ≥ 1.
j∈A∈K
Where f (∅) ≥ 0, only one non-zero yA is needed.
Where f is integer-valued, P (E, f ) is an integral polymatroid.
(9) Theorem. A function f of all sets A ⊆ E is itself the rank function of
a matroid M = (E, F ) iff it is an integral β-function such that f ({j}) = 1 or 0
for every j ∈ E. Such an f determines M by:
J ∈ F ⇐⇒ J ⊆ E and |J| = f (J).
(10) For any a = [aj ] ∈ R+ + +
E and b = [bj ] ∈ RE , let a ∨ b = [uj ] ∈ RE and
+
a ∧ b = [vj ] ∈ RE , where
uj = max(aj , bj ) and vj = min(aj , bj ).
(11) Theorem. The rank function r(a), a ∈ R+E , for any polymatroid P ⊂
RE , is a β-function on R+
+
E relative to the above ∨ and ∧.
(12) For any x = [xj ] ∈ R+ +
E and any A ⊆ E, let x/A = [(x/A)j ] ∈ RE denote
the vector such that (x/A)j = xj for j ∈ A, and (x/A)j = 0 for j ∈
/ A.
(13) Given a polymatroid P ⊂ R+ +
E , let α ∈ RE be an integer-valued vector
such that x < α for every x ∈ P . Where r is the rank function of P , let
fP (A) = r(α/A) for every A ⊆ E.
Let LE = {A : A ⊆ E}. Clearly, by (11), fP is a β-function on LE .
Furthermore, if P is integral, then f is integral.
(14) Theorem. For any polymatroid P ⊂ R+
E,
P = P (E, fP ).
Thus, all polymatroids P ∈ R+
E are polyhedra, and they correspond to certain
β-functions on LE .
Theorem 8 provides a useful way of constructing matroids which is quite
different from the usual algebraic constructions.
(15) For any given integral β0 -function f as in (8), let a set J ⊆ E be a member
of F iff for every A ∈ K = L − {∅}, |J ∩ A| ≤ f (A). In particular, where L = LE ,
let a set J ⊆ E be a member of F when for every ∅ = A ⊆ J, |A| ≤ f (A).
Then (8) implies that M = (E, F ) is a matroid, and gives a formula for its rank
function in terms of f . (This generalizes a construction given by Dilworth [1]).
14 J. Edmonds
III
In this section, K will denote LE − {∅} = {A : ∅ = A ⊆ E).
(16) Given any c = {cj } ∈ RE , and given a β-function f on LE , we show how
to solve the linear program:
maximize c · x = cj xj over x ∈ P (E, f ).
j∈E
(17) Let j(1), j(2), . . . be an ordering of E such that
cj(1) ≥ cj(2) ≥ · · · cj(k) > 0 ≥ cj(k+1) ≥ · · ·
(18) For each integer i, 1 ≤ i ≤ k, let
Ai = {j(1), j(2), . . . , j(i)}.
(19) Theorem. (The Greedy Algorithm). c·x is maximized over x ∈ P (E, f )
by the following vector x0 :
x0j(1) = f (A1 );
x0j(i) = f (Ai ) − f (Ai−1 ) for 2 ≤ i ≤ k;
x0j(i) =0 for k < i ≤ |E|.
(There is a well-known non-polyhedral version of this for graphs, given by Krus-
kal [9]. A related theorem for matroids is given by Rado [15]).
The dual l.p. is to minimize
f ·y = f (A)y(A) where
A∈K
(20) y(A) ≥ 0; and for every j ∈ E, j∈A y(A) ≥ cj .
(21) Theorem. An optimum solution, y 0 = [y 0 (A)], A ∈ K, to the dual l.p.
is
y 0 (Ai ) = cj(i) − cj(i+1) for 1 ≤ i ≤ k − 1;
y 0 (Ak ) = cj(k) ; and y 0 (A) = 0 for all other A ∈ K.
(22) Theorem. Corollary to (19). The vertices of the polyhedron P (E, f ) are
precisely the vectors of the form x0 in (19) for some sequence j(1), j(2), . . . , j(k).
Submodular Functions, Matroids, and Certain Polyhedra 15
(23) Where f is the rank function of a matroid M = (E, F ), (9) and (22) imply
that the vertices of P (E, f ) are precisely the incidence vectors of the members of
F , i.e., the independent sets of M . Such a P (E, f ) is called a matroid polyhedron.
(24) Let f be a β-function on LE . A set A ∈ LE is called f -closed or an f -flat,
when, for any C ∈ LE which properly contains A, f (A) < f (C).
(25) Theorem. If A and B are f -closed then A ∩ B is f -closed.
(In particular, for the f of (9), the f -flats form a “geometric” or “matroid”
lattice.)
Proof: Suppose that C properly contains A ∩ B. Then either C ⊆ A or C ⊆ B.
Since f is non-decreasing we have f (A∩B) ≤ f (A∩C) and f (A∩B) ≤ f (B ∩C).
Thus, since f is submodular, we have either
0 < f (A ∪ C) − f (A) ≤ f (C) − f (A ∩ C) ≤ f (C) − f (A ∩ B), or
0 < f (B ∪ C) − f (B) ≤ f (C) − f (B ∩ C) ≤ f (C) − f (A ∩ B).
(26) A set A ∈ K is called f -separable when
f (A) = f (A1 ) + f (A2 )
for some partition of A into non-empty subsets A1 and A2 . Otherwise A is called
f -inseparable.
(27) Theorem. Any A ∈ K partitions in only one way into a family of f -
inseparable sets Ai such that f (A) = f (Ai ). The Ai ’s are called the f -blocks
of A.
If a polyhedron P ⊂ RE has dimension equal to |E| then there is a unique
minimal system of linear inequalities having P as its set of solutions. These
inequalities are called the faces of P .
It is obvious that a polymatroid P ⊂ R+ E has dimension |E| if and only if,
where f is the β-function which determines it, and set ∅ is f -closed. It is obvious
that inequality x(A) ≤ f (A), A ∈ K, is a face of P (E, f ) only if A is f -closed
and f -inseparable.
(28) Theorem. Where f is a β-function on LE such that the empty set is
f -closed, the faces of polymatroid P (E, f ) are: xj ≥ 0 for every j ∈ E; and
x(A) ≤ f (A) for every A ∈ K which is f -closed and f -inseparable.
IV
(29) Let each Vp , p = 1 and 2, be a family of disjoint subsets of H. Where [aij ],
i ∈ E, j ∈ E, is the 0–1 incidence matrix of V1 ∪ V2 = H, the following l.p. is
known as the Hitchcock problem.
16 J. Edmonds
(30) Maximize c · x = j∈E cj xj ,
where
(31) xj ≥ 0 for every j ∈ E, and j∈E aij xj ≤ bi for every i ∈ H.
The dual l.p. is
(32) Minimize b · y = bi yi , where
(33) yi ≥ 0 for every i ∈ H, and i∈H aij yi ≥ cj for every j ∈ E.
Denote the polyhedron of solutions of a system Q by P [Q].
The following properties of the Hitchcock problem are important in its
combinatorial use.
(34) Theorem. (a) Where the bi ’s are integers, the vertices of P [(31)] are
integer-valued. (b) Where the cj ’s are integers, the vertices of P [(33)] are integer-
valued.
Theorem (34a) generalizes to the following.
(35) Theorem. For any two integral polymatroids P1 and P2 in R+
E , the
vertices of P1 ∩ P2 are integer-valued.
The following technique for proving theorems like (34) is due to Alan
Hoffman [7].
(36) Theorem. The matrix [aij ] of the Hitchcock problem is totally unimod-
ular — that is, the determinant of every square submatrix has value 0, 1, or −1.
(37) Theorem. Theorem (34) holds whenever [aij ] is totally unimodular.
(38) Let each Vp , p = 1 and 2, be a family of subsets of E such that any two
members of P are either disjoint or else one is a subset of the other.
(39) Theorem. The incidence matrix of the V1 ∪ V2 of (38) is totally uni-
modular.
Property (29) is a special case of (38). Property (38) is a special case of
the following.
(40) Let each Vp , p = 1 and 2, be a family of subsets of E such that for any
R ∈ Vp and S ∈ Vp either R ∩ S = ∅ or R ∩ S ∈ Vp .
The incidence matrix of the V1 ∪ V2 of (40) is generally not totally uni-
modular. However,
(41) Theorem. From the incidence matrix of each Vp of (40), once can
obtain, by subtracting certain rows from others, the incidence matrix of a family
of mutually disjoint subsets of E. Thus, in the same way, one can obtain from
the incidence matrix of the V1 ∪ V2 of (40), a matrix of the Hitchcock type.
(42) Theorem. For any polymatroid P (E, f ) and any x ∈ P (E, f ), if x(A) =
f (A) and x(B) = f (B) then either A ∩ B = ∅ or x(A ∩ B) = f (A ∩ B).
Submodular Functions, Matroids, and Certain Polyhedra 17
Theorems (42), (41), and (34a) imply (35).
(43) Assuming that each Vp of (38) contains the set E, Lp = Vp ∪ {∅} is a
particularly simple lattice. For any non-negative non-decreasing function f (i) =
bi , i ∈ Vp , let f (∅) = −f (E). Then f is a β0 -function on Lp .
(44) The only integer vectors in a matroid polyhedron P are the vectors of the
independent sets of the matroid, and these vectors are all vertices of P . Thus,
(35) implies:
(45) Theorem. Where P1 and P2 are the polyhedra of any two matroids M1
and M2 on E, the vertices of P1 ∩ P2 are precisely the vectors which are vertices
of both P1 and P2 — namely, the incidence vectors of sets which are independent
in both M1 and M2 .
Where P1 , P2 , and P3 are the polyhedra of three matroids on E, polyhe-
dron P1 ∩ P2 ∩ P3 generally has many vertices besides those which are vertices
of P1 , P2 , and P3 .
Let c = [cj ], j ∈ E, be any numerical weighting of the elements of E. In
view of (45), the problem:
(46)
Find a set J, independent in both M1 and M2 , that has maximum weight-
sum, j∈J cj , is equivalent to the l.p. problem:
(47) Find a vertex x of P1 ∩ P2 that maximizes c · x.
(48) Assuming there is a good algorithm for recognizing whether of not a set
J ⊆ E is independent in M1 or in M2 , there is a good algorithm for problem (46).
This seems remarkable in view of the apparent complexity of matroid polyhedra
in other respects. For example, a good algorithm is not known for the problem:
(49) Given a matroid M1 = (E, F1 ) and given an element e ∈ E, minimize |D|,
D ⊆ E, where e ∈ D ∈
/ F1 ;
Or the problems:
(50) Given three matroids M1 , M2 , and M3 , on E, and given an objective
vector c ∈ RE , maximize c · x where x ∈ P1 ∩ P2 ∩ P3 .
Or maximize j∈J cj where J ∈ F1 ∩ F2 ∩ F3 .
Where f1 and f2 are β-functions on LE , the dual of the l.p.:
(51) Maximize c · x = cj xj , where
j∈E
(52) For every j ∈ E, xj ≥ 0; and for every A ∈ K, x(A) ≤ f1 (A) and
x(A) ≤ f2 (A); is the l.p.:
18 J. Edmonds
(53) Minimize f · y = [f1 (A)y1 (A) + f2 (A)y2 (A)]
A∈K
where
(54) For every A ∈ K, y1 (A) ≥ 0 and y2 (A) ≥ 0; and for every j ∈ E,
[y1 (A) + y2 (A)] ≥ cj .
j∈A∈K
Combining systems (52) and (54) we get,
xj [y1 (A) + y2 (A)] − cj (55)
j∈E j∈A∈K
+ y1 (A)[f1 (A) − xj ]
A∈K j∈A
+ y2 (A)[f2 (A) − xj ] ≥ 0.
A∈K j∈A
Expanding and cancelling we get
c·x≤f ·y (56)
for any x satisfying (52) and any y = (y1 , y2 ) satisfying (54).
(57) Equality holds in (56) if and only if equality holds in (55).
The l.p. duality theorem says that
(58) If there is an x0 , a vertex of P [(52)], which maximizes c · x, then there is
a y 0 = (y10 , y20 ), a vertex of P [(54)], such that
c · x0 = f · y 0 , (59)
and hence such that y 0 minimizes f · y.
For the present problem obviously there is such an x0 .
The vertices of (54) are not generally all integer-valued when the cj ’s are.
However,
(60) Theorem. If the cj ’s are all integers, then, regardless of whether f1 and
f2 are integral, there is an integer-valued solution y 4 = (y14 , y24 ) of (54) which
minimizes f · y.
Let y 3 = (y13 , y23 ) be any solution of (54) which minimizes f · y.
(61) For every j ∈ E, and p = 1, 2 let cpj = yp3
j∈A∈K
For each p = 1, 2 consider the problem,
Submodular Functions, Matroids, and Certain Polyhedra 19
(62) Minimize fp · yp = fp (A)yp (A) where
A∈K
(63) for every A ∈ K, yp (A) ≥ 0; and for every j ∈ E,
yp (A) ≥ cpj .
j∈A∈K
(64) By (21) for each p, there is an optimum solution, say yp4 , to (62) having
the following form:
(65) The sets A ∈ K, such that yp4 (A) > 0, form a nested sequence,
A1 ⊂ A2 ⊂ A3 ⊂ . . . .
Since yp3 is a solution of (63), we have fp yp4 ≤ fp yp3 , for each p, and thus
f · y 4 ≤ f · y 3 . Since c1j + c2j ≥ cj for every j ∈ E, y 4 is a solution of (54), and
hence y 4 is an optimum solution of (54). Thus, we have that
(66) Theorem. There exists a solution y 4 of (54) which minimizes f · y and
which has property (65) for each p = 1, 2.
The problem, minimize f · y subject to (54) and also subject to yp (A) = 0
for every yp4 (A) = 0, has the form [(32), (33)] where [aij ] is the incidence matrix
of a V1 ∪ V2 as in (38). Thus, by (39) and (37), we have:
(67) Theorem. If the cj ’s are all integers then the y 4 of (66) can be taken
to be integer-valued.
In particular this proves (60).
An immediate consequence of (35), (60), and the l.p. duality theorem is
(68) Theorem. max c · x = min f · y where x ∈ P [(52)] and y ∈ P [(54)].
If f is integral, x can be integral.
If c is integral, y can be integral.
In particular, where f1 and f2 are the rank functions, r1 and r2 , of any
two matroids, M1 = (E, F1 ) and M2 = (E, F2 ), and where every cj = 1, (68)
implies:
(69) Theorem. max |J| = min[r1 (S) + r2 (E − S)], where J ∈ F1 ∩ F2 , and
where S ⊆ E.
(A related result is given by Tutte [16]).
VI
(70) Theorem.
For each i ∈ E , let Qi be a subset of E. For each A ⊆ E ,
let u(A ) = i∈A Qi . Let f be any integral β-function on LE .
20 J. Edmonds
Then f (A ) = f (u(A )) is an integral β-function on LE = {A : A ⊆
E }.
(71) This follows from the relations
u(A ∪ B ) = u(A ) ∪ u(B ) and
u(A ∩ B ) ⊆ u(A ) ∩ u(B ).
(72) Applying (15) to f yields a matroid on E .
(73) In particular, taking f to mean cardinality, if we let J ⊆ E be a member
of F iff |A | ≤ |u(A )| for every A ⊆ J , then M = (E , F ) is a matroid.
(74) Hall’s SDR theorem says that: |A | ≤ |u(A )| for every A ⊆ J iff the
family {Qj }, i ∈ J , has a system of distinct representatives, i.e., a transversal.
A transversal of a family {Qi }, i ∈ J is a set {ji }, i ∈ J , of distinct elements
such that ji ∈ Qi . Thus,
(75) Theorem. For any finite family {Qi }, i ∈ E , of subsets of E, the sets
J ⊆ E such that {Qi }, i ∈ J , has a transversal are the independent sets of a
matroid on E (called a transversal matroid ).
There are a number of interesting ways to derive (75). Some others are in
[2], [3], [5], and [12]. The present derivation is the way (75) was first obtained
and communicated.
The following is the same result with the roles of elements and sets inter-
changed.
(76) Let J ∈ F0 iff, for some J ⊆ E , J is a transversal of {Qi }, i ∈ J . That
is, let J ∈ F0 iff J is a partial transversal of {Qi }, i ∈ E . Then M0 = (E, F0 ) is
a matroid.
(77) Thus, where P0 is the polyhedron of M0 and where P is the polyhedron
of any other matroid, M = (E, F ), on E, the vertices of P0 ∩ P are the incidence
vectors of the M -independent partial transversals of {Qi }, i ∈ E .
By (8), the rank function r0 of M0 is, for each A ⊆ E,
(78) r0 (A) = min [|A0 | + |{i : (A − A0 ) ∩ Qi = ∅}|]
where A0 ⊆ A.
Combining (69) and (78), we get
(79) max |J| = min [r(A1 ) + |A0 | + |E | − |{i : Qi ⊆ A1 ∪ A0 }|]
= min [r(u(A )) + |E | − |A |], where J ∈ F0 ∩F , A0 ∪A1 ⊆ E, A0 ∩A1 = ∅,
and A ⊆ E .
In particular, (79)implies the following theorem of Rado [14], given in 1942.
(80) For any matroid M on E, a family {Qi }, i ∈ E , of subsets of E, has a
transversal which is independent in M iff |A | ≤ r(u(A )) for every A ⊆ E .
Submodular Functions, Matroids, and Certain Polyhedra 21
Taking the f of (70) to be r, (70), (15), and (80) imply:
(81) Theorem. For any matroid M on E, and any family {Qi }, i ∈ E , of
subsets of E, the sets J ⊆ E such that {Qi }, i ∈ J , has an M -independent
transversal are the independent sets of a matroid on E .
(82) A bipartite graph G consists of two disjoint finite sets, V1 and V2 , of nodes
and a finite set E(G) of edges such that each member of E(G) meets one node
in V1 and one node in V2 .
The following theorem of König is a prototype of (69).
(83) Theorem. For any bipartite graph G, max |J|, J ⊆ E(G), such that
(a) no two members of J meet the same node in V1 , and
(b) no two members of J meet the same node in V2 ,
equals min(|T1 | + |T2 |), T1 ⊆ V1 , and T2 ⊆ V2 , such that every member of E(G)
meets a node in T1 or a node in T2 .
(84) To get the Hall theorem, (74), from (83), let V1 be the E of (70), let V2 be
the E of (70), and let there be an edge in E(G) which meets i ∈ V1 and j ∈ V2
iff j ∈ Qi .
Clearly, if the family {Qi }, i ∈ E , has no transversal then, in (83),
max |J| < |V1 |. If the latter holds, then by (83), the T1 of min(|T1 | + |T2 |),
in (83), is such that
|V1 − T1 | > |u(V1 − T1 )|.
(85) For the König-theorem instance, (83) of (69), the matroids M1 = (E, F1 )
and M2 = (E, F2 ) are particularly simple: Let E = E(G). For p = 1 and p = 2,
let J ⊆ E(G) be a member of Fp iff no two members of J meet the same node
in Vp .
(86) Where P1 and P2 are the polyhedra of these two matroids, finding a vertex
x of P1 ∩ P2 which maximizes c · x is essentially the optimal assignment problem.
That is, the Hitchcock problem where every bi = 1.
(87) Clearly, the inequality x(A) ≤ rp (A) is a face of Pp , that is, A is rp -closed
and rp -inseparable, iff, for some node v ∈ Vp , A is the set of edges which meet v.
VII
(88) Let {Mi }, i ∈ I, be a family of matroids, Mi = (E, Fi ), having rank
functions ri . Let J ⊆ E be a member of F iff:
(89) |A| ≤ i ri (A) for every A ⊆ J.
22 J. Edmonds
Since f (A) = i ri (A) is a β-function on LE ,
(90) Theorem. The M = (E, F ) of (88) is a matroid, called the sum of the
matroids Mi .
In [5], and in [2], it is shown that
(91) Theorem. J ⊆ E satisfies (89) iff J can be partitioned into sets Ji
such that Ji ∈ Fi .
(92) An algorithm, MPAR, is given there for either finding such a partition of
J or else finding an A ⊆ J which violates (89). That is, for recognizing whether
or not J ∈ F .
(93) The algorithm is a good one, assuming:
(94) that a good algorithm is available for recognizing, for any K ⊆ E and for
each i ∈ I, whether or not K ∈ Fi .
(95) The definition of a matroid M = (E, F ) is essentially that, modulo the
ease of recognizing, for any J ⊆ E, whether or not J ∈ F , one has what is
perhaps the easiest imaginable algorithm for finding, in any A ⊆ E, a maximum
cardinality subset J of A such that J ∈ F .
(96) In particular, by virtue of (90), assuming (94), MPAR provides a good
algorithm for finding a maximum cardinality set J ⊆ E which is partitionable
into sets Ji ∈ Fi .
(97) Assuming (94), MPAR combined with (19) is a good algorithm for, given
j , j ∈ E, finding a set J which is partitionable into sets Ji ∈ Fi and
numbers c
such that j∈J cj is maximum.
Where r is the rank function of matroid M = (E, F ), let
(98) r∗ (A) = |A| + r(E − A) − r(E) for every A ⊆ E.
Substituting r(E) = |E| − r∗ (E), and A for E − A, in (98), yields
(99) r(A) = |A| + r∗ (E − A) − r∗ (E).
(100) It is easy to verify that r∗ is the rank function of a matroid M ∗ = (E, F ∗ ),
e.g., that r∗ satisfies (9). M ∗ is called the dual of M . By (99), M ∗∗ = M .
(101) By (98), |J| = r∗ (J) iff r(E − J) = r(E). Therefore, J ∈ F ∗ iff E − J
contains an M -basis of E, i.e., a basis of M . Thus, it can be determined whether
or not J ∈ F ∗ by obtaining an M -basis of E − J and observing whether or not
its cardinality equals r(E).
Where r is the rank function of a matroid M = (E, F ), and where n is a
non-negative integer, let
(102) r(n) (A) = min[n, r(A)] for every A ⊆ E.
Submodular Functions, Matroids, and Certain Polyhedra 23
(103) Clearly, r(n) is the rank function of a matroid M (n) = (E, F (n) ), called
the n-truncation of M , such that J ∈ F (n) iff J ∈ F and |J| ≤ n.
(104) For matroids M1 = (E, F1 ) and M2 = (E, F2 ), and any integer n ≤ r2 (E),
by (103) and (101), there is a set J ∈ F1 ∩ F2 such that |J| = n iff E can be
(n) ∗
partitioned into a set J1 ∈ F1 and a set J2 ∈ F2 . Theorem (91) says this is
(n) ∗
possible iff |A| ≤ r1 (A) + r2 (n)(A) for every A ⊆ E. Using (102) and (98),
this implies (69).
(105) Using MPAR, a maximum cardinality J ∈ F1 ∩F2 can be found as follows:
Find a maximum cardinality set H = J1 ∪ J2 such that J1 ∈ F1 and J2 ∈ F2∗ .
Extend J2 to B, an M2∗ -basis of H. Clearly, B is an M2∗ -basis of E, and so
H − B ∈ F1 ∩ F2 . It is easy to verify that |H − B| = max |J|, J ∈ F1 ∩ F2 .
(106) It is more practical to go in the other direction, obtaining for a given family
of matroids Mi = (E, Fi ), i ∈ I, an “optimum” family of mutually disjoint sets
Ji ∈ Fi , by using the “matroid intersection algorithm” of (48) on the following
two matroids M1 = (EI , F1 ) and M2 = (EI , F2 ). Let EI consist of all pairs (j, i),
j ∈ E and i ∈ I. There is a 1–1 correspondence between sets J ∈ EI and families
{Ji }, i ∈ I, of sets Ji ⊆ E, where J corresponds to the family {Ji } such that
j ∈ Ji ⇐⇒ (j, i) ∈ J. Let M1 = (EI , F1 ) be the matroid such that J ⊆ EI is
a member of F1 iff the corresponding sets Ji are mutually disjoint — that is, if
and only if the j’s of the members of J are distinct. Let M2 = (EI , F2 ) be the
matroid such that J ⊆ EI is a member of F2 iff the corresponding sets Ji are
such that Ji ∈ Fi .
(Nash-Williams has developed the present subject in another interesting
way [13].)
VIII
(107) If f (a) is a β-function on L and k is a not-too-large constant, then f (a)−k
is a β0 -function on L. It is useful to apply (15) to, non-β, β0 -functions.
(108) For example, let G be a graph having edge-set E = E(G) and node-set
V = V (G). For each j ∈ E, let Qj be the set of nodes which j meets. For every
A ⊆ E, let f (A) = |u(A)| − 1. Then, by (70), f (A) is a β0 -function on LE .
(109) Applying (15) to this f yields a matroid, M (G) = (E, F (G)).
(110) The minimal dependent sets of a matroid M = (E, F ), i.e., the minimal
subsets of E which are not members of F , are called the circuits of M .
(111) The circuits of M (G) are the minimal non-empty sets A ⊆ E such that
|A| = |u(A)|.
(112) A set J ⊆ E is a member of F (G) iff J together with the set u(J) of nodes
is a forest in G.
24 J. Edmonds
IX
(113) Let G be a directed graph. For any R ⊆ V (G), a branching B of G rooted
at R, is a forest of G such that, for every v ∈ V (G), there is a unique directed
path in B (possibly having zero edges) from some node in R to v.
(114) The following problem is solved using matroid intersection
(115) Given any directed graph G, given a numerical weight cj for each j ∈ E =
E(G), and given sets Ri ⊆ V (G), i ∈ I, find edge-disjoint
branchings Bi , i ∈ I,
rooted respectively at Ri , which minimize s = j cj , j ∈ i∈I Bi .
(116) The problem easily reduces to the case where each Ri consists of the same
single node, v0 ∈ V (G). That is, find n = |I| edge-disjoint branchings Bi , each
rooted at node v0 , which minimize s.
(117) Where F (G) is as defined in (109), let J ⊆ E be a member of F1 iff it is
the union of n members of F (G). By (91), M1 = (E, F1 ) is a matroid.
(118) Let J ⊆ E be a member of F2 iff no more than n edges of J are directed
toward the same node in V (G) and no edge of J is directed toward v0 . Clearly,
M2 = (E, F2 ) is a matroid:
(119) Theorem. A set J ⊆ E is the edge-set of n edge-disjoint branchings of
G, rooted at node v0 ∈ V (G), iff |J| = n(|V (G)| − 1) and J ∈ F1 ∩ F2 .
This is a consequence of the following.
(120) Theorem. The maximum number of edge-disjoint branchings of G,
rooted at v0 , equals the minimum over all C, v0 ∈ C ⊂ V (G), of the number of
edges having their tails in C and their heads not in C.
(121) There is an algorithm for finding such a family of branchings in G, and
in particular for partitioning a set J as described in (119) into branchings as
described in (119).
(122) Let P1 and P2 he the polyhedra of matroids M1 and M2 respectively. Let
H = {x : x(E) = n(|V (G)| − 1)}.
It follows from (45) that
(123) A vector x ∈ RE is a vertex of P1 ∩ P2 ∩ H iff it is the incidence vector of
a set J as described in (119).
(124) A variant of the matroid-intersection algorithm will find such an x which
minimizes c · x. The case n = 1 is treated in [4].
(125) Let each Li be a commutative semigroup. We say a ≤ b, for {a, b} ⊆ Li ,
iff a + d = b for some d ∈ Li .
Submodular Functions, Matroids, and Certain Polyhedra 25
(126) A function f from L0 into L1 is called a ψ-function iff
(127) for every {a, d} ⊆ L0 , f (a) ≤ f (a + d); and
(128) for every {a, b, c} ⊆ L0 , f (a + b + c) + f (c) ≤ f (a + c) + f (b + c).
(129) Li is called a ψ-semigroup iff, for {a, b, c} ⊆ Li ,
a + c + c = b + c + c =⇒ a + c = b + c.
For example, Li is a ψ-semigroup if it is cancellative or if it is idempotent.
(130) Theorem. If f (·) is a ψ-function from L0 into L1 , g(·) is a ψ-function
from L1 into L2 , and L1 is a ψ-semigroup, then g(f (·)) is a ψ-function from L0
into L2 .
(131) Theorem. A function f from a lattice, L0 , into the non-negative reals,
L1 , satisfies (128), where “+” in L0 means “ ∨” and “+” in L1 means ordinary
addition, iff f is non-decreasing, i.e., satisfies (127), and f is submodular.
(132) Thus, β-functions can be obtained by composing ψ-functions.
(133) Theorem. A function f from the non-negative reals into the non-
negative reals is a ψ-function, relative to addition in the image and preimage,
iff it is non-decreasing and concave.
(134) Theorem. A function f from a lattice, L0 , into a lattice, L1 , is a ψ-
function, relative to joins “ ∨” in each, iff it is a join-homomorphism, i.e., for
every {a, b} ⊆ L0 , f (a ∨ b) = f (a) ∨ f (b).
Let h(S) be any real (integer)-valued function of the elements S ∈ L of a
finite lattice L. In principle, an (integral) non-decreasing submodular function
f on L can be obtained recursively from h as follows:
(135) Theorem. For each S ∈ L, let g(S) = min[h(S), g(A)+g(B)−g(A∧B)]
where A < S, B < S, and A ∨ B = S. Then g is submodular. For each S ∈ L, let
f (S) = min g(A) where S ≤ A ∈ L. Then f is submodular and non-decreasing. If
h is submodular then g = h. If h is submodular and non-decreasing then f = h.
(A similar construction was communicated to me by D. A. Higgs.)
(136) The β-functions on a finite lattice L correspond to the members of a
polyhedral cone β(L) in the space of vectors y = [yA ], A ∈ L − {∅}. Where
y∅ = 0, β(L) is the set of solutions to the system:
(137) yA + yB − yA∨B − yA∧B ≥ 0 and yA∨B − yA ≥ 0 for every A ∈ L and
B ∈ L.
(138) Characterizing the extreme rays of β(L), in particular for L = {A : A ⊆
E}, appears to be difficult.
26 J. Edmonds
References
1. Dilworth, R.P., Dependence Relations in a Semimodular Lattice, Duke Math. J.,
11 (1944), 575–587.
2. Edmonds, J. and Fulkerson, D.R., Transversals and Matroid Partition, J. Res. Nat.
Bur. Standards, 69B (1965), 147–153.
3. Edmonds, J., Systems of Distinct Representatives and Linear Algebra, J. Res. Nat.
Bur. Standards, 71B (1967), 241–245.
4. Edmonds, J., Optimum Branchings, J. Res. Nat. Bur. Standards, 71B (1967), 233–
240, reprinted with [5], 346–361.
5. Edmonds, J., Matroid Partition, Math. of the Decision Sciences, Amer. Math Soc.
Lectures in Appl. Math., 11 (1968), 335–345.
6. Gale, D., Optimal assignments in an ordered set: an application of matroid theory,
J. Combin. Theory, 4 (1968) 176–180.
7. Hoffman, A.J., Some Recent Applications of the Theory of Linear Inequalities to
Extremal Combinatorial Analysis, Proc. Amer. Math. Soc. Symp. on Appl. Math.,
10 (1960), 113–127.
8. Ingleton, A.W., A Note on Independence Functions and Rank, J. London Math.
Soc., 34 (1959), 49–56.
9. Kruskal, J.B., On the shortest spanning subtree of a graph, Proc. Amer. Math.
Soc., 7 (1956), 48–50.
10. Kuhn, H.W. and Tucker, A.W., eds., Linear inequalities and related systems, An-
nals of Math. Studies, no. 38, Princeton Univ. Press, 1956.
11. Lehman, A., A Solution of the Shannon Switching Game, J. Soc. Indust. Appl.
Math., 12 (1964) 687–725.
12. Mirsky, L. and Perfect, H., Applications of the Notion of Independence to Problems
in Combinatorial Analysis, J. Combin. Theory, 2 (1967), 327–357.
13. Nash-Williams, C.St.J.A., An application of matroids to graph theory, Proc. Int’l.
Symposium on the Theory of Graphs, Rome 1966, Dunod.
14. Rado, R., A theorem on Independence Relations, Quart. J. Math., 13 (1942), 83–
89.
15. Rado, R., A Note on Independence Functions, Proc. London Math. Soc., 7 (1957),
300–320.
16. Tutte, W.T., Menger’s Theorem for Matroids, J. Res. Nat. Bur. Standards, 69B
(1965), 49–53.