Maximum Matching and a Polyhedron With O,1-Vertices



Similar documents

1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ).

H ig h L e v e l O v e r v iew. S te p h a n M a rt in. S e n io r S y s te m A rc h i te ct

SCO TT G LEA SO N D EM O Z G EB R E-

ACE-1/onearm #show service-policy client-vips

AN ALGORITHM FOR DETERMINING WHETHER A GIVEN BINARY MATROID IS GRAPHIC

i n g S e c u r it y 3 1B# ; u r w e b a p p li c a tio n s f r o m ha c ke r s w ith t his å ] í d : L : g u id e Scanned by CamScanner

Polytope Examples (PolyComp Fukuda) Matching Polytope 1

Put the human back in Human Resources.

3. Linear Programming and Polyhedral Combinatorics


Campus Sustainability Assessment and Related Literature

BLADE 12th Generation. Rafał Olszewski. Łukasz Matras

AN EVALUATION OF SHORT TERM TREATMENT PROGRAM FOR PERSONS DRIVING UNDER THE INFLUENCE OF ALCOHOL P. A. V a le s, Ph.D.



Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

IRREDUCIBLE OPERATOR SEMIGROUPS SUCH THAT AB AND BA ARE PROPORTIONAL. 1. Introduction



Practical Guide to the Simplex Method of Linear Programming

Approximation Algorithms

I n la n d N a v ig a t io n a co n t r ib u t io n t o eco n o m y su st a i n a b i l i t y

Row Ideals and Fibers of Morphisms

Large induced subgraphs with all degrees odd

Online Department Stores. What are we searching for?

A simple criterion on degree sequences of graphs

On an anti-ramsey type result

ERDOS PROBLEMS ON IRREGULARITIES OF LINE SIZES AND POINT DEGREES A. GYARFAS*

ON INDUCED SUBGRAPHS WITH ALL DEGREES ODD. 1. Introduction

Continued Fractions and the Euclidean Algorithm

1. Oblast rozvoj spolků a SU UK 1.1. Zvyšování kvalifikace Školení Zapojení do projektů Poradenství 1.2. Financování

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

EM EA. D is trib u te d D e n ia l O f S e rv ic e

Chem 115 POGIL Worksheet - Week 4 Moles & Stoichiometry Answers

Best Monotone Degree Bounds for Various Graph Parameters

THREE DIMENSIONAL GEOMETRY

1 Introduction. Dr. T. Srinivas Department of Mathematics Kakatiya University Warangal , AP, INDIA

Definition Given a graph G on n vertices, we define the following quantities:

Chem 115 POGIL Worksheet - Week 4 Moles & Stoichiometry

R e t r o f i t o f t C i r u n i s g e C o n t r o l

DEGREES OF ORDERS ON TORSION-FREE ABELIAN GROUPS


Overview of Spellings on

Elements of probability theory

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

Largest Fixed-Aspect, Axis-Aligned Rectangle

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

On the k-path cover problem for cacti

4.6 Linear Programming duality


136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

11 Ideals Revisiting Z

C relative to O being abc,, respectively, then b a c.

CUSTOMER INFORMATION SECURITY AWARENESS TRAINING

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

MS IN EARLY CHILDHOOD STUDIES

Duality of linear conic problems

Applied Algorithm Design Lecture 5

COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS

Generalized Induced Factor Problems

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

w ith In fla m m a to r y B o w e l D ise a se. G a s tro in te s tin a l C lin ic, , K a s h iw a z a, A g e o C ity, S a ita m a


ISOMETRIES OF R n KEITH CONRAD

Minimally Infeasible Set Partitioning Problems with Balanced Constraints

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

ON DEGREES IN THE HASSE DIAGRAM OF THE STRONG BRUHAT ORDER

The chromatic spectrum of mixed hypergraphs

Product irregularity strength of certain graphs

Two classes of ternary codes and their weight distributions

Linear Programming. March 14, 2014

MOP 2007 Black Group Integer Polynomials Yufei Zhao. Integer Polynomials. June 29, 2007 Yufei Zhao

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

Quotient Rings and Field Extensions

Mean Ramsey-Turán numbers


Stationary random graphs on Z with prescribed iid degrees and finite mean connections

MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set.

A Turán Type Problem Concerning the Powers of the Degrees of a Graph

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh

1 if 1 x 0 1 if 0 x 1


Graphical degree sequences and realizations

CLASS TEST GRADE 11. PHYSICAL SCIENCES: CHEMISTRY Test 6: Chemical change

