60 Kapitel 4 Grundlagen der Kombinatorik Einer der Schwerpunkte der Kombinatorik ist das Abzählen von endlichen Mengen. Wir stellen zunächst einige Grundregeln des Abzählens vor, die wir gelegentlich auch schon benutzt haben. 4.1 Grundregeln des Abzählens Im Beweis von Lemma 2.20 hatten wir bereits die folgende Regel angesprochen. Lemma 4.1 (Summenregel). Seien M1 , . . . , Mn endliche, paarweise disjunkte (d.h. für alle j 6= k gilt Mj ∩ Mk = ∅) Mengen. Dann gilt n n [ X M = |Mj | . j j=1 j=1 Beweis: Aufgrund der paarweisen Disjunktheit der Mj zählen wir jedes Element aus Sn M j auf beiden Seiten der Gleichung genau einmal. j=1 Bereits bewiesen (Lemma 2.20) hatten wir das folgende Lemma. Lemma 4.2. Seien M, N endliche Mengen. Es existiert genau dann eine Bijektion f : M −→ N , wenn |M | = |N |. Lemma 4.3 (Produktregel). Seien M1 , . . . , Mn endliche Mengen. Dann gilt |M1 × · · · × Mn | = n Y j=1 61 |Mj | . 4.1 Grundregeln des Abzählens Grundlagen der Kombinatorik Beweis: Für n = 1 gilt das Lemma offensichtlich. Wir beweisen das Lemma für n ≥ 2 mit vollständiger Induktion. n = 2: Wir müssen zeigen, dass |M1 ×M2 | = |M1 |·|M2 |. Sei Nx = {(x, y) : y ∈ M2 }. Dann ist das Mengensystem {Nx : x ∈ M1 } eine Partition von M1 × M2 . Außerdem ist (für ein beliebiges x ∈ M1 ) f : Nx −→ M2 , (x, y) 7−→ y eine Bijektion, also gilt nach Lemma 4.2 |Nx | = |M2 | für alle x ∈ M1 . Damit gilt mit Lemma 4.1 |M1 × M2 | = X X |Nx | = x∈M1 |M2 | = |M1 | · |M2 | . x∈M1 n > 2: Sei M1∗ = M1 × · · · × Mn−1 und M2∗ = Mn . Dann können wir wie eben im Induktionsanfang beweisen, dass Q |M1∗ ×M2∗ | = |M1∗ |·|M2∗ |. Nach Induktionsannahme ∗ ist |M1 | = |M1 × · · · × Mn−1 | = n−1 j=1 |Mj |. Zusammen gilt also |M1 × · · · × Mn | = |M1∗ × M2∗ | = |M1∗ | · |M2∗ | = n−1 Y j=1 ! |Mj | · |Mn | = n Y |Mj | . j=1 Beispiel 4.4. Wir hatten bereits gesehen, dass das kartesische Produkt {♦, ♥, ♣, ♠} × {2, 3, 4, 5, 6, 7, 8, 9, 10, Bube, Dame, König, Ass} die Karten eines Kartenspiels bezeichnet. Aus Lemma 4.3 folgt, dass dieses Kartenspiel aus 4 · 13 = 52 Karten besteht. Lemma 4.5 (Potenzregel). Seien M und N endliche Mengen mit |M | = m und |N | = n. Dann existieren genau nm viele Funktionen f : M −→ N . Beweis: Œ sei M = {1, 2, . . . , m} (vgl. Lemma 4.2). Jede Funktion f : M −→ N ordnet damit jeder Zahl j ∈ {1, 2, . . . , m} genau ein Element yj ∈ N zu. Damit können wir jeder Funktion f genau ein m-Tupel (y1 , . . . , ym ) ∈ N m = N × · · · × N zuordnen. Und andersherum definiert jedes m-Tupel wiederum eine Funktion f . Wir erhalten somit eine Bijektion zwischen der Menge aller Funktionen von M nach N und dem kartesischen Produkt N m . Die beiden Mengen sind also nach Lemma 4.2 gleichmächtig. Das kartesische Produkt N m hat nach der Produktregel aber gerade nm viele Elemente. Ein Beispiel für eine Anwendung der Potenzregel werden wir gleich bei den folgenden Urnenmodellen kennen lernen. 62 Grundlagen der Kombinatorik 4.2 4.2 Urnenmodelle Urnenmodelle In einer Urne seien n unterscheidbare Kugeln, von denen wir k viele auswählen wollen. Je nachdem, ob wir dabei die Reihenfolge, in der wir die Kugeln ziehen, berücksichtigen, und ob wir jede Kugel nach dem Ziehen wieder zurücklegen, ergeben sich dabei unterschiedliche Anzahlen von Möglichkeiten, wie wir aus n vielen Kugeln k viele auswählen können. Satz 4.6. Die Anzahl der Möglichkeiten, aus n Elementen k auszuwählen, ist: mit Reihenfolge ohne Reihenfolge mit Zurücklegen ohne Zurücklegen (bzw. mit Wiederholungen) (bzw. ohne Wiederholungen) n! nk (n − k)! n+k−1 n n! := k! · (n − k)! k k Bevor wir den Satz beweisen, wollen wir für jeden der vier Fälle ein Beispiel angeben. Beispiel 4.7. Die folgende Tabelle stellt jeweils ein Beispiel für die Anzahl der Möglichkeiten aus n Elementen k auszuwählen vor. mit Reihenfolge ohne Reihenfolge mit Zurücklegen PIN-Codes (z.B. n = 10 Ziffern, k = 4 Stellen, 10000 Möglichkeiten) ohne Zurücklegen Wettkämpfe (z.B. n = 10 Teilnehmer, k = 3 Medaillen, 720 M.) Wahlen (z.B. n = 5 Kandidaten, k = 100 Wähler, 91962520 M.) Lotto (z.B. n = 49, k = 6, 13983816 Mögl.) Beweis: Wir beginnen links oben, Ziehen mit Zurücklegen, mit Berücksichtigung der Reihenfolge: Diesen Fall haben wir mit der Potenzregel, Lemma 4.5, schon abgehandelt. Jede Möglichkeit, aus n Kugeln k viele auszuwählen, entspricht in diesem Fall genau einer Funktion von der Menge {1, 2, . . . , k} in die Menge N := {1, 2, . . . , n} bzw. entspricht genau einem Element (y1 , y2 , . . . , yk ) ∈ N k , wobei jedes yj angibt, welche Kugel in der Reihenfolge als j-te Kugel gezogen wurde. Die Anzahl der Möglichkeiten ist dann |N k | = n · n · · · · · n = nk . Ziehen ohne Zurücklegen, mit Reihenfolge: Im Vergleich zum vorigen Fall stehen zwar für die erste Kugel ebenfalls n Kugeln zur Auswahl, für die zweite aber nur noch n − 1 Kugeln usw. bis für die Kugel k ≤ n noch (n − k + 1) viele Kugeln zur Auswahl stehen. Damit ist gesuchte Anzahl der Möglichkeiten gerade n · (n − 1) · · · · · (n − k + 1) = 63 n! . (n − k)! 4.2 Urnenmodelle Grundlagen der Kombinatorik Falls k = n gibt es in diesem Fall somit insbesondere k! = n! viele Möglichkeiten, aus n Kugeln n auszuwählen. Ziehen ohne Zurücklegen, ohne Reihenfolge: Diesen Fall können wir mit Hilfe des vorigen Falls behandeln. Würden wir die Reihenfolge berücksichtigen, wäre die Anzahl der Möglichkeiten n!/(n − k)!. Da die Reihenfolge jetzt aber nicht mehr berücksichtigt wird, zählen wir alle k! Möglichkeiten, die allein durch die Berücksichtigung der Reihenfolge im vorigen Fall dazu kamen als eine Möglichkeit. Das ergibt für diesen Fall dann n! n =: . (n − k)! · k! k Ziehen mit Zurücklegen, ohne Reihenfolge: Diesen Fall können wir wiederum mit Hilfe des vorigen Falls behandeln. Die Reihenfolge, in der die Kugeln gezogen werden, wird nicht berücksichtigt, d.h. allein die Anzahlen, wie oft eine Kugel gezogen wird, spielt eine Rolle. Seien also a1 , . . . , an die Anzahlen, wie oft die entsprechende Kugel gezogen wurde, d.h. Kugel j wurde aj -mal gezogen. Im vorigen Fall galt aj = 1 für genau k viele Kugeln und aj = 0 für alle anderen Kugeln, so dass P n j=1 aj = k. Da die Kugeln jetzt aber nach jedem Ziehen wieder zurückgelegt werden, gilt 0 ≤ aj ≤ k. Für die Summe ergibt sich wieder a1 + a2 + · · · + an = k . Ziehen mit Zurücklegen, Pohne Reihenfolge entspricht also genau einer Zuweisung von a1 , . . . , an ∈ N mit nj=1 aj = k. Diese Summe wollen wir jetzt folgendermaßen umschreiben. Wir verwenden zwei Symbole. Das Symbol ◦ verwenden wir k-mal und das Symbol | verwenden wir n − 1 mal. Insgesamt verwenden wir also n + k − 1 Symbole. ◦| .{z . . ◦} | ◦| .{z . . ◦} | . . . | ◦| .{z . . ◦} . a1 -mal a2 -mal an -mal Das Symbol | gibt also an, ab welcher Stelle der nächste Wert aj beginnt”. Diese ” Schreibweise entspricht damit genau einer Summe der obigen Form und damit genau einer Möglichkeit des Ziehens in diesem Fall. Wie viele Möglichkeiten gibt es nun aber, die Symbole ◦ und | anzuordnen, d.h. wie viele Möglichkeiten gibt es, die k Symbole ◦ auf n + k − 1 viele Stellen zu verteilen? Dies entspricht genau dem Ziehen ohne Zurücklegen, ohne Reihenfolge, was wir im vorigen Fall behandelt hatten. Somit ist die Anzahl der Möglichkeiten gerade n+k−1 . k 64 Grundlagen der Kombinatorik 4.3 4.3 Binomialkoeffizienten Binomialkoeffizienten In diesem Abschnitt wollen wir die wichtigsten Eigenschaften des Binomialkoeffizienten nk zusammenfassen. Im letzten Abschnitt hatten wir für n, k ∈ N definiert n n! := , k k! · (n − k)! was für 0 ≤ k ≤ n der Anzahl der Möglichkeiten im Fall Ziehen ohne Zurücklegen, ohne Reihenfolge entspricht. Da es nicht möglich ist, k > n viele Elemente ohne n n Zurücklegen zu ziehen, definieren wir k := 0 für k > n und genauso k := 0 für k < 0. Damit können wir folgende Rekursionsgleichung beweisen. Satz 4.8 (Rekursionsgleichung für Binomialkoeffizienten). Für n ∈ N+ , k ∈ N gilt n n−1 n−1 = + . k k−1 k Beweis: Für k = 0 gilt1 n0 = 1 = n−1 + n−1 . Für 0 < k ≤ n gilt −1 0 n−1 n−1 (n − 1)! (n − 1)! + + = k−1 k (k − 1)! · (n − k)! k! · (n − k − 1)! k · (n − 1)! (n − k) · (n − 1)! = + k! · (n − k)! k! · (n − k)! n · (n − 1)! n! n = = = . k! · (n − k)! k! · (n − k)! k Und für k > n gilt nk = 0 = n−1 + n−1 . k−1 k Mit Hilfe der Rekursionsgleichung lässt sich das folgende Pascalsche Dreieck2 sukzessive aufbauen. 0 1 0 1 1 1 1 0 2 1 2 2 1 2 1 0 3 1 3 2 3 3 1 3 3 1 0 4 1 4 2 4 3 4 4 1 4 6 4 1 0 5 1 5 2 5 3 5 4 5 5 1 5 10 10 5 1 0 1 2 3 4 5 . . . ... .. .. .. Nach folgendem Satz liefert eine Zeile n0 , n1 , . . . , nn des Pascalschen Dreiecks gerade die Koeffizienten der Summanden einer Potenz (a + b)n . 1 2 Wir erinnern uns an 0! := 1. Blaise Pascal, 1623–1662, französischer Mathematiker. 65 4.3 Binomialkoeffizienten Grundlagen der Kombinatorik Satz 4.9 (Binomialsatz). Für a, b ∈ R und n ∈ N gilt n X n n−k k n (a + b) = a b . k k=0 Beweis: Wir beweisen die Behauptung per Induktion über n. n = 0: Es gilt (a + b)0 = 1 · a0 b0 . = n−1 = 0. n > 0: Wir benutzen die Rekursionsgleichung und n−1 −1 n n n−1 (a + b) = (a + b) · (a + b) = (a + b) · n−1 X n−1 k=0 k an−1−k bk n−1 X n−1 n − 1 n−k k X n − 1 n−1−k k+1 = a b + a b k k k=0 k=0 n n−1 X X n−1 n − 1 n−k k n−k k a b a b + = k−1 k k=1 k=0 n n X n − 1 n−k k X n − 1 n−k k a b = a b + k − 1 k k=0 k=0 n X n n−k k = a b . k k=0 n X k n + (−1) Korollar 4.10. Für n ∈ N gilt = 0. k k=0 n Beweis: Aus dem Binomialsatz folgt 0 = (1 − 1) = n X n k=0 k 1n−k (−1)k . Eine weitere wichtige Eigenschaft der Binomialkoeffizienten ist die Folgende. Satz 4.11. Sei N eine beliebige, endliche Menge mit |N | = n. Dann gilt n X n = 2n = |P(N )| . k k=0 Beweis: Wir beweisen zunächst die zweite Gleichung 2n = |P(N )|. Jedem Element der Potenzmenge P(N ), d.h. jeder Teilmenge N0 ⊆ N , lässt sich bijektiv eine Funktion f : N −→ {0, 1} zuordnen, beispielsweise die charakteristische Funktion zu N0 ( 1 , falls x ∈ N0 , χ(N0 ) : N −→ {0, 1}, x 7−→ 0 , falls x ∈ / N0 . 66 Grundlagen der Kombinatorik 4.3 Binomialkoeffizienten Damit ist die gesuchte Mächtigkeit |P(N )| gerade gleich der Anzahl Funktionen f : N −→ {0, 1}, welche nach der Potenzregel 2n ist. Pn Jetzt beweisen wir die erste Gleichung k=0 nk = 2n . Mit dem Binomialsatz gilt n n 2 = (1 + 1) = n X n k=0 k 1n−k 1k . Zuletzt beweisen wir noch folgende Eigenschaft der Binomialkoeffizienten. Satz 4.12 (Vandermonde’sche Identität3 ). Für k, m, n ∈ N gilt n+m k k X n m = · . j k−j j=0 Beweis: Seien N und M disjunkte Mengen mit |N | = n und |M | = m. Anstatt N ∪ M schreibt man für disjunkte Mengen auch N ] M . Für j = 0, 1, . . . , k sei Pj := {P ⊆ N ] M : |P | = k und |P ∩ N | = j (und |P ∩ M | = k − j)} . m Es gibt nj viele j-elementige Teilmengen von N und k−j viele (k − j)-elementige m Teilmengen von M . Für die Mächtigkeit von Pj gilt dann |Pj | = nj · k−j . Außerdem sind die Mengen P0 , P1 , . . . , Pk paarweise disjunkt. Mit der Summenregel folgt dann X k k X n m n+m |Pj | = · . = j k−j k j=0 j=0 Beispiel 4.13. In einer Vorlesung sitzen n + m Studenten, n weibliche und m männliche. Wie viele verschiedene Gruppen gibt es, die aus k Studenten bestehen? Diese Frage können wir auf zwei Arten beantworten. Zunächst beachten wir die verschiedenen Geschlechter nicht. Dann ist die Anzahl der Gruppen gerade n+m . k Genauso können wir aber auch alle Gruppen zählen, in denen für j = 0, 1, . . . , k jeweils j weibliche und k − j männliche Studenten vorkommenPund anschließend m . aufsummieren. Das ergibt die selbe Anzahl wie im vorigen Fall kj=0 nj · k−j 3 Alexandre-Théophile Vandermonde, 1735–1796, französischer Mathematiker. 67 4.4 Permutationen 4.4 Grundlagen der Kombinatorik Permutationen Sei N eine endliche Menge mit |N | = n. Eine Permutation der Menge N ist eine bijektive Funktion π : N −→ N . Sei ohne Einschränkung N = {1, 2, . . . , n}. Die Menge aller Permutationen auf N wird meist mit Sn bezeichnet. Permutationen π ∈ Sn lassen sich in mehreren Schreibweisen angeben. Matrixschreibweise. Hierbei wird die Permutation durch eine (2 × n)-Matrix der Form 1 2 3 ··· n π= π(1) π(2) π(3) · · · π(n) angegeben. Da π eine bijektive Funktion ist, kommen die Zahlen 1, 2, . . . , n in der zweiten Zeile alle vor. 1 2 3 4 5 6 π= 4 1 6 2 5 3 ist beispielsweise eine Permutation für n = 6. Tupelschreibweise. Manchmal gibt man statt der (2 × n)-Matrix auch nur die zweite Zeile als Tupel π = (π(1), π(2), π(3), . . . , π(n)) an. Für obiges Beispiel bedeutet das dann π = (4, 1, 6, 2, 5, 3) . Zykelschreibweise. Sei x ∈ N ein beliebiges Element. Dann können wir durch mehrmaliges Anwenden von π die Werte π(x), π 2 (x) := π(π(x)), π 3 (x), . . . , π k (x) bestimmen. Es existiert ein minimales 0 < ` ≤ n mit π ` (x) = x. Im obigen Beispiel für x = 1 gilt beispielsweise ` = 3, denn x = π 0 (x) = 1, π(x) = 4, π 2 (x) = 2, π 3 (x) = 1 = x . Eine solche Folge von Werten x, π(x), π 2 (x), . . . , π `−1 (x) (mit minimalem ` > 0, so 2 `−1 dass π ` (x) = x) heißt Zykel und man schreibt dafür x π(x) π (x) · · · π (x) , was für obiges Beispiel 1 4 2 bedeutet. Das minimale ` > 0 heißt dabei Länge des Zykels. Falls die Permutation weitere Zykel enthält, so werden diese alle nacheinander angegeben. Eine Zykeldarstellung der obigen Permutation ist z.B.4 π = 1 4 2 3 6 5 oder auch π= 2 1 4 5 6 3 . 4 Die Zykeldarstellung ist also nicht eindeutig, denn die Reihenfolge, in der die verschiedenen Zykel angegeben werden, sowie der Startwert” jedes Zykels, sind beliebig. ” 68 Grundlagen der Kombinatorik 4.4 Permutationen Diese Permutation enthält also drei Zykel, jeweils einen der Länge 1, 2 und 3. Da Permutationen π, σ ∈ Sn bijektive Funktionen sind, lassen sie sich beliebig hintereinander ausführen und wir erhalten wegen Satz 2.19 wiederum Permutationen π ◦ σ, σ ◦ π ∈ Sn . Man nennt π ◦ σ bzw. π ◦ σ auch das Produkt von π und σ bzw. σ und π. Für σ = (3, 1, 2, 6, 4, 5) erhalten wir in Tupelschreibweise π ◦ σ = (6, 4, 1, 3, 2, 5) und σ ◦ π = (6, 3, 5, 1, 4, 2) . Permutationen, welche nur aus einem einzigen Zykel der Länge 2 (und Zykeln der Länge 1) bestehen, heißen Transpositionen. Hier werden also genau 2 Elemente vertauscht und die restlichen Elemente bleiben unberührt. Die Permutationen (1, 2, 4, 3, 5, 6) und (6, 2, 3, 4, 5, 1) sind beispielsweise Transpositionen, während (6, 2, 4, 3, 5, 1) und (2, 3, 1, 4, 5, 6) keine Transpositionen sind. Satz 4.14. Sei π ∈ Sn . Dann existieren Transpositionen τ1 , τ2 , . . . , τk ∈ Sn mit π = τk ◦ τk−1 ◦ · · · ◦ τ1 , d.h. jede Permutation lässt sich als Produkt von Transpositionen darstellen. Beweis: Wir bauen die Transpositionen τ1 , . . . , τk von links nach rechts” auf. Sei ` ” der minimale Wert5 mit π(`) 6= ` und τ1 sei der 2-Zykel ` π(`) . Für k = 2, 3, . . . sei ` ≥ k jeweils der minimale Wert mit π(`) 6= (τk−1 ◦ · · · ◦ τ1 )(`), falls dieser existiert, und sei τk der 2-Zykel (τk−1 ◦ · · · ◦ τ1 )(`) π(`) . Für ein k ≤ n − 1 gilt dann schließlich die obige Gleichheit. Beispiel 4.15. Sei τj,k die Transposition, die den 2-Zykel j k enthält. Dann gilt für obiges Beispiel 1 2 3 4 5 6 π= = τ3,6 ◦ τ1,2 ◦ τ1,4 . 4 1 6 2 5 3 Definition 4.16. Sei π ∈ Sn . Die Menge F(π) := {{j, k} : j < k und π(j) > π(k)} heißt die Menge der Fehlstände von π und sgn(π) := (−1)|F (π)| heißt Signum oder Vorzeichen von π. Permutationen π, für die sgn(π) = 1 (bzw. sgn(π) = −1) gilt, heißen gerade (bzw. ungerade). 5 Falls π(x) = x für alle x ∈ N , dann ist π die Identität auf N und damit definitionsgemäß gleich dem leeren Produkt (0-fachen Produkt) von Transpositionen. 69 4.4 Permutationen Grundlagen der Kombinatorik Beispiel 4.17. Zu obigem Beispiel 1 2 3 4 5 6 π= 4 1 6 2 5 3 ist F(π) = {{1, 2}, {1, 4}, {1, 6}, {3, 4}, {3, 5}, {3, 6}, {5, 6}}, also sgn(π) = −1.6 Lemma 4.18. Transpositionen τ sind ungerade Permutationen, d.h. sgn(τ ) = −1. Beweis: Sei j k mit j < k der Zykel der Länge 2 von τ . Dann besteht F(π) aus den beiden disjunkten Mengen {{j, x} : j < x ≤ k} und {{x, k} : j < x < k}, wobei die erste Menge genau ein Element mehr enthält. Somit enthält F(π) eine ungerade Anzahl von Elementen und damit ist sgn(π) = −1. Satz 4.19. Seien π, σ ∈ Sn . Dann gilt sgn(π ◦ σ) = sgn(π) · sgn(σ). Beweis: Sei F σ (π) := {{j, k} : σ(j) < σ(k) und (π ◦ σ)(j) > (π ◦ σ)(k)}. Die Menge F(σ) enthält alle Paare {j, k}, die durch σ in die umgedrehte” Reihenfolge ” gebracht werden. Die Menge F σ (π) enthält alle Paare {σ(j), σ(k)}, die anschließend durch π in die umgedrehte” Reihenfolge gebracht werden. Sei außerdem die Menge ” X definiert durch X = F(σ) ∩ F σ (π). Dann gilt F(π ◦ σ) = F(σ) \ F σ (π) ] F σ (π) \ F(σ) = F(σ) \ X ] F σ (π) \ X . Da σ eine bijektive Funktion ist, gilt |F σ (π)| = |F(π)| und somit |F(π ◦ σ)| = |F(σ)| + |F(π)| − 2|X| , also sgn(π ◦ σ) = (−1)|F (π◦σ)| = (−1)|F (σ)| · (−1)|F (π)| · (−1)−2|X| = sgn(σ) · sgn(π) . Korollar 4.20. Eine gerade (bzw. ungerade) Permutation ist das Produkt einer geraden (bzw. ungeraden) Anzahl von Transpositionen. Beweis: Sei π gleich dem Produkt der Transpositionen τk ◦ τk−1 ◦ · · · ◦ τ1 . Dann gilt nach Satz 4.19 k Y sgn(π) = sgn(τj ) = (−1)k . j=1 Also ist k gerade (bzw. ungerade), falls sgn(π) = 1 (bzw. sgn(π) = −1). Korollar 4.20 besagt, dass die Anzahl der Transpositionen in einer Darstellung einer Permutation als Produkt von Transpositionen eindeutig mod 2 ist. Sie ist aber weder (in Z) eindeutig, denn z.B. (1, 2) = (1, 2)3 = (1, 2)5 , noch sind die Transpositionen eindeutig, denn z.B. (2, 3, 1) = (3, 2, 1) ◦ (2, 1, 3) = (2, 1, 3) ◦ (1, 3, 2). 6 Da die Menge der Fehlstände aus 2-elementigen Mengen besteht, die ungeordnet sind, gilt genauso F(π) = {{2, 1}, {4, 1}, {6, 1}, {4, 3}, {5, 3}, {6, 3}, {6, 5}}. 70 Grundlagen der Kombinatorik 4.4 Permutationen Satz 4.21. Es gilt |Sn | = n!. Beweis: Die Anzahl der Möglichkeiten des Ziehens mit Reihenfolge, ohne Zurücklegen und k = n ist gleich |Sn |. Somit gilt |Sn | = n!/(n − n)! = n!. Eine nützliche Formel, um n! für große n abzuschätzen, ist die Folgende. Satz 4.22 (Stirlingsche Formel7 ). Für n ∈ N+ gilt √ √ 2πn nn e−n < n! < 2πn nn e−n e1/(12n) , wobei e = exp(1) = 2, 718281828459 . . . die Eulersche Zahl8 ist. Ein Beweis ist beispielsweise in [7] zu finden. Eine Anwendung findet diese Formel in folgendem Satz. Satz 4.23. Sei a1 , a2 , . . . , an eine Folge reeller Zahlen. Jeder (auf Vergleichen basierende) Sortieralgorithmus benötigt im worst-case mindestens n log2 (n/e) viele Vergleiche9 , um die gegebene Folge zu sortieren, d.h. um eine Permutation π ∈ Sn mit aπ(1) ≤ aπ(2) ≤ · · · ≤ aπ(n) zu berechnen. Beweis: Sei M die Menge der zu sortierenden Zahlen. Wir betrachten zu einem beliebigen Sortieralgorithmus dessen Entscheidungsbaum. x1,1 ≤ x1,2 ? ne ja ja ··· ··· ··· π2 xh,2h −1 ≤ x2,2h ? ja in ja ··· 7 π2h −1 in ··· x3,7 ≤ x3,8 ? ne ··· in x3,5 ≤ x3,6 ? ne π1 x3,3 ≤ x3,4 ? ne xh,1 ≤ x1,2 ? in x3,1 ≤ x3,2 ? x2,3 ≤ x2,4 ? ne ja x2,1 ≤ x2,2 ? in π 2h James Stirling, 1692–1770, schottischer Mathematiker. Leonhard Euler, 1707–1783, Schweizer Mathematiker. 9 Man sagt damit auch, dass die Laufzeit T (n) des Algorithmus in Ω(n log n) ist. 8 71 4.4 Permutationen Grundlagen der Kombinatorik Jeder Knoten dieses Graphen repräsentiert einen möglichen Vergleich des Algorithmus. In der Wurzel (1. Schicht) des Entscheidungsbaums werden zuerst zwei Elemente x1,1 , x1,2 ∈ M mit einander verglichen. Je nachdem, ob x1,1 ≤ x1,2 oder x1,1 > x1,2 , werden die nächsten zwei Elemente x2,1 , x2,2 oder x2,3 , x2,4 in Schicht 2 mit einander verglichen. Jeder Pfad von der Wurzel nach unten entspricht somit einem möglichen Verlauf des Algorithmus. Damit der Algorithmus jede Eingabefolge mit höchstens h vielen Vergleichen sortieren kann, muss in Schicht h + 1 jede der n! möglichen Permutation vorkommen. In Schicht h + 1 befinden sich aber 2h viele Knoten. Somit erhalten wir für h bzw. die Anzahl der nötigen Vergleiche des Algorithmus die Ungleichung √ h ≥ log2 (n!) > log2 2πn nn e−n = (1/2) log2 (2πn) + n log2 n − n log2 e ≥ n log2 (n/e) . Abschließend wollen wir kurz erwähnen, dass Permutationen zusammen mit der Hintereinanderausführung ◦ eine so genannte Gruppe bilden. Dazu definieren wir zu jeder Permutation π ∈ Sn deren Inverses π −1 (wie gewohnt) als die Umkehrfunktion von π. Außerdem bezeichne id ∈ Sn die Identität, d.h. die Permutation, die jedes Element auf sich selbst abbildet (id(x) = x für alle x ∈ {1, . . . , n}). Definition 4.24. Eine Menge G zusammen mit einer Funktion ? : G × G −→ G (x, y) 7−→ x ? y heißt Gruppe, falls folgende Eigenschaften erfüllt sind. • Für alle x, y, z ∈ G gilt (x ? y) ? z = x ? (y ? z) ( Assoziativität). • Es existiert ein e ∈ G ( neutrales Element) mit e ? x = x für alle x ∈ G. • Zu jedem x ∈ G existiert ein inverses Element x−1 ∈ G mit x−1 ? x = e. Gilt zusätzlich x ? y = y ? x für alle x, y ∈ G ( Kommutativität), so heißt die Gruppe kommutativ oder abelsch10 . Beispiel 4.25. Sn mit ◦ bildet eine Gruppe, die für n ≥ 3 nicht abelsch ist. Beweis: Wir wählen e = id als neutrales Element und definieren π −1 als das inverse Element zu π. Dann sind die drei ersten Eigenschaften erfüllt. Dass Sn für n ≥ 3 nicht abelsch ist, sieht man leicht an (1, 3, 2) ◦ (2, 1, 3) = (3, 1, 2) 6= (2, 3, 1) = (2, 1, 3) ◦ (1, 3, 2). 10 Niels Henrik Abel, 1802–1829, norwegischer Mathematiker. 72 Grundlagen der Kombinatorik 4.5 Weitere Abzählprinzipien Beispiel 4.26. Die Menge Z (oder auch Q, R) zusammen mit der Addition + sowie die Menge Q\{0} (oder auch R\{0}) mit der Multiplikation · sind abelsche Gruppen. Beweis: Das neutrale Element bezüglich der Addition ist die 0 und damit ist das inverse Element zu einem beliebigen x ∈ Z (oder x ∈ Q, R) natürlich −x. Entsprechend ist das neutrale Element bezüglich der Multiplikation bei den beiden letzten Gruppen die 1 und das inverse Element zu x ∈ Q oder x ∈ R ist x−1 . Keine Gruppen sind somit beispielsweise N mit +, da etwa die 2 kein Inverses besitzt, oder Q mit ·, da die 0 kein Inverses besitzt. 4.5 Weitere Abzählprinzipien Anfangs dieses Kapitels haben wir die Summenregel für paarweise disjunkte Mengen M1 , . . . , Mn kennen gelernt. Sind die Mengen Sn nicht paarweise disjunkt, so lässt sich die Anzahl der Elemente der Vereinigung j=1 Mj wie folgt bestimmen. Satz 4.27 (Inklusions-Exklusions-Prinzip). Seien M1 , . . . , Mn endliche Mengen. n [ \ X 1+|K| (−1) Mk . Mj = j=1 ∅6=K⊆{1,...,n} k∈K S Beweis: Wir zählen”, was ein beliebiges Element x ∈ nj=1 Mj auf beiden Seiten der ” Gleichung beiträgt. Auf der linken natürlich genau 1. Wenn wir nun zeigen, dass x auch auf der rechten Seite genau einmal gezählt wird, haben wir das InklusionsExklusions-Prinzip bewiesen. Sei ` = |{j : x ∈ Mj }|, d.h. die Anzahl der Mengen Mj , in denen sich x befindet. Ohne Einschränkung seien M1 , M2 , . . . , M` diese ` Mengen. Für alle Mengen ∅ = 6 K ⊆ {1, 2, . . . , `} trägt x also (−1)1+|K| zur Summe auf der rechten Seite bei und für alle anderen Mengen 0. Wenn wir dann über alle Teilmengen ∅ = 6 K ⊆ {1, 2, . . . , `} aufsummieren, erhalten wir mit Korollar 4.10 ` X X ` 1+|K| (−1) = (−1)1+k k k=1 ∅6=K⊆{1,2,...,`} =− ` X ` k=1 k k (−1) = 1 − ` X ` k=0 k (−1)k = 1 . Beispiel 4.28. Für zwei Mengen M1 , M2 gilt |M1 ∪ M2 | = |M1 | + |M2 | − |M1 ∩ M2 |. Für drei Mengen M1 , M2 , M3 gilt |M1 ∪M2 ∪M3 | = |M1 |+|M2 |+|M3 |−|M1 ∩M2 |−|M1 ∩M3 |−|M2 ∩M3 |+|M1 ∩M2 ∩M3 |. 73 4.5 Weitere Abzählprinzipien Grundlagen der Kombinatorik Beispiel 4.29. Wie viele Primzahlen gibt es in der Menge M = {2, . . . , 100}? Wir bestimmen zunächst, wie viele Zahlen in M nicht prim sind. Jede Zahl √ x ∈ M, die nicht prim ist, lässt sich schreiben als x = p · n mit p, n ∈ M und p ≤ 100 = 10 prim, dies folgt leicht aus Satz 3.8. Als Primzahlen p kommen somit nur die Zahlen p1 = 2, p2 = 3, p3 = 5, p4 = 7 in Frage. Damit können wir die nicht primen Zahlen in M als Vereinigung der folgenden vier Mengen Mj für j = 1, . . . , 4 schreiben. Mj := {x ∈ M : x = pj · n mit n ∈ M } . Die Schnitte der Mj lassen sich leicht angeben. So enthält M1 ∩ M2 ∩ M3 beispielsweise alle Zahlen in M , die durch 2 · 3 · 5 = 30 teilbar sind. Die Anzahl Elemente in M1 ∩ M2 ∩ M3 ist b100/30c. Bei den Mengen Mj selbst gilt allerdings |Mj | = b100/pj c − 1, da hier pj ∈ / Mj . Insgesamt erhalten wir dann mit Hilfe des Inklusions-Exklusions-Prinzip 4 \ [ X (−1)1+|K| Mk Mj = j=1 k∈K ∅6=K⊆{1,...,4} 100 100 100 100 = −1+ −1+ −1+ −1 2 3 5 7 100 100 100 100 100 100 + + + + + − 6 10 14 15 21 35 100 100 100 100 100 + − + + + 30 42 70 105 210 = 49 + 32 + 19 + 13 − 16 − 10 − 7 − 6 − 4 − 2 + 3 + 2 + 1 = 74 . Also existieren 99 − 74 = 25 Primzahlen in M . Satz 4.30 (Schubfachprinzip). Seien M, N endliche Mengen mit |M | > |N | und f : M −→ N . Dann existiert ein y ∈ N mit |f −1 (y)| > 1. Mit anderen Worten, möchte man |M | Gegenstände in |N | Schubladen stecken, dann befindet sich in mindestens einer Schublade mehr als ein Gegenstand. Beweis: Hätten alle Urbilder höchstens ein Element, dann wäre f injektiv, im Widerspruch zu |M | > |N |. Beispiel 4.31. Zu 13 Personen gibt es immer mindestens einen Monat, in dem mehr als eine dieser Personen Geburtstag hat. Satz 4.32 (Verallgemeinertes Schubfachprinzip). Seien M, N endliche Mengen und f : M −→ N . Dann existiert ein y ∈ N mit |f −1 (y)| ≥ d|M |/|N |e. 74 Grundlagen der Kombinatorik 4.5 Weitere Abzählprinzipien Beweis: Für |N | = 0 gilt der Satz. Sei also jetzt |N | > 0. Wir beweisen indirekt. Nehmen wir an, f sei eine Abbildung mit |f −1 (y)| ≤ d|M |/|N |e − 1 für alle y ∈ N . Dann erhalten wir den folgenden Widerspruch X |M | −1 |M | = |f (y)| ≤ |N | · −1 |N | y∈N |M | − 1 |M | + |N | − 1 − 1 = |N | · = |M | − 1 . ≤ |N | · |N | |N | Beispiel 4.33. Zu 100 Personen gibt es immer mindestens einen Monat, in dem mindestens 9 Personen Geburtstag haben. 75