1

An integer polymatroid P with groundset E is a bounded set of non-negative integer-valued vectors coordinatized by E such that P includes the origin; and any non-neg integer vector is a member of P if it is ≤ some member of F; and for any non-neg integer vector y, every maximal vector x in P which is ≤ y (―an F basis of y”) has the same sum |x| ≡ x(E) ≡ ∑( xj : j ϵ E), called the rank r(y) of vector y in P.

Clearly, by definition, the 0–1 valued vectors in an integral polymatroid are the ―incidence vectors‖ of the independent sets J (i.e., J ∈ F) of a M = (E,F).

For any vectors x and y in Z+, x ∩ y denotes the maximal integer vector which is ≤ x and ≤ y; x ∪ y denotes the minimal integer vector which is ≥ x and ≥ y.

Clearly 0 ≤ r(0) ≤ r(x) ≤ r(y) for x ≤ y. “non-neg & non-decreasing”

+ Theorem 2: For any x and y in Z , r(x ∪ y) + r(x ∩ y) ≤ r(x) + r(y). “submodular”

Proof: Let v be an P-basis of x ∩ y. Extend it to P-basis w of x ∪ y. By the definition of integer polymatroid, r(x ∩ y) = |v| and r(x ∪ y) = |w|. r(x) + r(y) ≥ |w ∩ x| + |w ∩y| = |w ∩ (x ∩ y)| + | w ∩(x ∪ y)| = |v| + |w| = r(x ∪ y) + r(x ∩ y). □

+ For subsets S of E define fP(S) to be r(x) where x ϵ Z is very large for coordinates in S and = 0 for coordinates not in S.

Corollary: For sets S ⊆ E, fP(S) is non-neg, non-decreasing, and submodular. Such an fP(S) for subsets S ⊆ E, is called a polymatroidal set function. (We will see how, conversely, any polymatroid is given by this set function.)

2

The discussion of polymatroid is the same by omitting everywhere the word ‗integer‘ But including the condition that it be closed and bounded. It will be theorem that a polymatroid is in fact a polytope.

