De permanent van een matrix Schrijf S n voor de symmetrische groep, met als elementen alle permutaties σ van de getallen {,..., n}. De permanent van een n n matrix A = (a ij ) is een getal dat formeel als volgt is gedefinieerd, per(a) = σ S n a σ() a 2σ(2)... a nσ(n). () Deze sommatie gaat dus over producten van entries uit de rijen tot en met n, waarbij de kolommen waaruit deze entries worden genomen telkens een andere permutatie van de getallen tot en met n vormen. Zo is per(a) = a a 22 + a 2 a 2 voor 2 2 matrices A, en per(a) = a a 22 a 33 + a a 23 a 32 + a 2 a 2 a 33 + a 2 a 23 a 3 + a 3 a 2 a 32 + a 3 a 22 a 3 (2) voor 3 3 matrices A. Wat dat betreft lijkt de permanent dus sterk op de determinant: het zijn beide voorbeelden van Schurfuncties. Dat zijn de matrixfuncties van de vorm σ S n f(σ)a σ() a 2σ(2)... a nσ(n), (3) waarbij f : S n C een groepshomomorfisme is. Dit homomorfisme is voor de permanent het triviale homomorfisme σ en voor de determinant is het σ sign(σ). De permanent werd geïntroduceerd door Augustin-Louis Cauchy, alhoewel het concept pas na de formulering van het Vermoeden van Van der Waerden echt uitvoerig werd bestudeerd. Augustin-Louis Cauchy (789-857), Bartel Leendert van der Waerden (903-996), Herbert John Ryser (923-985), en Henryk Minc (99-203) Eén van de ontwikkelingen was het algoritme van Ryser, tot op heden één van de snelste manieren om de permanent van een matrix te berekenen. Het naslagwerk Permanents van Henryk Minc is een beroemd boek dat vrijwel uitsluitend over de permanent gaat.. Enkele voorbeelden van toepassingen van de permanent Schrijf e = e +... + e n voor de all-ones vector, dan is eenvoudig na te gaan dat per(ee ) = n! (4) Immers, ieder van de producten in de som () is gelijk aan één en dus telt de som op tot het aantal elementen van S n. Ook is in te zien dat per(ee I) gelijk is aan het aantal derangementen van,..., n, oftewel, de permutaties σ S n met de eigenschap dat σ(j) j
voor alle j {,..., n}. Een permutatie σ waarvoor σ(j) = j zal namelijk een bijdrage nul geven aan de som omdat a jσ(j) = 0, terwijl de overige permutaties allemaal een bijdrage één geven. Het aantal derangementen van n noteren we met!n en er geldt dat!n = per(ee I) = [ n! e, (5) met [x de integer het dichtst bij x. Voor bovenstaande breuk is die altijd goed gedefinieerd. Daar waar de determinant laat zien wanneer een matrix inverteerbaar is, laat de permanent iets zien over het patroon van in de matrix aanwezige nullen. Stelling (Frobenius-König) De permanent van een niet-negatieve n n matrix A is nul als en alleen als er indexverzamelingen {i,..., i k } en {j,..., j l } bestaan met k + l = n + en a ij = 0 voor alle i {i,..., i k } en j {j,..., j l }. (6) Bewijs. Zie bijvoorbeeld het boek Permanents van Henryk Minc. De intuïtie is, dat als A zoveel nullen heeft, iedere diagonaal wel een nul moet bevatten. Dus is ieder diagonaalproduct nul, en zo ook hun som, de permanent. Voorbeeld: Van de volgende 3 3 matrix met een 2 2 blok met nullen, A = (7) is de permanent per(a) = 0 omdat ieder van de termen uit (2) een nul bevat..2 Ontwikkeling van de permanent naar rijen of kolommen Net als de determinant kan de permanent berekend worden middels ontwikkeling naar een rij of een kolom. Zonder bewijs geven we hier een voorbeeld. Laat 0 4 A = 2 (8) 3 2 dan geldt dat per(a) = per [ 2 maar bijvoorbeeld ook dat [ per(a) = per 2 [ 2 + 0 per 3 [ 0 4 + 2 per 2 [ 2 + 4 per 3 2 [ 0 4 + 3 per = 3 + 0 + 28 = 3, (9) = 3 + 6 + 2 = 3. (0) Zowel de determinant als de permanent zijn te berekenen middels volledige ontwikkeling naar rijen en kolommen, dus tot de determinant of permanent van matrices wordt geëvalueerd. Dit zijn er echter n!, en dus voor grotere n is deze manier af te raden. Een aanzienlijke verbetering bij de berekening van de determinant volgde uit het feit dat elementaire rij-operaties de determinant van een matrix op een goed begrepen manier veranderen. Dus de te volgen strategie om een determinant uit te rekenen is om middels rij-operaties de matrix op echelonvorm te brengen, waarna de determinant eenvoudig bepaald van worden. 2
.3 Een miljoen dollar voor permanentberekening in polynomiale tijd Net als voor de determinant geldt dat de permanent lineair is in ieder van de rijen en kolommen. In tegenstelling tot de determinant blijft de permanent onveranderd als je twee rijen of kolommen met elkaar verwisselt. In het bijzonder vertelt de permanent je niets over het al dan niet inverteerbaar zijn van een matrix, immers, per [ [ = 2 en per 3 6 2 4 = 0, () terwijl de linkermatrix niet inverteerbaar is en de rechtermatrix wel. De elementaire rijoperatie die ten grondslag ligt aan het eenvoudig kunnen bepalen van de determinant middels rij-operaties is, dat als je een veelvoud van een rij van de matrix optelt bij een andere rij, de determinant niet verandert. Voor de permanent is dit in het geheel niet het geval. Zie [ [ [ 3 6 3 6 3 6 (2) 2 4 3 6 0 2 en merk op hoe de permanent bij de eerste elementaire rijoperatie met een factor 3/2 toeneemt (en dus nul blijft) maar in de tweede stap ineens gelijk wordt aan 36. Uitdaging. Het is onbekend wat de snelste manier is om de permanent van een matrix uit te rekenen. Als je er in slaagt om een manier te vinden die polynomiaal is in n dan heb je een probleem opgelost dat het beroemde P=NP probleem uit de zeven Millenium Prize Problems impliceert, waarvan de oplossing een miljoen dollar waard is. Met polynomiaal in n bedoelen we grofweg dat het aantal rekenkundige operaties zoals optellingen en vermenigvuldigingen dat nodig is om een uitkomst te berekenen begrensd wordt door een polynoom in n. Voor de determinant is dit een derdegraadspolynoom in n..4 Het algoritme van Ryser: illustratie In 963 vond Herbert William Ryser een methode om de complexiteit van de berekening van de permanent terug te brengen van O(n!) voor de naieve methode tot O(2 n n). We illustreren het idee achter deze methode voor n = 3. Bekijk als voorbeeld de matrix Met (2) vinden we dat 2 3 4 5 6 7 8 9. (3) per(a) = 5 9 + 6 8 + 2 4 9 + 2 6 7 + 3 4 8 + 3 5 7 = 450. (4) Deze zes producten vormen een bepaalde deelverzameling van de in totaal 27 producten van de entries van de matrix die je krijgt als je de haakjes wegwerkt in het product P (A) van de rijsommen van A, gedefinieerd als P (A) = ( + 2 + 3)(4 + 5 + 6)(7 + 8 + 9). Deze 27 producten zijn 4 7 5 7 6 7 4 8 5 8 6 8 4 9 5 9 6 9 2 4 7 2 5 7 2 6 7 2 4 8 2 5 8 2 6 8 2 4 9 2 5 9 2 6 8 3 3 4 7 3 5 7 3 6 7 3 4 8 3 5 8 3 6 8 3 4 9 3 5 9 3 6 9
Ryser bedacht een manier om de ongewenste 2 producten hier op efficiënte wijze uit te verwijderen. Deze niet helemaal triviale manier is, er eerst 24 uit te verwijderen, en de drie die er teveel uit zijn verwijderd, daarna toch weer aan toe te voegen. Hoe deed hij dit? Schrijf A j voor de 3 2 matrix die uit A ontstaat door de j-de kolom te verwijderen, 2 3 3 2 A = 5 6, A 2 = 4 6, A 3 = 4 5. 8 9 7 9 7 8 Voor iedere j {, 2, 3} bestaat het product P (A j ) van de rijsommen van A j uit acht termen, P (A ) = (2+3)(5+6)(8+9) = 2 5 8+2 5 9+2 6 8+2 6 9+3 5 8+3 5 9+3 6 8+3 6 9, P (A 2 ) = (+3)(4+6)(7+9) = 4 7+ 4 9+ 6 7+ 6 9+3 4 7+3 4 9+3 6 7+3 6 9, P (A 2 ) = (+2)(4+5)(7+8) = 4 7+ 4 8+ 5 7+ 5 8+2 4 7+2 4 8+2 5 7+2 5 8. Merk op dat ieder van deze 24 producten bestaat uit drie getallen die uit twee van de drie kolommen van A komen, en dus geen deel uitmaken van de zes termen van per(a) in (2), waarvan de drie getallen immers uit verschillende kolommen van A komen. Merk vervolgens op dat drie van de bovenstaande 24 producten twee keer voorkomen, namelijk, precies de producten van drie getallen uit dezelfde kolom. Dit leidt tot de conclusie dat per(a) = P (A) (P (A ) + P (A 2 ) + P (A 3 )) + P (A,2 ) + P (A 2,3 ) + P (A,3 ), (5) waarbij A i,j de matrix is die je krijgt door kolommen i en j uit A te verwijderen. Voor de gegeven matrix A vinden we daarom dat per(a) = 260 (935 + 640 + 405) + 270 = 450. Dit komt dus precies overeen met de middels de definitie gevonden waarde in (4)..5 Het algoritme van Ryser in iets meer abstractie In het voorgaande bekeken we voor een 3 3 matrix A het product van de rijsommen P (A) = (a + a 2 + a 3 )(a 2 + a 22 + a 23 )(a 3 + a 32 + a 33 ). (6) Als we de dit product uitvermenigvuldigen, ontstaat er een som van 27 producten van drie getallen, die de eigenschap hebben dat ze uit drie verschillende rijen van A komen. Dus, P (A) = a f() a 2f(2) a 3f(3) (7) f:{,2,3} {,2,3} waarbij gesommeerd wordt over de verzameling S van alle 27 verschillende functies van {, 2, 3} naar zichzelf. De permanent van A is precies gelijk aan de som over de deelverzameling S van bijectieve functies van {, 2, 3} naar zichzelf. Deze bijectieve functies zijn natuurlijk precies de permutaties van {, 2, 3}. De methode van Ryser is nu gebaseerd op de volgende observatie. Laat S j de verzameling zijn van functies van {, 2, 3} naar {, 2, 3} \ {j}. Dan behoort iedere niet-bijectieve f S 4
tot één of meerdere van de verzamelingen S, S 2, S 3. En dus kan de som over S geschreven worden als = + + +, (8) S S S S 2 S 3 S S 2 S 2 S 3 S S 3 S S 2 S 3 waarbij aangetekend dient te worden dat de doorsnede S S 2 S 3 in dit geval leeg is. Opmerking. Formule (8) heet het principe van inclusie en exclusie, en kan worden gegeneraliseerd naar n n matrices, met hierbij horende matrices die ontstaan door uit A één, twee, tot en met n kolommen weg te laten. We bekijken dit in de volgende sectie..6 De formule van Ryser (963) Schrijf [n = {,..., n}. Het product P (A) van de rijsommen van A bestaat uit de n n producten van n entries van A, waarbij ieder van deze n entries afkomstig zijn uit de n verschillende rijen van A. Met andere woorden, (a +... + a n )... (a n +... + a nn ) = P (A) = a f() a 2f(2)... a nf(n) (9) f:[n [n waarbij gesommeerd wordt over alle mogelijke n n functies f : [n [n. Hiervan willen we de n! producten overhouden waarvan de n getallen die het product vormen, uit verschillende kolommen van A afkomstig zijn: oftewel, sommeren over alle bijectieve functies f : [n [n. De algemene formule van Ryser laat zich als volgt opschrijven. Schrijf Σ j (A) voor de verzameling van alle n (n k) matrices die ontstaan door op alle mogelijke verschillende manieren k kolommen uit A te verwijderen. Dan is dus Laat vervolgens Σ 0 (A) = {A}, Σ (A) = {A,..., A n }, en Σ n (A) = {Ae,..., Ae n }. (20) S k = X Σ k (A) P (X), (2) waarbij P (X) staat voor het product van de rijsommen van X. Dan geldt dat per(a) = S 0 S + S 2 S 3 +... + ( ) n S n. (22) Merk op dat S 0 = P (A) en S = P (A ) + + P (A n ) en S n = P (Ae ) + + P (Ae n ) en dat we voor n = 3 hiermee inderdaad de eerder gegeven formule (5) terugvinden..7 De formule van Glynn (200) In 200 ontwikkelde David G. Glynn van de Flinders University of South Australia in Adelaide een familie van alternatieve formules om de permanent van een n n matrix A = (a ij ) te berekenen in zijn artikel The permanent of a square matrix, European Journal of Combinatorics 3(7):887-89. De eenvoudigste van deze formules is de volgende: per(a) = 2 n n n n a ij v j. (23) v B n v j i= 5
Hierbij loopt de eerste som over de verzameling B n = {v = (v,..., v n ) {, } n v = }, (24) die dus uit 2 n vectoren bestaat. We zullen deze formule hier niet bewijzen..8 Dubbelstochastische matrices Een dubbelstochastische matrix S is een niet-negatieve matrix met de eigenschap dat zowel de rijen als de kolommen optellen tot één, oftewel, S 0, Se = e, en e S = e. (25) De eenvoudigste voorbeelden van dubbelstochastische n n matrices zijn de n! permutatiematrices. Dit zijn precies de matrices M,..., M n! met n enen en n 2 n nullen, waarbij in iedere rij en iedere kolom precies één staat. Voor n = 3 zijn het bijvoorbeeld M = M 4 =, M 2 =, M 5 =, M 3 =, M 6 = Het is niet moeilijk na te gaan dat de matrix M gedefinieerd door M = µ j M j, waarbij µ j 0 en,. (26) µ j = (27) ook dubbelstochastisch is. Het is immers duidelijk dat M 0, en bovendien geldt dat Me = µ j M j e = µ j e = e en e M = e µ j M j = µ j e M j = µ j e = e. De omgekeerde implicatie is een redelijk pittige stelling. Stelling (Birkhof-Von Neumann) Zij M een dubbelstochastische n n matrix. bestaan er µ,..., µ n! 0 met µ +... + µ n! = zodanig dat Dan M = µ j M j. (28) Oftewel, iedere dubbelstochastische matrix is een convexe combinatie van permutatiematrices. Garrett Birkhoff (9-996) and John von Neumann (903-957) 6
De convexe deelverzameling in de vectorruimte van n n matrices bestaande uit alle dubbelstochastische matrices wordt ook wel het Birkhoff-polytoop genoemd. Om de stelling van Birkhoff-Von Neumann te bewijzen is het volgende resultaat erg nuttig. Lemma. Zij M R n n dubbelstochastisch. Dan is per(m) > 0. Bewijs. Veronderstel dat per(m) = 0. Volgens de stelling van Frobenius-König bestaan er dan verzamelingen {i,..., i k } en {j,..., j l } met k + l = n + en m ij = 0 voor alle i {i,..., i k } en j {j,..., j l }. (29) Na toepassen van geschikte permutaties van de rijen en kolommen van M ontstaat dan een matrix van de vorm [ A B Π MΠ 2 = 0 D waarbij de nulmatrix afmetingen k l heeft. Omdat k + l = n + is zijn de matrices A en D geen van beide vierkant. Hieruit volgt dat D meer rijen dan kolommen heeft. Deze rijen tellen echter alle op tot. Dus is er een kolom van D die optelt tot meer dan, en omdat M 0 zo ook de corresponderende kolom van M, wat in tegenspraak is met het feit dat M dubbelstochastisch is. Gevolg: Als M dubbelstochastisch is, heeft M een positieve diagonaal. Bewijs. Omdat per(m) de som is van de diagonaalproducten, en M niet-negatief is met per(m) > 0, is tenminste één van de diagonaalproducten positief. Bewijsschets: Een schets van het bewijs van de Stelling van Birkhoff-Von Neumann is nu als volgt. Laat M dubbelstochastisch zijn. Omdat M een positieve diagonaal heeft bestaat er een permutatiematrix Π zo, dat de entries van M positief zijn daar waar Π entries gelijk aan heeft. Laat µ het minimum zijn van deze positieve entries van M. Dan geldt dat het aantal nullen van de matrix M = M µ Π 0 tenminste één groter is dan het aantal nullen van M. Daarnaast is de matrix ( µ ) M dubbelstochastisch, en heeft dus een positieve diagonaal. Het proces kan nu worden herhaald, totdat wat overblijft een positief veelvoud van een permutatiematrix is. Dit geeft duidelijk de gewenste decompositie als convexe combinatie van permutatiematrices. De volgende stelling was gedurende ruim een halve eeuw een open probleem, dat de concepten van permanent en dubbelstochastische matrix onlosmakelijk met elkaar heeft verbonden. Stelling. Laat M de n n dubbelstochastische matrix zijn waarvan alle entries gelijk zijn aan n. Dan geldt per(m ) < per(m) (30) voor alle overige dubbelstochastische matrices M. Opmerking: De stelling maakte faam als het vermoeden van Van der Waerden, geformuleerd in 926. De zoektocht naar een bewijs resulteerde in een ware opleving in de bestudering van de permanent. Een bewijs werd uiteindelijk in 980 gevonden door B. Gyires, en onafhankelijk daarvan in 98 door G. P. Egorychev and D. I. Falikman. 7