Mathematische Grundlagen der Informatik

Werbung
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
Herunterladen