A real-valued function f(S), S ⊆ E, Is called a polymatroidal set function if (a) f(∅) = 0 and f(A) ≥ 0 for every A ⊆ E; (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 ⊆ E and B ⊆ E.

Theorem 1. For any polymatroidal set function, f(S), S ⊆ E, the following polyhedron is a polymatroid: P(E, f) ≡ { x= (xj: j ϵ E) ≥ 0 : x(S) ≤ f(S) for every S ⊆ E}. The polymatroidal rank function r of P(E, f), for any a = [aj : j ϵ E] ≥ 0, is r(a) = min [f(S) + a(E - S) : S ⊆ E].

Proof. Clearly r(a) ≤ min [f(S) + a(E - S) : S ⊆ E] (by weak l.p. duality). Let x0 ≥ 0 be any maximal x ≥ 0 such that x ≤ a and x(S) ≤ f(S) for every S ⊆ E. For any sets A and B such that x0(A) = f(A) and x0(B) = f(B), we have x0 (A∪B) + x0 (A∩B) ≤ f(A∪B) + f(A∩B) ≤ f(a) + f(b) = x0(A) + x0(B) = x0 (A∪B) + x0 (A∩B) and so x0 (A∪B) = f(A∪B) and x0 (A∩B) = f(A∩B), and so where S is the union of all sets where equality holds, we have x0(S) = f(S) and x0(E - S) = a(E – S). Hence r(a) = f(S) + a(E – S). By the same argument, where f is integer–valued we get an integer polymatroid.

3

Theorem 3. For any polymatroid P: we have P = P(E, fP ). Thus, all polymatroids are polyhedra, and they correspond precisely to polymatroidal set functions.

Any submodular set function f‘(S), S ⊆ E, not necessarily non-neg and non-decreasing, can, for some easily specied vector a ≥ 0, be expressed up to an additive constant as f’(S) = min [f(S) + a(E - S) : S ⊆ E], where f(S) is polymatroidal.

Therefore if we have an oracle which tells the value of f‘(S) for any S ⊆ E we can find the minimum of f‘(S) by calculating a maximal vector x such that x ϵ P(E, f) and x ≤ a.

The only difficulty in simply pushing x up arbitrarily in the various coordinates, starting with x = 0, until any further push will violate x ≤ a in some coordinate or x(S) ≤ f(S) for some S ⊆ E, is that there are so many inequalities, x(S) ≤ f(S), to check.

4

It is easy to see that an x is not in P(E, f) by showing x(S) > f(S) for one set S ⊆ E, But how can we show that x satisfies x(S) ≤ f(S) for all S ⊆ E?

We can get [min f‘(S)] into NP∩coNP relative to the oracle for f‘(S) by getting a good description of when x ϵ P(E, f).

We will do that by getting a good description of the vertices of P(E, f). Then we can show that x ϵ P(E, f) by using Cartheodory‘s theorem to show x as a convex combination of a small number of vertices of P(E, f).

Let j(1), j(2), …, j(k), be an arbitrary ordering of a subset of E. For each integer i, 1 ≤ i ≤ k, let Ai = {j(1), j(2), . . . , j(i)}. Theorem 4. The vertices of P(E, f) are precisely the vectors of the form x where xj(1) = f(A1); xj(i) = f(Ai) − f(Ai−1) for 2 ≤ i ≤ k; xj(i) = 0 for k < i ≤ |E|.

5

For the linear program, maximize cx = (∑cjxj: j ϵ E) over x ∈ P(E, f), let j(1), j(2), . . . be an ordering of E such that cj(1) ≥ cj(2) ≥ · · · cj(k) > 0 ≥ cj(k+1) ≥ · · ·

The dual l.p. is to Minimize f y = ∑[ f(A)y(A): A⊆ E] where y(A) ≥ 0; and for every j ∈ E, ∑ [y(A): j∈A] ≥ cj .

Theorem 5. (The ). cx is maximized over x ∈ P(E, f) by the vector x of the form in Theorem 4. (The Dual Greedy Algorithm) An optimum solution, y = [y(A)], A⊆E, to the dual l.p.is y(Ai) = cj(i) − cj(i+1) for 1 ≤ i ≤ k − 1; y(Ak) = cj(k) ; and y(A) = 0 for all other A⊆E.

Where f is the rank function of a matroid M = (E,F), Theorem 4 implies that the vertices of P(E, f) are precisely the incidence vectors of the independent sets J ϵ F of matroid M. Such a P(E, f) is called a matroid polytope. (For the greedy algorithm takes a more familiar looking form.)

6

Let f be a polymatroidal function on S ⊆ E. A set A ⊆ E is called f-closed or an f-flat, when f(A) < f(C) for any C ⊆ E which properly contains A . Theorem 6.1. If A and B are f-closed then A ∩ B is f-closed. (In particular, when f is the rank function of a matroid the f-flats form a ―matroid lattice‖.)

A set A ⊆ E 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.

Theorem 6.2. Any A ⊆ E 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 is full dimensional then there is a unique minimal system of linear inequalities having P as its set of solutions. These inequalities are called the facets of P. It is obvious that a polymatroid P(E, f) has dimension |E| if and only if the empty set ∅ is f-closed. It is obvious that an inequality x(A) ≤ f(A) is a facet of P(E, f) only if A is f-closed and f-inseparable.

Theorem 6.3. Where f is a polymatroidal function such that the empty set is f-closed, the facets of polymatroid P(E, f) are: xj ≥ 0 for every j ∈ E; and x(A) ≤ f(A) for every A ⊆ E which is f-closed and f-inseparable. 7

Let each Vp, p = 1 and 2, be a family of mutually disjoint subsets of H. Where [aij ], i ∈ E, j ∈ E, is the 0–1 incidence matrix of V1 ∪ V2, the following l.p. is known in O.R. as the ―Hitchcock transportation problem‖.

Maximize cx = ∑]cjxj: j∈E] , where (31.) xj ≥ 0 for every j ∈ E, and ∑[aijxj: j∈E] ≤ bi for every i ∈ H.

The dual l.p. is Minimize by = ∑biyi, where (33.) yi ≥ 0 for every i ∈ H, and ∑[aijyi: i∈H] ≥ cj for every j ∈ E.

Denote the polyhedron of solutions of a system Q of linear inequalities by P[Q]. The following properties of the Hitchcock problem are important in its combinatorial use.

Theorem 7. Where the bi‘s are integers, the vertices of P[(31)] are integer-valued. Where the cj ‘s are integers, the vertices of P[(33)] are integervalued.