Permutation Betting Markets: Singleton Betting with Extra Information

Some Polynomial Theorems. John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA

1 Symmetries of regular polyhedra

U S B Pay m e n t P r o c e s s i n g TM

6.3 Conditional Probability and Independence

Factoring Patterns in the Gaussian Plane

A Note on the Bertsimas & Sim Algorithm for Robust Combinatorial Optimization Problems

Future Trends in Airline Pricing, Yield. March 13, 2013

HR DEPARTMENTAL SUFFIX & ORGANIZATION CODES

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

PYTHAGOREAN TRIPLES KEITH CONRAD

Network (Tree) Topology Inference Based on Prüfer Sequence

Arrangements And Duality

Transcription:

JOURNAL OF RESEARCH of the Na ti onal Bureau of Standards-B. Mathematics and Mathematical Physics Vol. 69B, Nos. 1 and 2, January-June 1965 Maximum Matching and a Polyhedron With O,1-Vertices 1 Jack Edmonds (Dece mbe r I, 1964) A matc hing in a graph C is a s ub set of e dges in C suc h that no two meet the sa me nod e in C. The co nvex polyhedron C is c harac te ri zed, wh e re th e e xtreme points of C co rres pond to th e matc hin gs in C. Wh e re eac h e dge of C car ri es a real num e ri cal we ight, a n e ffi c ie nt algorithm is describ ed for findin g a ma tc hin g in C with max imum we ight s um. Section 1 An algorithm is describ ed for optimally pamng a finit e set of objects. That is, given a real numerical weight for eac h unorde red pair of objects in a se t Y, to selec t a family of mutually di sjoint pairs th e sum of whose wei ghts is maximum. The well-known optimum assignment proble m [5)2 is th e sp ecial case where Y partitions into two se ts A and B s uc h that pairs containe d in A and pairs co ntain ed in Bare not positively weighted and the refo re are s uperfluous to the problem. For this "bipartite" case the algorithm becomes a variant of the Hungarian method [3]. The problem is treated in term s of a graph G whose nodes (vertices) are the objects Y and whos e edges are pairs of objects, including at leas t all of th e po sitively weighte d pairs. A matching in G is a sub se t of its e dge s s uch that no two mee t the same node in in G. Th e proble m is to find a maximum-weight- sum matching in C. Th e s pecial case wh ere all th e positive weights are one is treated in de tail in [2] and [6]. The des c ription her e of the more general algorithm uses the te rminology set up in [2]. Paper [2] (especially sec. 5) helps also to motivate thi s pap er, though it is not r eally a pre requi sate till section 7 he re. The in cr ease in difficulty of the maximum weightsum matc hing algorithm relative to the s ize of the graph is not expon e ntial, and only moderately algebraic. The algorithm does not involve any "blind-alley programming" -which, essentially, amounts to testing a great many combinations. Th e emphasis in this paper is on relating the matching problem to the theory of continuous linear I Prepared while the au thor wa s a resea rc h as sociat e at Prin ce ton Univ e rsit y. under th e Princeton Logistic Researc h Proj ec t (O ffi ce of Nava l R cs(>arc h). Based o n work with the NBS Combi natorial Mathematics Projec t (Army Hesearc h Offi ce, Durham), 2 Figures in bracket s ind ica te the lit e ratu re refere nces al the en d of thi s pa pe r. inequalities. In particular, we prove a th eore m analogous to one of G. Birkhoff [1] and 1. von Ne uman [5] which says that th e ex tre me points of th e co nvex se t of doubly s toc has tic matrices (order n by n) are th e permutation matrices (order n by n). That theore m and the Hungarian method are based on Koni g's theol'em about matc hings in bipartite graph s. Our work is related to results on graphs due to Tutte [4]. The re is an ex te nsiv e related literature besid es these references. One may refer to s urv eys on graphs, linear programming, ne twork flow, and co mbinatorial analysis (other than e num eration). However, paper [2] and thi s one are to ge ther self-contain ed. F or th e algorithm with out th e polyhedral geo me try, sections 4 and 7, here and in [2], s uffice. The tec hnique, described in sections 2 and 3, of usin g lin ear programming duality to d e rive a d esc ription of the co nvex polyhedra associated with a class of combinatorial structures appear s applicable, whe ree ve r the co mbinatori cs is adequately understood, independently of the partic ular nature of the associated algorithm. Th e res ults of thi s paper suggest that, in applying linear programming to a combinatorial proble m, th e number of rele vant inequalities is not important but their combinatorial structure is. In another paper, I will extend the present work to "Optimum degree-constrained subgraphs". See the e nd of this paper for two main results of that extension. Section 2 Let the real variables xee correspond to the edges e of a finite graph C. Let C be the convex polyhedron of vectors < x > formed by the intersection of all the half-spaces given by the following inequaliti es (1), (2), and (3). 125

(1) x:;:,: 0, for all x~e. (2) for every node v of G, Ix,,;; 1 (summed over XEV), where V is the set of variables corresponding to the edges of G which meet node v. (3) for every subset S of 2r + 1 nodes in G where r is a strictly positive integer, Ix";; r (summed over xer), where R is the set of variables corresponding to the edges of G with both ends in S. Condition (I) is that the variables x take on only values zero and one. Assuming condition (I), each vector < x > represents and may be regarded as equiv alent to the subset of edges in G which correspond to the one-valued components of < x>. Assuming (I), condition (2) is the definition of a matching in G. Assuming (I), condition (3) says that for any set S of 2r + 1 nodes (r, a positive integer) the set < x > of edges contains no more than r edges with both endpoints in S; clearly this is implied by the set of edges being a matching in G. Therefore, assuming (I), condition (2) implies condition (3) for vectors < x >. However, replacing (I) by the weaker condition (1), it is easy to show that, whe re G contains a circuit with an odd number of edges, condition (2) does not imply condition (3) for vectors < x >. The essence of our following theorem (P) is that for purposes of linear-extremizing over the family of matchings in G, discreteness condition (I) and condition (2) can be replaced by the inequalities (1), (2), and (3). Let P be the set of vectors < x > such that each component is a zero or one and such that the onecomponents correspond to the edges of a matching in G. That is let P be the vectors < x > which satisfy (I) and (2). We call < x > EP a matching vector of G. THEOREM (P): P is the set of vertices (extreme points) of polyhedron C. Unless the graph G has an edge joining each pair of nodes, inequalities (1), (2), and (3) generally include more than the minimal set of bounding planes for C, but that is not so important. What is important in order to provide a good characterization for maximum weight-sum matchings in a graph G is a good characterization of some family of inequalities which together bound precisely the convex hull of P. It is obvious that the points P are vertices of C - that is they belong to C and none lie half way between two other points of C. In fact, they are vertices of the larger polyhedron, C', given by inequalities (l) and (2), and they are not sliced away by (3). However, in C' there are other vertices. What remains to be proved is that vertices P are the only vertices in C. Every linear form in the variables of the space of a convex polyhedron is maximized over points in the polyhedron, if a maximum exists, by a vertex (and perhaps other points as well). Conversely, every vertex is the unique maximum over the polyhedron of some linear form. In particular, where each e dge e of G carries a real weight c, theorem (P) implies that the maximum weightsum for matching in G equals the maximum of (4) W = Icx (summed over xee), where real vector < x > satisfies (1), (2), and (3). And conversely, theorem (P) follows by proving that for all real < c >, W is maximized by a vector < x > whose components are zeroes and ones. Section 3 Where [aij] is any real matrix and < bj > and < Ci > are real vectors, let < Xi > represent the vectors satisfying the inequalities Xi:;:': 0 and IaijXi,,;; bj (summed over i) and let < Yj > represent the vectors satisfying the inequalities Yj :;:,: and IaijYj ;;;. Ci (summed over j). The duality theorem of linear programming says that max ICiXi = min IbjYj when these extrema exist for vectors < Xi > and < Yi >. To get the linear program which is dual to maximizing W of (4) in the polyhedron C, we introduce a new variable corresponding to each inequality of (2) and (3). That is for each node v in G we introduce a variable, call it y, and for each set S of 2r+ 1 nodes in G (r, a positive integer) we introduce a variable, call it z. Let < y, z > denote the vector of all variables Y and z. The duality theorem says that the maximum of W is equal to the minimum of (5) U = Iy+ Irz (first sum taken over all nodes v and second sum taken over all sets S), where vector < y, z> satisfies the following nonnegativity inequalities (6), and the following inequalities (7), obtained from the transpose of the matrix of coefficients of inequalities (2) and (3). (6) For every node v, Y:;:,: 0; for every set S, z :;:,: O. (7) For every edge e of G and the nodes VI and V2 which it meets, YI + Y2 + Iz ;;;. c (where YI and Y2 are the variables corresponding to VI and V2 and where the sum is taken over all z for which the corresponding set S contains VI and V2). The C is the coefficient in linear form W of the x which corresponds to edge e. In other words, C is the weight on edge e. For a fair sized graph G, vector < Y, z> has a huge number of components. However, in general any vector which is a vertex of a dual polyhedron has no more nonzero components than the total number of variables in the primal linear program. In particular, any vector < y, z > with which we deal will have no more nonzero components than the number of edges in G. As easily shown in general for dual linear programs, W,,;; U for all admissible vectors < x > and < Y, z >. Therefore to prove that any linear form W is maximized in C by some matching vector, that is to prove theorem (P), it is sufficient to display a vector < x >EP and some vector < Y, z> satisfying (6) and (7) such that W = U. Notice that we are using here only the easy part of the duality theorem. In fact, by displaying the vectors as described we will be proving, for the class of programs given by C and W, the harder part of the duality theorem, though that is incidental. Conversely, theorem (P) and the duality theorem (including the harder part) imply that a matching M in G has maximum weight-sum if and only if that weight-sum equals U for some < y, z> (with a mod- 126

erate numb e r of nonzero compone nts) which sa ti sfies (6) and (7). For an y coe ffi cie nts < c > fo r W, th a t is for any weights < c > on th e e dges of G, we s hall d escribe a matc hin g vector < x > o EP, co rres po ndin g to a matc hing M in G, a nd a vector < y, z > = < y, Z > 0 s uch that (6) and (7) hold and furthermore s uc h that the following (8), (9), and (10) hold. (8) y = O for e a c h node v whi c h is not an endpoin t of an e dge in M. (9) e qualit y hold s for eac h in s tanc e of (7) where eem. (10) for e a c h z > 0, th e se t S co ntain s both e ndpoi nts of r e dges in M. Th e refor e, s umming toge th e r on eac h s id e th e equation s of (8) and (9), we will ge t an in s tan ce of U= W, wh ere < y, z > = < y, Z> 0 and < x > = < x > o. closed path ) B i co ntainin g "2ai + 1 e d ges, ai of th e m in Mi. C irc uit B i is calle d a blossom in (Gi, M ;). (d) w(vd + w(v~) = w(e i) for eieb i. (e) I f a vert ex of Bi mee ts no e d ge of M i, it will be o ne of th e ve rt ices, say qi, with s m all es t weight, w(qi), in B i. (f) To obt a in grap h G i + 1 from g rap h Gi s hrink Bi and all e d ges with both c nd-point s in Bi to a s in gle node U i + 1 in G i + 1 whi c h, in place of th e verti ces of B i, is th e ne w e ndpoint of thos e edges hav in g with res pec t to Gi one e ndpoint in Bi. The mat c hin g in G i+ 1 is M i + 1 =MinGi+I. (g) W e igh t s in G i+ 1 are th e s ame as c or res ponding w e ig ht s in Gi exce pt at U i + 1 and e dges mee tin g U i + l. (h) For minimum W(qi) in Bi, W(U i+ I) ';;; W( qi). (i) F o r eac h e dge e i + 1 m ee ting U i + l, le t e i be th e co rres pondin g e dge in Gi, m ee tin g Vi of B i. Th e n Section 4 (j) Fo r Gil, w(v~') + w(v~) = w(e") fo r a ll e"em I. (k) For a ve l tex v"eg I no t mee tin g a n e d ge In M il, We turn now to th eore m (M) whi c h, fo r any matc hw(v") = 0. in g M corres p o ndin g to a matc hin g vector < x >0 whi c h maximizes W = cx, wiij yield a vector < y, Z >0, sati s fyin g (6), (7), (8), (9), and (10). Fro m thi s and Section 5 from the di sc u ss io n in sect io n 3, it follow s that th e Vector < y, z > 0 is as follows. The node -se ts S e xi s te nce of a vector < y, Z > 0 is a n ecessary and s uffi for whi c h th e corres pondin g z in < y, z > 0 is pos it ive c ient condit ion for a matchin g M to have maximum we ight- s um. Theorem (M) itself is also s uc h a are amo ng th ose, say Si, corres pondin g to th e Bi of c ondition in a differe nt form. Theore m (M) di s plays th eor e m (M ). Th e nod es in eac h Si are th e nod es of th e existence of muc h tighte r and more co mplex s tru c - G whi c h hav e bee n absorbed into th e nod es of Bi (i.e., ture than simply th e vec tor < y, Z > 0, tighte r and mo re into U i + l) in th e process of go ing from graph G= Go complex than really necessary for c harac te rizing to graph Gi De fin e maximum matc hings. (11) di=w(qi)-w(u i+ l ) f or eac h Si, and d = O fo r Elli s John son and C harles Zahn in s tudyin g thi s every other se t S. (12) z = 2d, for all S. theory found that th eo re m (M) ca n be bypassed in obtaining the vecto r < y, z > () a nd that th e maximum For eac h y co mpo ne nt of < y, z > 0, corres po ndin g matching al go rithm can be exec ut e d in te rm s of to nod e v of G, we se t parame te rs uf t ype y and z rath e r than th e num e ri cal (1 3) y= w(v) - 2-d (summed over d corres pondin g to parame te rs of th eu re m (M). On e type of param e te r se ts S for whi c h VES), wh e re w(v) is th e we ig ht as may be ar ithm e ti cally more co nve ni e nt th an th e other, s igne d by th eore m (M) to node v in Go = G. thou g h th e s ame c ombinatorial manipulat ion s see m PROOF: F or eac h e d ge e = eo w it h e ndpoints VI a nd esse ntial in e it he r c a se. Th eor e m (M) see m s jus t ifi e d V2 in G = Go, Je t ei with e ndpoints v{ a nd v~ be th e corby th e in s ig ht it prov id es and by it s natura l re la ti o nr esponding e d ge in Gi, wh e re j is s uch that e ithe r j = n ship to the co mbinatorial manipulation s of th e a lgo - o r else e j has both e nds.i n Bj and thus is ab sorb e d into uj + l rithm, so it mi ght as we ll be prove d on th e way to proving th eo re m (P). It is a direc t co nse qu e nce of By virtue of (g), in th e applic ation s of formula (i) th e algori thm as d esc rib ed in sec tion 7. More imto ej and its pre-images, eac h w(v i) term is either W(V I) portant, it is part of the d esc ription. or W(V2) or else a certain W(U k + 1) where uk +t, th e co ntheorem (M) : For graph G wil h edge -weights traction of a BI.", absorbs one but not both of VI and V2 < c>, a match ing M is max imum if and only if the re in going from Go to Gil.. Conversely, eac h such W(U NI ) is either w(vf) or w(vd or else a certain w(vi ) term in one exists a sequence {G;} i = 0,..., n. Eac h Gi is a graph toge th e r with a matc hin g M i, a of the applications of (i) to ej and its pre -images. Furnum e ri cal we ig ht w(ei) fo r eac h e dge eiegi, and a nuthermore, W(VI) is a certain w(v i ) te rm if and only if m e ri c al we ig ht w(v i) for eac h node viegi. Sequence w(vl) is a certain w(ul." + I). Otherwis e, W(VI) = w(vl). {Gd has th e following prop e rti es. Similarly for W(V2). Thus by virtue of (g), re p eate d (a) Gil is grap h G wit h e dge -we ight s wee) = c, with application of (i) and then repeated s ubs titution of matching Mo = M, and with any vertex-weights satis- I (11), yields: fying t he general co ndit ion s below. (14) w(ei) = wee) + w(vl) + w(t4) - w(vi) - W(V2) + 2-d.., (b) w(vi ) ~ 0 for all Vi EG i and w(v il ) + w(vk} ~ w(ei ) for where k is s ummed over all the BI." (or U k + l ) into which all e iegi where v~ and vh are th e e ndpoints of ei eit her VI or V2, but not both, are absorbed in go in g (c) For i = 0,..., n - ], t he re is in Gi a c irc uit (si mpl e from Go to Gil. 757-6150-65-9 127

Gm plus all edges em for which w(v7' ) + w(v~') = w(e m ). If Gm does not satisfy (k) then there is an exposed node r in G~" for which w(r) > o. (Exposed means it meets no matching edge.) Start growing in n a planted tree rooted at r. If it grows into a flowered tree with blossom Bm, then in Gm shrink Bm to a u,"+l to obtain a Gm+ 1 Where qm is the node in Bm with smallest weight, set w(u m+ 1 ) equal to W(qlll) and adjust the weights of the edges which meet um+l according to the formula in (i). Leave other weights in Gm + 1 the same as in Gm Thus, weights in Gm+l will satisfy conditions (b), (g), (h), (i), and (j). Furthermore, G;"+1 is the image in Gm +! of G:n, and so we continue in G~'+ 1 with the tree image. Eventually, possibly after a number of shrinkings, we obtain either: (1) an augumenting tree or, (2) a tree which has an outer vertex v with w(v) = 0 or, (3) a Hungarian tree which has outer vertices all with positive w. In case 1, augment. That is, interchange matching roles of edges in the augme nting path. This yields a matching with larger weight-sum in the graph, still Section 6 call it Gm, and disposes of one or two vertices violating (k). In case 2, the path in the tree joining v to r is Since U ~ W in general, the "if" part of theorem really "augmenting" also, though such paths are not (M) is proved by the above translation from {Gd to a encountered in [2]. Treat it like the path in case 1 < y, Z >0 for which U = W. and it serves the same purpose. It is much simpler for the matching algorithm, given The fact that a matching is obtained which has < c >, to construct some maximum matching with a {G;} than to construct a {Gd for a particular maximum larger weight-sum is not needed for the validation of the algorithm. The important fact is the decrease in matching. Indeed, the simpler construction is all the number of nodes r in the final term Gm of {Gd, that is needed to get theorem (P). However, by a such that r is exposed and wer) > o. After an augmencontinuity argument we can show the existence of a {G i } for any maximum matching M and thereby com tation in case 1 or 2, abandon the tree and start a new tree at another node r if there is one. plete the proof of theorem (M). When we get, in case 1 and 2, a matching with larger Add a positive E to the weight c of each edge e in weight-sum in Gm, it yields a matching with larger M; leave all other edge weights the same. With this weight-sum in each graph G; back through Go. It new < c >, M is the unique maximum matching and does this by the process of successively selecting a therefore, by the simpler construction, the algorithm new matching within each blossom Bi which is comin section 7, there exists a {G;} for it. patible in Gi with the matching already chosen with An infinite sequence of sequences {G i }, correspondrespect to G;+l. If U i+1, the blossom Bi before "exing to an infinite sequence of E ' S which approach zero, pansion", is an exposed node in Gi + 1 then the selection contains only a finite number of different combinaof matching edges in Bi is determined by condition torial configurations aside from the values of the weights. The space of all possible weights is bounded (e). Sequence {G i } with these new matchings Mi and finite-dimensional. Hence there is a subsequence satisfies (a) through (j) and comes closer by at least of {Gi}'s, combinatorially the same, with a limit which one to satisfying (k). There is no advantage in selecting the matching in graphs Gi other than Gm until the is a {G i } like we want. algorithm is otherwise finished or until it is necessitated by condition (h) in case (3). Section 7 It is important for the type of step of the algorithm The maximum-weight-sum matching algorithm con- necessitated by (h) in case 3, described below, that we be able to "expand" the shrunken blossoms Bi in an sists of the maximum cardinality algorithm in [2] (secs. 4 and 7) together with small modifications sug- order different from the order in which they were shrunk - thereby obtaining a sequence {Gf} of type gested by theorem (M). Suppose we have a sequence {G i } (i = 0,..., m), {G i } (possibly not satisfying (k» such that the terms with not-necessarily-maximum matchings {M i }, sat- Gg and G~ together with their weights and matchings isfying all the conditions (a) through (j), omitting only are, respectively, identical to the terms Go and Gm (k). To get a weak sequence of this kind to start with- of {Gi} and such that the blossoms B? of {Gf} corretake m=o, take the matching to be empty, and take spond in a different order to the blossoms Bi of {G i }. sufficiently large vertex weights. The order of the blossoms Bi is not arbitrary but it is We apply the algorithm in [2] to matching M", in limited only by the relation of one U i + 1 having been the subgraph, G;n' of Gm which consists of all nodes of absorbed into another. By (b) and (14), (15) w(vl)+w(v2)-ldk~w(e)=c, where k is summed as in (14). Substituting (13) twice and (12) several times we get (7). By (d), (j), and (14), equality holds for (15) and thus for (7) when eem. Hence (9) is verified. Substituting (11) for nonzero d in (13), recollecting terms, and using (g), we have (16) y=w(vn)+~[w(vk)_w(qk)], where k is summed over all the Bk into which v is absorbed and where vk and v n are the images of v in B" and Gn. Hence, by (b) and (e), we have y ~ o. By (h) and (11), z ~ o. Thus, (6) is verified. When a node v meets no edge of M, by (c) and (f) neither does any image Vi meet an edge of Mi. There fore by (e) and (k) and (16), y=o in this case. Thus, (8) is verified. Condition (10) follows from (c) and (f). Thus, modulo the "only if" part of theorem (M), conditions (6) through (10) are verified for some < y, Z >0 and theo rem (P) is proved. G: 128

In pa rti c u la r, for a ny node v"' of Gill whi c h is the image of some B i, le t B.. be th e bl osso m of {Gi } whose im age in Gil/ is viti and s uc h th a t k is maximum. Nod e v"' can be " expand ed " to o bt a in fro m Gill with its weights a nd ma tc hin g a certa in gra ph, GII/k, with weight s and a matc hin g a nd a blosso m, BII/h" corresponding to B... The graph struc ture, th e we ights, a nd th e ma tc hing of Gil/h' in the n e ighborh ood of BII/h' are de termine d by Gill in th e neighb orhood of VIII and by Gk in th e neighb orhood of BA, s ubj ect to the condition s (oth e r than (k)) of theore m (M ). Elsewhere Gmk is like Gm. Th er e exis ts a seque nce {Gn as described above suc h that th e next to th e last term is GIIIA With out desc ribing it and justifying it here in any greater de tail, th e de rivation of {Gn should be fairl y e vid e nt from th e local nature of th e c ha nges in success iv e te rm s of a ny se qu e nce {GiL In imple me nting th e algorithm it may be be tte r to represe nt the parti al o rd e r s tru c ture of in clu sio n for th e blosso ms Bi of a {Gi } so th a t no spec ial prefe re nce is giv e n to {Gi } or a ny of th e oth e r se qu e nces {Gf}. He re we desc rib e th e algorithm with respec t to a p a rti c ul a r {G i } me rel y fo r co nve ni e nce of ex positi on. In case 3, t he we ights of th e ve rti ces in the Hungarian tree are a djus ted. We ights of outer verti ces are lowe red and weights of inn er vertices a re rai se d by a uniform a mount, whi c h is as la rge as poss ible with out violating fo r th e seque nce {Gi } e ith e r (b) by ma kin g an outer vert ex too s mall or (h) by ma kin g an inn e r vertex whi c h is th e im age of a s hrunk e n blosso m too large. In the adjus tm e nt, prope rt y w(v ~1/) + w(v~' ) = w(e lll ). is pres.e rved for edges of th e tree. E dges of ~f'q mee tlllg an IIln er ve rtex a nd not a n oute r ve rtex WI t drop out of G;Il ' If (b) limits th e adju s tm e nt, it may be because so me oute r ve rt ex weight beco mes ze ro. Th e n, poss ibly afte r th e oper a ti on pe rform ed in c ase 2, we again ha ve one less node viola te (k). Oth erwi se if (b) limits th e adjus tm e nt, it is because for o ne or more edges em in Gm and not in G;lI' whi c h mee t oute r verti ces, we ge t W(V~') + w(v~') = (em). Th ese ed ges ente r G;", so th e tree is no longer Hun gari a n a nd can b e grown so me more. If, in case 3, conditi on (h) limits the adju s tm e nt a t an inn er vertex, s ay V III, of the tree, it is because, wh ere {G?} is th e m odifi cati on of {G i } cited a bove, w(v lll ) becom es as large as th e s mallest node -w eight in Billie of Gill... B y s ub s tituting {Gf} for {G;}, and callin g it {G i }, we ma y regard v lll as u lll, the image of B"' _I in Gill of {G i }. Node-weight w( u lll ) was first set equal to th e small es t node weig ht w(qlll- I) in Bill - I of Gm - I. H owever, by som e we ight adjus tm e nt whe re u lll was an outer ve rtex of a Hungari a n tree, w( u"' ) may have go tte n small e r for a while - before th e c urre nt adjustm e nt gave w(u lll ) = w(qlll- I) again. We now describ e what to d o wh e n u lll, th e image of Bill- I, is an inne r ve rt e x of th e c urre nt tree and w(u m ) = w(qlll - I). The pre- image in Gill - I of th e tree-edges is not ge ne rall y o ne tree in Gill - I but two. Howe ve r, as described in secti o n 7 of [2], us ing onl y edges from Bill- I, thi s pre -image can always be co mple ted to a planted tree, s ay T, in G;,, _I' wh e re G;" _I is th e s ub- graph of Gm - I con slstlll g of edges e lll - I for which w(vt - I) + w(v~i-i) = w(e lll - I). Thus, we abandon Gill' replace {G i} (i= 0,..., m) by {G i } (i=o,..., m-l ), a nd co ntinu e th e algorithm with r espect to T in G;lI _I' Thi s co mple tes th e description of th e situation s and op eration s in th e algorithm. Aft e r ha ndling a number of impedim e nts like describ ed in case 3 and like blossoms to be shrunk, th e tree will grow into on e which allows a decr ease in th e numbe r of nod es violating (k). Finally whe n (k) is no lo nger vi ola ted in the final te rm of {G i }, we hav e a {G i } sati fyin g all th e condition s of theore m (M). It is easy to verify tha t all th e conditions (a) through (j) are preserved b y the s te ps of th e algorithm. The progress of th e algorithm is meas ured firs t accordin g to the decr ease in th e numb e r of node we ights whi c h violate condi tion (k). Th e algori th m co nsis ts, in th e large, of "growin g" trees, o ne a fte r the oth er. E ac h tree is aband o ned wh e n a nd o nly wh e n it yield s a decrease of one o r two in th a t numb e r. Thu s, a t mos t N trees are grown wh e re N is th e numbe r of nodes in G. The progress in th e growth of a n individual tree can be meas ured acco rdin g to the numb er of di s tin c t edges whi c h ha ve e nte red th e tree, includin g th ose whi c h ha ve di sapp eared into blosso ms s hrunk e n while growin g the tree. Th e la tte r ne ve r rea pp ea r in th e sa me tree because t hey are absorbed into outer ve rt ices of the tree, whe reas onl y inn e r verti ces of th e tree are expand ed in th e co urse of its growth. Th e to tal num ber edges whi c h ever e nte r a tree is.less tha n N, and eac h edge e nters a t mos t once. It ca n be s ho wn by a s urvey of the arithm eti c involv ed and th e combina torics involved as desc rib ed in [2] that a n a mpl e uppe r bo u nd o n th e order of work be twee n additi o ns of edges to a tree and in the trans iti on fro m eac h tree is N2. Thi s is ass umin g th a t th e work in volved in th e indi vidu al a rithm e ti c additi ons a nd s ubtrac ti o ns is fix ed. Th e a mount of wo rk in th e algorithm al so in creases so me accordin g to th e numb e r of signifi cant dec imal places in th e edge-w eight s. Section 8 THEOREM (P) ge ne ralizes to th e following: All the extrem e po ints of p ol yh edra I and II consist of integer components. As before th e variabl es x EE corresp ond to the edges of a graph G. Now ther e is an intege r "capacity", d, as sociated with eac h node VEG. Wh er e all d = 1, both I and II are polyhedron C of theore m (P ). I. (1) x ~ 0, for all xee. (2) LX :!S: d (XEV), for all V, where V corresponds to the edges whi ch meet a node v of G and where d is th e integer capacity assigned to v. (3) LX :!S: r(xer ), for all Rand r, wh ere r is a p os itive integer, and where R correspond s to th e edges of G with both ends in a set S of nod es suc h that Ld = 2r + 1 (d summe d over capaciti es of nod es VES ). II. (1) O :!S: X ~ 1, for all x EE. (2) LX :!S: d (XEV), for all V, same as in I. (3) L X :!S: r (xer), for all Rand r, whe re r is a pos i- 129

tive integer, and where R corresponds to all edges with both ends in a set S plus a number t of edges with one end in S, where less than d of the t edges meet node v in S, and where 2r + 1 = t + 'id ({J summed over capacities of nodes VES). Correspondingly, there is an efficient algorithm for finding maximum weight-sum, degree-constrained subgraphs. (Paper 69Bl-143) References [1] G. Birkhoff, Tres. observaciones sobre el algebra lineal, Re v. Univ. Nac. Tuc uman, Ser. A, 5, 147-148 (1946). [ 2] 1. Edmonds, Paths, trees, and Aowers, to appear in the Canadian 1. Math. (May 1965). [3] H. W. Kuhn, Variants of the Hungarian method for assignment problems, Naval Res. Logist. Quart. 3, 253-258 (1956). [4] W. T. Tuite, A short proof of the factor theorem for finite grapns, Canadian J. Math. 6,347-352 (1954). [5] 1. Von Neuman, A certain zero-sum two person game equivalent to the optimum assignment problem, in Contributions to the Theory of Games, II (Ann. Ma th. Studies 38, 5-12, ed. Tucker and Kuhn), Princeton (1953). [6] C. Witzgall and C. Zahn, Jr., A modification of Edmonds' maxi mum matching algorithm, 1. Res. NBS 69B (Math. and Math. Phys.) No.1, 130