This is essentially Egervary‘s Theorem.

8

Theorem 8. Integer Polymatroid Intersection: For any two integral polymatroids P1 = P(E, f1) and P2 = P(E, f2), the vertices of P1 ∩ P2 are integer-valued.

Corollary. The Matroid Polytope Intersection Theorem. Where P1 and P2 are the polytopes 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 polytopes of three matroids on E, polytope P1 ∩ P2 ∩ P3 generally has many fractional 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 the Matroid Polytope Intersection Theorem, the problem: Find a set J, independent in both M1 and M2, that has maximum weight sum, ∑(cj: j∈J), is equivalent to the l.p. problem: Find a vertex x of P1 ∩ P2 that maximizes cx. 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 this problem.

This is remarkable in view of the apparent complexity of matroid polyhedral in other respects. For example, a good algorithm is not known for the problem: Given a matroid M1 = (E,F1) and given an element e ∈ E, minimize |D|, by a D, e ϵ D ⊆ E, where D is not in F1.

Or the problem: Given three matroids M1, M2, and M3, on E, and given an objective vector c, maximize ∑ (cj: j∈J) where J ∈ F1 ∩ F2 ∩ F3. Solving this includes solving the Traveling Salesman Problem. Efforts to solve the TSP is what led to matroid intersection theory.

9

Dual Polymatroid Intersection.

P(E, f1) and P(E, f2) are polymatroids (not necessarily integral), the dual of the l.p.: Maximize cx = ∑ [cjxj: j∈E], where x ϵ P(E, f1) ∩ P(E, f2) is the l.p.:

Minimize fy = ∑ [f1(A)y1(A) + f2(A)y2(A):] where for every A⊆ E, y1(A) ≥ 0 and y2(A) ≥ 0; and for every j ∈ E, ∑ [y1(A) + y2(A): j∈ A⊆ E] ≥ cj.

Theorem (9.1) If the cj ’s are all integers, then, regardless of whether f1 and f2 are integral, there is an integer-valued solution y which minimizes fy.

An immediate consequence of Theorems 8 and 9.1, and the l.p. duality theorem, is

Theorem (9.2) max cx = min fy where x ϵ P(E, f1) ∩ P(E, f2) and y is dual feasible. 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, r1and r2 , of any two matroids, M1 = (E,F1) and M2 = (E,F2), and where every cj = 1, (9.2) implies:

Theorem (9.3). For any two matroids M1 = (E,F1) and M2 = (E,F2), max |J: J ∈ F1 ∩ F2| = min [r1(S) + r2(E − S): S ⊆ E]. 10

Matroid Partitioning 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 |A| ≤ ∑(ri(A): i ϵ I) for every A ⊆ J. Since f(A) = ∑[ri(A): i ϵ I] is a integer polymatroid function on S ⊆ E, M = (E,F) is a matroid, called the sum of the matroids Mi.

(10). Matroid Partitioning Thm. J ϵ F iff J can be partitioned into sets Ji such that Ji ∈ Fi.

Can be proved by a polytime algorithm which either finds a partitioning of J into sets Ji ϵ Fi or else finds one set S ⊆ E such that |S| > ∑(ri(S): i ϵ I).

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.

In particular, matroid partitioning provides a good algorithm for finding a maximum cardinality set J ⊆ E which is partitionable into sets Ji ∈ Fi.

Matroid partitioning combined with the greedy algorithm provides a polytime alg for, given numbers cj , j ∈ E, finding a set J which is partitionable into sets Ji ∈ Fi and is such that ∑ [ cj: j∈J] is maximum. 11

The Minkowski sum of two sets P1 and P2 of vectors is P1 + P2 ≡ {x + y : x ϵ P1 and y ϵ P2}.

The Polymatroid Partitioning Theorem: ∑[P(E, fi): i ϵ I ] = P(E, ∑[fi : i ϵ I]), a new polymatroid.

P(E, ∑[fi : i ϵ I]) ofcourse means {x ≥ 0 : x(S) ≤ ∑ [ fi(S): i ϵ I] for every S ⊆ E} and ∑[P(E, fi): i ϵ I ] means the Minkowski sum {x = ∑(xi : i ϵ I): xi ϵ P(E, fi) for i ϵ I}.

For any non-neg, non-decreasing, subadditive set functions, fi(S) on S ⊆ E, We can define P(E, fi) to be {x ≥ 0 : x(S) ≤ f(S) for every S ⊆ E}.

Of course a subadditive set function f means f(A∪B) ≤ f(A) + f(B) for all A ⊆ E and B ⊆ E.

I need some examples of where a subadditive version of the partitioning theorem is not true.

12

Obtain 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 iff (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.

The Minkowski sum of polymatroids can be obtained from intersection of two polymatroids in the same way.

13

Theorem1. A non-negative, monotone, submodular set function, f (S), of the subsets S of a finite set E, is called a polymatroid function on E. For any integer valued polymatroid function on E, let F be the family of subsets J of E such that for every non-empty subset S of J, the cardinality of S is at most f(S). Then M = (E,F) is a matroid. Its rank function is, for every subset A of E, r(A), max[cardinality of a subset of A which is in F] = min[f (S)+ cardinality of (A-S): S ⊆ A]. proof: This a direct interpretation of Polymatroid Thm.1 on page 2.

The theorem is dramatic because people had only seen matroids as an axiomatic abstraction of algebraic independence, and not as something so concrete as a kind of construction quite different from algebraic independence. However, even now, this is often outside the interest of graph theorists, or formal axiomatists. I am sorry when expositions of matroid theory still treat the subject only as axiomatic abstract algebra.

What does Theorem 1 have to do with matroid partitioning? Well—the rank function of a matroid is a polymatroid function, and hence so is the sum of the rank functions of any family of matroids all on the same set E. Hence a special case of Theorem 1, applied to this sum, yields a matroid on E as the ‗sum‘ of matroids on E. I had hoped to understand the prime matroids relative to this sum, but, so far, not much has come of that.

Suppose we have an oracle which for an integer polymatroid function f(S)on E gives the value of f(S) for S ⊆ E. Then the theorem gives an easy way to recognize when a given subset J of E is not a member of F, in other words not independent in the matroid determined by Theorem 1. Simply observe some single subset S of J having cardinality greater than f (S). Does there exist an easy way to recognize when a set J is independent? Yes:

14

For the special case of Theorem 1 where f is the sum of a given family,say H, of functions, an easy way to recognize that a set J is independent, which even the most lp resistant combinatorist can appreciate, is given by the Matroid Partition Thm: a set J is independent if and only if it can be partitioned into a family of sets, which correspond to the members of H, and which are independent respectively in the matroids of H.

Thus, relative to oracles for the matroids of H, for the matroid M determined as in Theorem 1 by the f which is the sum of the rank functions of H, we have a ‗good characterization‘ for whether or not a subset J of E is independent in M. To me this meant that there was an excellent chance of proving the matroid partition theorem by a polytime algorithm which, for a given J, decides whether or not J is independent in matroid M. That is what the paper does.

Having an instance of a good characterization relative to an oracle, and having a polytime algorithm relative to the oracle which proves the good characterization, was a main motivation for the subject. As far as I know, it is the first time that the idea of what is now called NP explicitly appears in mathematics. NP is a very positive thing and for these many years it has been a bit sad that the justified success of the theory of NP-completeness has so often been interpreted as giving a bad rap to NP.

Let me discuss the linear programming which led to Theeorem 1. Given the enormous success that the marriage problem and network flows had with linear programming, I wanted to understand the goodness of optimum spanning trees in the context of linear programming. I wanted to find some combinatorial example of linear programming duality which was not an optimum network flow problem. It seemed to be more or less presumed that the goodness of network flow came from the fact that an optimum flow problem could be written explicitly as a linear program.

If you know a polytope as the hull of a set of points with a good, i.e., easily recognizable, description, and you also know that polytope as the solution-set of a set of inequalities with a good description, then using lp duality you have a good characterization. And I hoped, and still hope, that if you have good characterization then there exists a good algorithm which proves it. I hoped in looking at spanning trees, and I still hope, that it works in many other contexts.

The main thing I learned about matroids from my forefathers, other than Lehman, is that the edge-sets of forests in a graph are the independent sets of a matroid, called the (forest) matroid of the graph. What is it about a matroid which could be relevant to a set of linear inequalities determining the polytope which is the hull of the 0-1 vectors of independent sets of the matroid? The rank function of course. Well what is it about the rank function of a matroid which makes that polytope extraordinarily nice for optimizing over? That it is a polymatroid function of course.

15