View
34
Download
0
Category
Preview:
Citation preview
1 Kombinatorik
Kombinatorik 2
• Kombinatorik beschaftigt sich mit dem (effizienten) Abzahlen komplizierter Mengen.
• Enstanden aus der Untersuchung von Glucksspielen
– Einfachster Wahrscheinlichkeitsbegriff |A||Ω| mit
Ω Menge aller moglichen Spielverlaufe (”Elementarereignisse“),
A ⊆ Ω Teilmenge aller Spielverlaufe, an denen man interessiert ist.
– Z.B.:
Wahrscheinlichkeit, dass funf beliebig gewahlte Karten ein”Straight Flush“ sind.
Kombinatorik 3
• Schwierigkeit bei Kombinatorik: Modellierung
Naturlichsprachliche Beschreibung muss formalisiert werden.
– Meistens mehrere aquivalente Formalisierungen moglich, manche einfacher abzuzahlen als an-dere.
• Beispiel: wieviele Poker-Hande sind moglich?
– Karten K = 2, 3, . . . , 10, J,Q,K,A♥,♦,♣,♠
– Anzahl Karten: |K| = 13 · 4 = 52.
– Eine Poker-Hand besteht aus 5 Karten.
• Modellierung als 5-Tupel oder als 5-elementige Menge moglich.
Kombinatorik 4
• Hand als 5-Tupel: Ωg = (k1, . . . , k5) ∈ K5 : |k1, . . . , k5| = 5.
– “Geordnete Hand”
– Fur i-te Karte ki nur noch |K| − (i− 1) Karten verfugbar.
– Insgesamt: 52 · 51 · 50 · 49 · 48 Hande
• Hand als 5-elementige Menge: Ωu = S ⊆ K : |S| = 5
– “Ungeordnete Hand”
– Jede ungeordnete Hand k1, . . . , k5 lasst sich zu 5 · 4 · 3 · 2 · 1 =: 5! geordneten Handenanordnen/auflisten.
– D.h. je 5! geordnete Hande entsprechen einer ungeordneten Hand.
– Also insgesamt:52 · 51 · 50 · 49 · 48
5!=
52!
5! · 47!=:
(52
5
).
1
Kombinatorik 5
• Prinzipielles Vorgehen sobald Modellierung fixiert: Zahlproblem schrittweise zuruckfuhren auf be-reits bekannte bzw. leicht abzuzahlende Mengen.
• Beispiel: Berechnung der Wahrscheilichkeit eines “Straight Flush”.
– Ungeordnete Hand als 5-elementige Menge:
Ωu = H ⊆ K : |H| = 5
”Straight Flush“ entspricht dann der Menge
Au = 2♥, 3♥, 4♥, 5♥, 6♥, 2♥, 3♥, 4♥, 5♥, 6♥,. . . , 10♠, J♠, Q♠,K♠, A♠
Jeder”Straight Flush“ ist eindeutig durch die Farbe und die niedrigste Karte bestimmt, daher:
|Au| = |2, 3, . . . , 10 × ♥,♦,♣,♠| = 36
Damit W’keit fur”Straight Flush“
|Au||Ωu|
=36(
52·51·...·485!
)(Wenn A♥, 2♥, 3♥, 4♥, 5♥, . . . , A♠, 2♠, 3♠, 4♠, 5♠ auch als
”Straight Flush“ betrachtet, dann
40 statt 36.)
Kombinatorik 6
• Prinzipielles Vorgehen sobald Modellierung fixiert: Zahlproblem schrittweise zuruckfuhren auf be-reits bekannte bzw. leicht abzuzahlende Mengen.
• Beispiel: Berechnung der Wahrscheilichkeit eines “Straight Flush”.
– Geordnete Hand als 5-Tupel mit 5 verschiedenen Eintragen:
Ωg = (k1, . . . , k5) ∈ K5 : |k1, . . . , k5| = 5
”Straight Flush“ entspricht dann der Menge
Ag = (k1, . . . , k5) | k1, . . . , k5 ∈ Au
Fur jedes Element von Au gibt es 5 · 4 · 3 · 2 · 1 := 5! Elemente in Ag. Daher:
|Ag| = |Au| · 5!
Damit W’keit fur”Straight Flush“
|Ag||Ωg|
=36 · 5!
52 · 51 · . . . · 48
Kombinatorik 7
• Jede endliche Menge A lasst sich mit [|A|] = 1, . . . , |A|”identifizieren“, jeder abzahlbare Menge
mit einer Teilmenge von N0.
• Damit lassen sich viele Abzahlprobleme auf Teilmengen von [n]k oder Nk0 zuruckfuhren, inbesondere
(fur n, k ∈ N0):
– (s1, . . . , sk) ∈ [n]k : |s1, s2, . . . , sk| = k
– (s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
2
– (s1, . . . , sk) ∈ [n]k : s1 ≤ s2 ≤ . . . ≤ sk
– (s1, . . . , sk) ∈ Nk0 : s1 + s2 + . . .+ sk = n
– (s1, . . . , sk) ∈ Nk0 : s1 + s2 + . . .+ sk ≤ n
• Wir bestimmen die Machtigkeit dieser Mengen in Abhangigkeit von n, k.
• Bevor wir auf die einzelnen Mengen genauer eingehen, erwahnen wir mehrere einfache Vorgehens-weisen/Regeln, um das Abzahlen von Mengen zu vereinfachen.
1.1 Einfache Zahlregeln
Einfache Zahlregeln 8
• Seien A,B beliebige Mengen.
– Gilt A∩B = ∅, dann auch |A ∪B| = |A|+ |B|, da jedes Element von A∪B in genau einer derbeiden Mengen vorkommt. D.h. die beiden Mengen konnen unabhangig voneinander abgezahltwerden.
AB
Ω
A
B
– Analog im Fall einer Partition: wenn X =⊎
i∈N0Ai dann |X| =
∑i∈N0|Ai|.
– Im Fall A ∩B 6= ∅, gilt |A ∪B| < |A|+ |B| und
|A ∪B| = |A|+ |B| − |A ∩B|
da |A|+ |B| jedes Element aus A ∩B zwei Mal zahlt.
Einfache Zahlregeln 9
• Seien A,B beliebige Mengen.
– Es gilt |AB| = |A×B| = |A| · |B|, da wir fur jede der beiden Buchstaben/Komponentenunabhangig voneinander aus A bzw. B wahlen durfen.
– Z.B. Anzahl geordnete Hande 2, 3, . . . , J,Q,K,A♥,♦,♣,♠:
♥ ♦ ♣ ♠
2 2♥ 2♦ 2♣ 2♠3 3♥ 3♦ 3♣ 3♠...A A♥ A♦ A♣ A♠
Analog |A1 × . . .×An| = |A1| · · · |An|, z.B. |a, bn| = 2n.
– In Kombination mit erster Regel z.B. |A× (B ∪ C)| = |A| · (|B|+ |C|), falls B ∩ C = ∅.
3
Einfache Zahlregeln 10
• Seien A,B beliebige Mengen.
– Gilt f : A→ B mit∣∣f−1(b)
∣∣ = m konstant fur alle b ∈ B, d.h. jedes Element aus b hat genaum Urbilder bzgl. f , dann gilt |A| = m |B|; d.h. es reicht, die einfachere der beiden Mengenabzuzahlen.
a1
a2
a3
a4
a5
a6
b1
b2
b3
Ist f bijektiv, dann gilt naturlich |A| = |f(A)| = |B| entsprechend der Definition der Kardi-nalitat von Mengen.
– Das ist ein Spezialfall der ersten Regel fur A =⊎
b∈B f−1(b), z.B.:
A = f−1(b1) ∪ f−1(b2) ∪ f−1(b3) = a1, a6 ∪ a2, a4 ∪ a3, a5
1.2 Das Urnenmodell: Ziehungen
Ziehen aus einer Urne 11
• Urne: fiktives Gefaß mit n Kugeln, die mit den Zahlen 1, . . . , n beschriftet sind.
• Es werden k Kugeln hintereinander gezogen. Verschiedene Regeln fur die Ziehung fuhren zu ver-schiedenen Ergebnismengen.
– Ziehen ohne Zurucklegen, mit Beachtung der Reihenfolge.
An,k := (s1, . . . , sk) ∈ [n]k | |s1, s2, . . . , sk| = k
– Ziehen ohne Zurucklegen, ohne Beachtung der Reihenfolge.
Bn,k := (s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
N.B.:”ohne Beachtung der Reihenfolge”’ aquivalent zu
”darf beliebige Anordnung fixieren“.
– Ziehen mit Zurucklegen, ohne Beachtung der Reihenfolge.
Cn,k := (s1, . . . , sk) ∈ [n]k : s1 ≤ s2 ≤ . . . ≤ sk
– (Ziehen mit Zurucklegen, mit Beachtung der Reihenfolge: [n]k)
Ziehen aus einer Urne 12
• Wie viele mogliche Lottoziehungen gibt es? 49 Balle und 6 Ziehungen. Ziehen ohne Zurucklegen,
ohne Beachtung der Reihenfolge.
• Ein Wettbewerb vergibt einen ersten, einen zweiten, . . . , und einen k-ten Preis. Wie viele Moglichkeitengibt es, die Preise unter den n Wettbewerbsteilnehmer zu verteilen? n Balle und k Ziehungen. Zie-
hen ohne Zurucklegen, mit Beachtung der Reihenfolge.
4
• Wie viele Moglichkeiten gibt es, k Fußballspiele auf n Austragungsorte zu verteilen? n Balle und k
Ziehungen. Ziehen mit Zurucklegen, mit Beachtung der Reihenfolge.
• Wie viele Moglichkeiten gibt es, k Euro unter n Personen zu verteilen? n Balle und k Ziehungen.
Ziehen mit Zurucklegen, ohne Beachtung der Reihenfolge.
1.2.1 Ziehen ohne Zurucklegen, mit Beachtung der Reihenfolge
− Zurucklegen, + Reihenfolge 13
An,k := (s1, . . . , sk) ∈ [n]k | |s1, s2, . . . , sk| = k
”k-Tupel mit k verschiedenen Eintragen aus [n] = 1, 2, . . . , n“
• Bsp.: (geordnete) Poker-Hande: (k1, . . . , k5) ∈ [52]5 | |k1, . . . , k5| = 5.
• Mogliche Falle in Abhangigkeit von n, k:
– Falls k > n, ist die Menge leer, da die Anforderungen nicht erfullt werden konnen, also|An,k| = 0.
– Falls k = 0 < n, dann erfullt nur das leere Tupel die Anforderungen, also |An,0| = 1.
− Zurucklegen, + Reihenfolge 14
An,k := (s1, . . . , sk) ∈ [n]k | |s1, s2, . . . , sk| = k
”k-Tupel mit k verschiedenen Eintragen aus [n] = 1, 2, . . . , n“
• Bsp.: (geordnete) Poker-Hande: (k1, . . . , k5) ∈ [52]5 | |k1, . . . , k5| = 5.
– Falls 0 < k ≤ n, dann konnen wir rekursiv vorgehen, d.h. das Problem auf sich selbstzuruckfuhren, nur mit kleineren Parameterwerten:
Jedes k-Tupel (s1, . . . , sk) ∈ An,k unterteilt sich in s1 und in ein Tupel (s2, . . . , sk−1) von k−1verschiedenen Eintrangen aus [n] \ s1.
Daher |An,k| = n · |An−1,k−1|, wobei wir bereits |An,0| = 1 wissen.
− Zurucklegen, + Reihenfolge 15
An,k := (s1, . . . , sk) ∈ [n]k | |s1, s2, . . . , sk| = k
”k-Tupel mit k verschiedenen Eintragen aus [n] = 1, 2, . . . , n“
• Bsp.: (geordnete) Poker-Hande: (k1, . . . , k5) ∈ [52]5 | |k1, . . . , k5| = 5.
– Mittels der Rekursionsgleichung
|An,k| = n · |An−1,k−1| mit An,0 = 1
erhalten wir z.B. fur die Anzahl der moglichen Hande beim Poker:
|A52,5| = 52 · |A51,4| = 52 · 51 · |A50,3| = . . . = 52 · 51 · 50 · 49 · 48 · |A47,0| =52!
47!
5
Im Allgemeinen: |An,k| = n · (n− 1) · . . . · (n− k + 1) =n!
(n− k)!.
− Zurucklegen, + Reihenfolge 16
cache = dict()def aufzaehlen(n,k):
if n < 0 or k < 0 or k > n:return tuple()
if k == 0:return tuple([tuple()])
ret = cache.get((n,k))if ret is not None:
return retret = list(aufzaehlen(n-1,k))for x in aufzaehlen(n-1,k-1):
for i in range(0,k):ret.append(x[:i] + (n,) + x[i:])
ret = tuple(ret)cache[(n,k)] = retreturn ret
https://www.python.org/
1.2.2 Ziehen ohne Zurucklegen, ohne Beachtung der Reihenfolge
− Zurucklegen, − Reihenfolge 17
• Die Menge aller moglichen Ziehungen ist
s1, . . . , sk ∈ [n]k | |s1, . . . , sk| = k =:
([n]
k
)
”k-elementige Teilmengen von [n]“
• Jede k-elementige Teilmenge von [n] lasst sich durch Sortieren eindeutig mit einem sortierten k-Tupel identifizieren, z.B.
3, 4, 2, 6 7→ (2, 3, 4, 6)
• D.h. es gibt eine Bijektion zwischen der Menge(
[n]k
)der k-elementigen Teilmengen von [n] und der
Menge
Bn,k := (s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
”Aufsteigend sortierte k-Tupel mit k verschiedenen Eintragen aus [n]“
• Beide Mengen sind somit gleichmachtig, und es reicht Bn,k abzuzahlen.
− Zurucklegen, − Reihenfolge 18
Bn,k := s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
• Bsp.: Anzahl der ungeordneten Hande beim Poker mit 52 Karten.
Fixiere beliebige Aufzahlung β : Kbij.−−→ [52], z.B.:
β(2♥) = 1, . . . , β(A♥) = 13, β(2♦) = 14, . . . , β(2♣) = 27, . . . , β(A♠) = 52
6
Damit: Ungeordnete Handbij.−−→ Teilmenge von [52]
bij.−−→ sortiertes Tupel.
8♦, A♠, 2♥, 3♥, 4♦ 7→ 20, 52, 1, 2, 16 7→ (1, 2, 16, 20, 52)
− Zurucklegen, − Reihenfolge 19
Bn,k := s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
• Jedes (s1, . . . , sk) ∈ Bn,k kann auf k! unterschiedliche Arten umsortiert werden.
– Gegeben ein sortiertes Tupel (s1, . . . , sk) ∈ Bn,k setze S := s1, . . . , sk und betrachte dieMenge T := (t1, . . . , tk) ∈ Sk : |t1, . . . , tk| = k
– Das sind gerade alle moglichen Permutationen der Eintrage von (s1, . . . , sk).
– T steht in Bijektion mit Ak,k; also |T | = |Ak,k| = k!.
– Umgekehrt entsprechen jeweils k! Tupel aus An,k genau einem Tupel aus Bn,k, also |Bn,k| =|An,k|k!
(mit 0! := 1).
– Bsp.:52!
47!geordnete Hande,
52!
47! · 5!ungeordnete Hande.
− Zurucklegen, − Reihenfolge 20
Bn,k := s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
• Mit |An,k| =n!
(n− k)!fur 0 ≤ k ≤ n erhalt man insgesamt
|Bn,k| =n!
(n− k)! k!.
• Allgemein definiert man den Binomialkoeffizienten
(n
k
):=
n!
(n− k)! k!falls 0 ≤ k ≤ n
0 sonst
so dass |Bn,k| =(n
k
), d.h.
(n
k
)ist die Anzahl der k-elementigen Teilmengen einer n-elementigen
Menge.
• Wichtiger Ansatz hier: Falls f : X → Y bekannt mit∣∣f−1(y)
∣∣ = m konstant fur alle y ∈ Y , dann|X| = m · |Y |, und es reicht die einfachere der beiden Mengen X,Y zu zahlen.
− Zurucklegen, − Reihenfolge 21
Bn,k := s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
• Wir betrachten noch einen alternativen Weg zur Bestimmung von |Bn,k| mittels einer Rekursions-gleichung.
7
• Jedes sortierte k-Tupel (s1, . . . , sk) ∈ Bn,k mit Eintragen aus [n] fallt in genau eine der beidenKlassen:
– n kommt nicht vor, d.h. sk ≤ n− 1, also (s1, . . . , sk) ∈ Bn−1,k.
– n kommt vor, d.h. sk = n und damit (s1, . . . , sk−1) ∈ Bn−1,k−1. (D.h. (s1, . . . , sk−1, n) ∈
Bn,k steht in Bijektion mit Bn−1,k−1.)
Damit konnen wir statt Bn,k die beiden Mengen Bn−1,k und Bn−1,k−1 jeweils zahlen und einfachaddieren:
|Bn,k| = |Bn−1,k|+ |Bn−1,k−1| mit |Bn,0| = 1
− Zurucklegen, − Reihenfolge 22
Bn,k := s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
• Damit erhalt man die Rekursionsgleichung fur die Binomialkoeffizienten:(n
k
)=
(n− 1
k
)+
(n− 1
k − 1
)
die eine einfache rekursive Berechnung von
(n
k
)erlaubt (siehe dynamische Programmierung in
Info 1).
• Wichtiger Ansatz hier: Statt A direkt zu zahlen, partitioniere A =⊎m
i=1Ai in disjunkte einfachereMengen A1, . . . , Am, dann gilt
|A| =m∑i=1
|Ai| .
Entsprechend auch A =⊎
i∈N0Ai mit |A| =
∑i∈N0|Ai|.
Binomialkoeffizienten 23
cache = dict()def aufzaehlen(n,k):if n < 0 or k < 0 or k > n:
return tuple()if k == 0:
return tuple([tuple()])ret = cache.get((n, k))if ret is not None:
return retret = list(aufzaehlen(n - 1, k))for x in aufzaehlen(n - 1, k - 1):
new_x = list(x)new_x.append(n)ret.append(tuple(new_x))
ret = tuple(ret)cache[(n, k)] = retreturn ret
https://www.python.org/
8
Exkurs: Die Binomialformel
• Die Binomialformel, gultig fur alle x, y ∈ R, n ∈ N0, lautet:
(x+ y)n =
n∑k=0
(n
k
)xkyn−k
Begrundung: Multiplizert man mechanisch
n︷ ︸︸ ︷(x+ y) · · · (x+ y) aus, so gilt
(x+ y)n =∑
(a1,...,an)∈x,yna1a2 · · · an
d.h. man erhalt jedes Wort aus x, yn genau einmal als Summanden, da man aus jedem der nFaktoren (x+ y) entweder x oder y wahlen darf.
• Es gilt a1 · · · an = xkyn−k gdw. x genau k-mal in a1 · · · an vorkommt. Damit gibt es eine Bijektionzwischen den Tupeln (a1, . . . , an) mit a1 · · · an = xkyn−k und den k-elementigen Untermengen von[n].
• Es folgt: es gibt
(n
k
)Summanden mit Betrag xkyn−k.
Exkurs: Einige Anwendungen der Binomialformel. 25
• Mit y := 1 ergibt sich:
(1 + x)n =
n∑k=0
(n
k
)xk
Leitet man beide Seiten nach x ab, so erhalt man hiermit:
n(1 + x)n−1 =
n∑k=1
(n
k
)kxk−1
Insbesondere fur x = 1 folgt daher:
n · 2n−1 =
n∑k=1
(n
k
)k
Exkurs: Einige Anwendungen der Binomialformel. 26
• Entsprechend ergibt sich einerseits
(1 + x)m(1 + x)n = (1 + x)m+n =
m+n∑k=0
(m+ n
k
)xk
und andererseits
(1 + x)m(1 + x)n =
(m∑i=0
(m
i
)xi
) n∑j=0
(n
j
)xj
︸ ︷︷ ︸
∗
Der Koeffizient von xk in ∗ ergibt sich durch Summation der Koeffizienten von xi und xj furi+ j = k: (
m+ n
k
)xk =
k∑i=0
(m
i
)xi(
n
k − i
)xk−i
9
Exkurs: Einige Anwendungen der Binomialformel. 27
• Mit x := 1 erhalt man die Vandermondesche Identitat:(m+ n
k
)=
k∑i=0
(m
i
)(n
k − i
)
• Alternative Ableitung der Vandermondesche Identitat: Um k Elemente aus [m+n] ohne Zurucklegen
und ohne Beachtung der Reihenfolge zu ziehen, kann folgendermaßen vorgegangen werden:
– Wahle eine Zahl 0 ≤ i ≤ k.
– Ziehe i Elemente aus [m].
– Ziehe die verbleibenden k − i Elemente aus [m+ n] \ [m].
Fur jedes i gibt es
(m
i
)(n
k − i
)moglichen Ziehungen.
Exkurs: Einige Anwendungen der Binomialformel. 28
• Ebenfalls mittels der Binomialformel erhalt man
0 =
n∑k=0
(n
k
)(−1)k
und
2n =
n∑k=0
(n
k
)
Letzteres bedeutet gerade, dass [n] genau 2n Teilmengen besitzt, da
(n
k
)die Anzahl der k-
elementigen Teilmengen von [n] ist.
1.2.3 Ziehen mit Zurucklegen, ohne Beachtung der Reihenfolge
+ Zurucklegen, − Reihenfolge 29
Cn,k := (s1, . . . , sk) ∈ [n]k : s1 ≤ s2 ≤ . . . ≤ sk
”Aufsteigend sortierte k-Tupel uber [n] mit Wiederholungen“
• Bsp.: 5 Karten ziehen mit Zurucklegen in Stapel nach jeder Ziehung
Karten wieder mit [52] identifiziert.
Geordnete Hand:∣∣(s1, s2, . . . , s5) ∈ [52]5
∣∣ = 525.
Ungeordnete Hand:∣∣(s1, s2, . . . , s5) ∈ [52]5 : s1 ≤ s2 ≤ . . . ≤ s5
∣∣ = |C52,5| =?
(Erinnerung:”ungeordnet“ entspricht
”fixiere bel. Anordnung“)
10
+ Zurucklegen, − Reihenfolge 30
Cn,k := (s1, . . . , sk) ∈ [n]k : s1 ≤ s2 ≤ . . . ≤ sk
”Aufsteigend sortierte k-Tupel uber [n] mit Wiederholungen“
• Beobachtung: Da die Anordnung vorgegeben ist, reicht es zu wissen, wie haufig jeder Wert s ∈ [n]in (s1, . . . , sk) vorkommt.
• Dk,n := (k1, . . . , kn) ∈ Nn0 | k1 + k2 + . . .+ kn = k Zahlvektoren mit Summe k.
Eintrag ki zahlt Vorkommen von Wert i (d.h., wie oft der Wert i gezogen wurde).
• Bsp.: n = 5, k = 6
C5,6 3 (1, 1, 2, 4, 5, 5) 7→←[ (2, 1, 0, 1, 2) ∈ D6,5
• Da |Cn,k| = |Dk,n| (Positionen von n und k beachten!) zahlen wir Dn,k statt Cn,k.
+ Zurucklegen, − Reihenfolge 31
Dn,k := (s1, . . . , sk) ∈ Nk0 : s1 + s2 + . . .+ sk = n
”Zahlvektoren mit k Eintragen und Summe n“
• Eselsbrucke: Komponenten des Zahlvektors unar statt dezimal darstellen
Aus 0 wird ε, aus 1 wird |, aus 2 wird ||, aus 10 wird ||||||||||, usw.
• Beispiel:
(1, 1, 2, 4, 5, 5) 7→← [ (2, 1, 0, 1, 2) 7→← [ ||, |, , |, ||
• Dn,k entspricht die Menge der Worter, die aus genau n Strichen und k − 1 Kommata bestehen.
+ Zurucklegen, − Reihenfolge 32
Dn,k := (s1, . . . , sk) ∈ Nk0 : s1 + s2 + . . .+ sk = n
”Zahlvektoren mit k Eintragen und Summe n“
• Jedes Wort der Lange n+ k− 1 mit genau n Strichen und k− 1 Kommata ist durch die Positionender Striche bzw. der Kommata vollstandig beschrieben.
• Beispiel:
(1, 1, 2, 4, 5, 5) 7→← [ (2, 1, 0, 1, 2) 7→← [ ||, |, , |, || 7→← [ 1, 2, 4, 7, 9, 10
• Es gibt
(n+ k − 1
n
)Moglichkeiten, um die Positionen der Striche zu wahlen.
• Wir erhalten: |Dn,k| =(n+ k − 1
n
)= |Ck,n| und |Cn,k| =
(n+ k − 1
k
).
11
Eine Variante 33
En,k := (s1, . . . , sk) ∈ Nk0 : s1 + s2 + . . .+ sk ≤ n
”Zahlvektoren mit k Eintragen und Summe hochstens n“
• Z.B. Ziehen von maximal 5 Karten mit Zurucklegen und ohne Beachtung der Reihenfolge.
• Ansatz: En,k steht in Bijektion mit Dn,k+1 (”Zahlvektoren mit k + 1 Eintragen und Summe n“)
Eintrag sk+1 = n− (s1 + . . .+ sk) sammelt den”Rest“:
En,k 3 (s1, . . . , sk) 7→← [ (s1, . . . , sk, n− (s1 + s2 + . . .+ sk)) ∈ Dn,k+1
Damit: |En,k| = |Dn,k+1| =(n+ k
n
).
Eine Variante 34
• Alternativer Ansatz (zum Vergleich): fur jedes 0 ≤ m ≤ n gibt es |Dm,k| Zahlvektoren mit Summem.
Es folgt
|En,k| =n∑
m=0
|Dm,k| =n∑
m=0
(m+ k − 1
m
)Also
n∑m=0
(m+ k − 1
m
)=
(n+ k
n
)
1.2.4 Beispiele
Drei einfache Aufgaben 35
• Wie viele Moglichkeiten gibt es, die Buchstaben ABCDEFGH so anzuordnen, dass die Buchsta-benfolge ABC enthalten ist?
– Wir fuhren das das Problem aus das Ziehen von 6 Elementen ohne Zurucklegen aus der 6-elementigen Menge ABC,D,E,F,G,H . Damit gibt es 6! = 720 Moglichkeiten.
• Wie viele verschiedene Worter erhalt man durch Permutation der Buchstaben von “hallo” ?
– Wenn die zwei “l” unterscheidbar waren (hal1l2o), dann gabe es 5! = 720 Worter.
– Dadurch wird jedes Wort jedoch genau zweimal gezahlt: Z.B. ist ohlal mit ohl1al2 und ohl2al1zweimal vertreten. Man erhalt also 720/2 = 360 Worter.
• Wie viele verschiedene Worter erhalt man durch Permutation der Buchstaben von “bewunderns-wert”?
– Das Wort enthalt drei “e”, zwei “w”, zwei “n” und zwei “r”. Mit 14! wird jedes Wort 3! · 2! ·2! · 2! = 48 Mal gezahlt. Man erhalt also 14!/48 = 1.816.214.400 Worter.
12
Die Lottosensation am 29.6.1995 36
Stuttgart(dpa/lsw). Die Staatliche Toto-Lotto GmbH in Stuttgart hat ei-ne Lottosensation gemeldet: Zum ersten Mal in der 40jahrigen Geschichte dasdeutschen Zahlenlottos wurden zwei identische Gewinnreihen festgestellt. Am21. Juni dieses Jahres [3016te Ausspielung] kam im Lotto am Mittwoch in derZiehung A die Gewinnreihe 15-25-27-30-42-48 heraus. Genau die selben Zah-len wurden bei der 1628. Ausspielung im Samstaglotto schon einmal gezogen,namlich am 20. Dezember 1986. Welch ein Lottozufall!
• Wirklich eine Sensation?
Die Lottosensation am 29.6.1995 37
• Es gibt M :=
(49
6
)= 13.983.816 mogliche (Sechser-)Ziehungen.
• Wie viele Sequenzen von 3016 Ziehungen gibt es, und wie viele davon enthalten irgendeine Ziehungmindestens zweimal?
• Sei Z die Menge aller Sechser-Ziehungen, |Z| = M . Wir ziehen 3016 Elemente aus Z mit Zurucklegenund mit Beachtung der Reihenfolge. Die Anzahl S der moglichen Tupeln von Sechser-Ziehungenbetragt S = M3016.
• Wie viele von diesen Tupeln enthalten irgendeine Sechser-Ziehung mindestens zweimal? Trick: wir
berechnen die Anzahl HE der Tupeln, in denen jede Sechser-Ziehung hochstens einmal vorkommt,und substrahieren sie von S. Fur die Berechnung von HE ziehen wir 3016 Elemente aus Z ohne
Zurucklegen mit Beachtung der Reihenfolge. Wir erhalten:
HE =M !
(M − 3016)!
Die Lottosensation am 29.6.1995 38
• Unter der Annahme, dass alle Sequenzen genau so wahrscheinlich sind, haben wir fur die W‘keitp, nach 3016 Ziehungen mindestens eine Wiederholung gesehen zu haben:
p =S −HE
S= 1−
M3016 − M !(M−3016)!
M3016= 1−
3016∏j=1
M − j + 1
M
• Mit der Abschatzung 1− x ≤ e−x erhalten wir
p = 1−3016∏j=1
M − j + 1
M= 1−
3016∏j=1
1− j − 1
M
≥ 1−3016∏j=1
e−j−1M = 1− e−
1M
∑3016j=1 j
= 1− e− 3016·30152·M
= 1− e−0.325 ≈ 0, 278 = 27, 8%
13
Die Kiffen-Umfrage vom 17.10.2017 39
Am 17.10.2017 werden n Studierende mit Hilfe des “Lugen-Protokolls” gefragt,ob sie seit dem 1.09.2017 gekifft haben. Sei j die Anzahl der Studierenden, dietatsachlich gekifft haben. Mit welcher W’keit antworten m Studierende mit “ja”(m ≥ j)?
• Das ist die W’keit, dass bei (n− j) Wurfe einer Munze genau (m− j)-mal “Zahl” vorkommt.
• Anzahl der moglichen Wurfsequenzen: 2n−j
• Anzahl der Wurfsequenzen mit mindestens (m− j)-mal “Zahl”:
• W’keit:1
2n−j
(n− jm− j
)
Die Kiffen-Umfrage vom 17.10.2017 40
• W’keit fur n = 720 und m = 453 als Funktion von j:
• Viel mehr dazu in DWT im 4. Semester!
1.3 Weitere Verteilungsprobleme
Verteilungsprobleme 41
• Wir haben schon einige “Verteilungsprobleme” gelost, wie die Berechnung der Moglichkeiten, kFußball-Spiele auf n Austragungsorte oder k Euromunzen unter n Menschen zu verteilen.
• Wir betrachten nun weitere Probleme dieser Art:
– Wie viele Moglichkeiten gibt es, k Weihnachtsgeschenke unter n Kindern zu verteilen, so dassjedes Kind mindestens ein Geschenk erhalt?
Sowohl die Kinder als auch die Geschenke sind unterscheidbar!
– Wie viele Moglichkeiten gibt es, k Weihnachtsgeschenke in n Packchen aufzuteilen, so dassjedes Packchen mindestens ein Geschenk enthalt?
Die Packchen sind nicht unterscheidbar, die Geschenke schon.
– Wie viele Moglichkeiten gibt es, n Euromunzen unter k Kinder zu verteilen, so dass jedesKind mindestens 1 Munze erhalt?
14
Die Munzen sich nicht unterscheidbar, die Kinder schon.
– Wie viele Moglichkeiten gibt es, n Euromunzen in k Packchen aufzuteilen, so dass jedesPackchen mindestens 1 Munze enthalt?
1.3.1 Stirling-Zahlen 2. Art
Stirling-Zahlen 2. Art 42
• Wie viele Moglichkeiten gibt es, k (Weihnachts)-Geschenke unter n Kindern zu verteilen, so dassjedes Kind mindestens ein Geschenk erhalt?
• Sowohl die Kinder als auch die Geschenke sind unterscheidbar!
• Die Menge der Moglichkeiten ist
Fn,k := (s1, . . . , sk) ∈ [n]k : |s1, s2, . . . , sk| = n .
Hier ist si das Kind, welches das i-te Geschenk erhalt.
• Z.B. fur k = 6, n = 4 beschreibt die Tupel (3, 1, 3, 2, 2, 4) das die Geschenke 1, 2, 3, 4, 5, 6 jeweils andie Kinder 3, 1, 3, 2, 2, 4 ausgehandigt werden. [0.2cm]
Es gilt z.B. (3, 3, 2, 2, 4, 4) /∈ Fn,k denn Kind 1 geht leer aus.
• Fn,k ist fur k ≥ n nicht leer; fur k < n jedoch Fn,k = ∅. Es gilt |Fn,n| = n!.
Stirling-Zahlen 2. Art 43
• Aquivalente Darstellung: wir geben fur jedes Kind an, welche Untermenge der Geschenke es erhalt.
• Mathematisch: Ordne dem k-Tupel (s1, . . . , sk) ∈ Fn,k diejenige geordnete Partition von [k] ingenau n Klassen zu, die gegeben wird durch: i, j ∈ [k] liegen in derselben Klasse, falls si = sj .
• Z.B. fur n = 4, k = 6:(3, 1, 3, 2, 2, 4) 7→ (2, 4, 5, 1, 3, 6)(3, 1, 3, 4, 2, 4) 7→ (2, 5, 1, 3, 4, 6)
Stirling-Zahlen 2. Art 44
• Wieviele Moglichkeiten gibt es, k Geschenke in n Packchen aufzuteilen, so dass jedes Packchenmindestens ein Geschenk enthalt?
• Die Packchen sind nicht unterscheidbar!
• Eine Aufteilung entspricht nun einer (ungeordneten) Partition von [k] in [n] Aquivalenzklassen:
2, 4, 5, 1, 3, 6 = 1, 3, 2, 6, 4, 5
• Die Anzahl der Partitionen von n Elementen in k (nicht leere) Klassen bezeichnet man als Stirling-Zahl zweiter Art Sn,k.
• Achtung!:
– In Fn,k bezeichnet n die Anzahl der Klassen und k die Anzahl der Objekte.
– In Sn,k bezeichnet n die Anzahl der Objekte und k die Anzahl der Klassen.
15
Stirling-Zahlen 2. Art 45
• Fur jede Partition von n Elementen in k (nicht leere) Klassen gibt es genau k! geordnete Partitionen.Z.B. fur n = 4, k = 3 haben wir
2, 1, 4, 3 7→
(2, 1, 4, 3) , (2, 3, 1, 4)(1, 4, 2, 3) , (1, 4, 3, 2)(3, 1, 4, 2) , (3, 2, 1, 4)
• Somit gilt
|Fn,k| = n! · Sk,n
• Wir bestimmen Sk,n mit Hilfe einer Rekursionsgleichung.
Rekursionsgleichung fur die Stirling-Zahlen 2. Art: Idee 46
• Betrachten wir die Partitionen von [5] in 4 Klassen:
1, 2, 3, 4, 5 1, 5, 2, 3, 41, 2, 3, 4, 5 1, 2, 5, 3, 41, 2, 4, 3, 5 1, 2, 3, 5, 41, 2, 3, 4, 5 1, 2, 3, 4, 51, 3, 2, 4, 51, 4, 2, 3, 5
• Wir teilen sie auf in Partitionen, in denen 5 eine eigene Klasse bildet (6 Stuck, links) und den Rest(4 Stuck, rechts).
• Wenn wir “die 5 entfernen” erhalten wir links alle Partitionen von [4] in 3 Klassen und rechts allePartitionen von [4] in 4 Klassen
1, 2, 3, 4 1, 2, 3, 41, 2, 3, 41, 2, 4, 31, 2, 3, 41, 3, 2, 41, 4, 2, 3
Rekursionsgleichung fur die Stirling-Zahlen 2. Art: Idee 47
• Jede Partition von [4] in 3 Klassen ergibt eine Partition von [5] in 4 Klassen:
1, 2, 3, 4 7→ 1, 2, 3, 4, 5
• Jede Partition von [4] in 4 Klassen ergibt 4 Partitionen von [5] in 4 Klassen:
1, 2, 3, 4 7→ 1, 5, 2, 3, 41, 2, 5, 3, 41, 2, 3, 5, 41, 2, 3, 4, 5
• Es gilt also: S5,4 = S4,3 + 4 · S4,4
16
Rekursionsgleichung fur die Stirling-Zahlen 2. Art 48
• Ahnlich zu der Rekursionsgleichung
(n
k
)=
(n− 1
k
)+
(n− 1
k − 1
)fur die Binomialzahlen partitioniert
man nach n.
• Sei P = P1, . . . , Pk eine Partition von [n] in k Klassen.
Falls n ∈ P, dann ist P \ n eine Partition von [n− 1] in k − 1 Klassen.
Ansonsten ist P \ n : P ∈ P eine Partition von [n− 1] in k Klassen.
• Dabei lasst sich jede Partition von [n− 1] in k Klassen auf k Arten zu einer Partition von [n] in kKlassen erweitern: man muss nur die Klasse wahlen, welche um n erganzt werden muss.
• Damit gilt fur n ≥ k ≥ 0:
Sn,k = Sn−1,k−1 + k · Sn−1,k fur n > k > 0Sn,0 = 0 fur n > 0Sn,n = 1
1.3.2 Die Siebformel
Eine geschlossene Form fur |Fn,k| und Sn,k 49
• Fn,k := (s1, . . . , sk) ∈ [n]k : |s1, s2, . . . , sk| = n .
• Um eine geschlossene Formel fur |Fn,k| und Sn,k zu erhalten, betrachten wir einen zweiten Ansatz,um Fn,k abzuzahlen. Wir verwenden zwei Techniken:
– Abzahlen des Komplements. Problem: Bestimmung von |X| fur eine Menge X ⊆ U . Statt|X| direkt zu berechnen kann es einfacher sein, |U | und |Xc| fur Xc = U \X zu bestimmenund |X| = |U | − |Xc| zu setzen.
– Prinzip der Inklusion und Exklusion (kurz: Siebformel). Eine Formel fur die Bestimmung von|X| wenn X =
⋃ni=1 Yi und die Yi nicht notwendigerweise disjunkt sind.
• Das Komplement F cn,k := [n]k \ Fn,k besteht gerade aus allen k-Tupeln, in welchen mindestens ein
Element aus [n] nicht vorkommt.
• Offensichtlich gilt nk =∣∣∣F c
n,k
∣∣∣+∣∣∣Fn,k
∣∣∣, es reicht also∣∣∣F c
n,k
∣∣∣ zu bestimmen.
Bestimmung von∣∣∣F c
n,k
∣∣∣ 50
• Erinnerung: F cn,k enthalt alle k-Tupeln, in welchen mindestens ein Element aus [n] nicht vorkommt.
• Damit gilt
F cn,k =
⋃x∈[n]
([n] \ x)k
– ([n] \ x)k ist die Menge aller k-Tupeln, in denen x nicht vorkommt.
– Es folgt: Jedes k-Tupel, in welchem mindestens ein Element aus [n] nicht vorkommt, gehortzu mindestens einer der Mengen ([n] \ x)k.
17
• Problem: I.A. gilt nur∣∣∣F c
n,k
∣∣∣ < ∑x∈[n]
|[n] \ x|k = n · (n − 1)k, da z.B. alle Tupel ([n] \ 1, 2)k
sowohl fur x = 1 als auch fur x = 2 mitgezahlt werden.
• Die Siebformel erlaubt, die Summation zu korrigieren.
Die Siebformel 51
• Fur die Vereinigung zweier Mengen A,B gilt:
|A ∪B| = |A|+ |B| − |A ∩B| .
AB
Ω
A
B
Die Siebformel 52
• Fur die Vereinigung dreier Mengen A,B,C ist zu berucksichtigen, dass |A|+|B|+|C| jedes Elementin genau zwei der Mengen zweimal zahlt, und jedes Element in den drei Mengen dreimal zahlt.
• Damit gilt:|A ∪B ∪ C| = + |A|+ |B|+ |C|
− |A ∩B| − |A ∩ C| − |B ∩ C|+ |A ∩B ∩ C| .
A
B C
A
B
C
Die Siebformel 53
• Fur die Vereinigung vierer Mengen A,B,C,D gilt:
+ |A ∪B ∪ C ∪D|
= + |A|+ |B|+ |C|+ |D|− |A ∩B| − |A ∩ C| − |A ∩D| − |B ∩ C| − |B ∩D| − |C ∩D|+ |A ∩B ∩ C|+ |A ∩B ∩D|+ |A ∩ C ∩D|+ |B ∩ C ∩D|− |A ∩B ∩ C ∩D| .
18
• Fur X =⋃m
i=1 Yi gilt die Siebformel:
|X| =m∑r=1
(−1)r−1∑
I⊆[m] : |I|=r
∣∣∣∣∣⋂i∈I
Yi
∣∣∣∣∣Die Siebformel 54
• Die Siebformel lasst sich dabei mittels Induktion nach m beweisen.
• Ansatz fur den Beweis des Induktionsschritts:
m+1⋃i=1
Yi = Ym+1 ∪m⋃i=1
Yi︸ ︷︷ ︸=:Z
Dann zuerst Formel fur m = 2 auf Ym+1∪Z und induktiv Formel fur m auf Ym+1∩Z =⋃m
j=1(Yj ∩Ym+1) anwenden.
Bestimmung von∣∣∣F c
n,k
∣∣∣ mit Hilfe der Siebformel 55
• Damit die Siebformel sinnvoll eingesetzt werden kann, mussen die Schnitte⋂
i∈I Yi einfach(er)abzuzahlen sein.
• Im Fall von X = F cn,k und Yi = ([n] \ i) ist
⋂i∈I Yi die Menge aller k-Tupeln mit Elementen aus
[n] \ I.
• Es folgt:∣∣⋂
i∈I Yi∣∣ =
∣∣([n] \ I)k∣∣ = (n − |I|)k. [0.1cm] Insbesondere, wenn |I1| = |I2| dann gilt∣∣⋂
i∈I1 Yi∣∣ =
∣∣⋂i∈I2 Yi
∣∣.• [n] enthalt genau
(nm
)Teilmengen I mit |I| = m. Durch Einsetzen in die Siebformel erhalt man:
∣∣F cn,k
∣∣ =
n∑|I|=1
(−1)|I|+1
(n
|I|
)(n− |I|)k
Mittels elementarer Umformungen erhalt man hieraus:
n!Sk,n = |Fn,k| =n∑
i=0
(−1)i(n
i
)(n− i)k =
n∑i=0
(−1)n−i(n
i
)ik
Stirling-Zahlen 2. Art und Binomialzahlen 56
• Fur die Stirling-Zahlen 2. Art schreibt man auch Sn,k =
nk
:
n+ 1k
=
n
k − 1
+ k ·
nk
mit
00
= 1,
n+ 1
0
= 0,
nn
= 1
und nk
=
1
k!
k∑i=0
(−1)k−i(k
i
)in
• Vergleich mit den Binomialkoffizienten:(n+ 1
k
)=
(n
k − 1
)+
(n
k
)mit
(0
0
)= 1,
(n+ 1
0
)= 0,
(n
n
)= 1
19
Stirling-Zahlen 2. Art und Binomialzahlen 57
cache = dict()def aufzaehlen(n,k):
if n < 0 or k < 0 or k > n:return tuple()
if n == 0:return tuple([tuple()])
if k == 0:return tuple()
ret = cache.get((n, k))if ret is not None:
return retret = [ pi + ((n,),) for pi in aufzaehlen(n-1,k-1)]for pi in aufzaehlen(n - 1, k):
for i in range(0,k):ret.append(pi[:i] + (pi[i]+(n,),) + pi[i+1:])pass
passret = tuple(ret)cache[(n, k)] = retreturn ret
https://www.python.org/
1.3.3 Partitionsfunktion/Zahlpartitionen
Geordnete Zahlpartitionen 58
• Wieviele Moglichkeiten gibt es, n Euro unter k Kinder zu verteilen, so dass jedes Kind mindestens1 Euro erhalt?
• Die Euros sind nicht unterscheidbar, die Kinder schon!
Gn,k := (s1, . . . , sk) ∈ Nk : s1 + . . .+ sk = n
”sortierte Zahlvektoren mit k Komponenten und Summe n“
• Jedes Tupel (s1, . . . , sk) kann geschrieben werden als
n =
n︷ ︸︸ ︷1 + · · ·+ 1︸ ︷︷ ︸
s1
+ 1 + · · ·+ 1︸ ︷︷ ︸s2
+ · · ·+ 1 + · · ·+ 1︸ ︷︷ ︸sk
Damit wird das Tupel eindeutig durch die Plus-Zeichen bestimmt, die die si trennen.
Geordnete Zahlpartitionen 59
• Die Anzahl der geordneten Partitionen ist damit gleich der Anzahl der Moglichkeiten, k − 1 Plus-Zeichen aus den insgesamt n− 1 Plus-Zeichen auszuwahlen.
|Gn,k| =(n− 1
k − 1
)• Aus
– Eine (n− 1)-elementige Menge hat
(n− 1
k − 1
)Teilmengen mit (k − 1)-Elementen.
– Eine (n− 1)-elementige Menge hat 2n−1 Teilmengen.
folgt:
|Gn| =n∑
k=1
|Gn,k| =n∑
k=1
(n− 1
k − 1
)= 2n−1
20
(Ungeordnete) Zahlpartitionen 60
• Wieviele Moglichkeiten gibt es, n Euro in k Packchen aufzuteilen, so dass jedes Packchen mindestens1 Euro enthalt?
• Sowohl die Euros als die Packchen sind nicht unterscheidbar!
• Das ist die Anzahl der Zahlpartitionen von n in k positive Summanden
Pn,k := (s1, . . . , sk) ∈ Nk : s1 + . . .+ sk = n, s1 ≤ s2 ≤ . . . ≤ sk
• |Pn,k| wurde u.a. von Hardy und Ramanujan untersucht.
Kombinatorik: Grundlagen 61
Pn,k = (s1, . . . , sk) ∈ Nk : s1 + . . .+ sk = n, s1 ≤ . . . ≤ sk
”Partitionen von n“
• Wir leiten fur |Pn,k| wieder eine Rekursionsgleichung her, indem wir danach unterscheiden, obs1 = 1 gilt:
– (s1, s2, . . . , sk) ∈ Pn,k : s1 = 1 steht in Bijektion mit Pn−1,k−1 mittels
(1, s2, . . . , sk) 7→ (s2, . . . , sk)
– (s1, s2, . . . , sk) ∈ Pn,k : s1 > 1 steht in Bijektion mit Pn−k,k mittels
(s1, . . . , sk) 7→ (s1 − 1, . . . , sk − 1)
• Es folgt somit fur 0 ≤ k ≤ n
|Pn,k| = |Pn−1,k−1|+ |Pn−k,k| fur k > 0|Pn,0| = 0 fur n > 0|P0,0| = 1
Kombinatorik: Grundlagen 62
• Wieviele Moglichkeiten gibt es, n Euro in k Packchen aufzuteilen, wenn Packchen auch 0 Euroenthalten durfen?
Hn,k = (s1, . . . , sk) ∈ N0k : s1 + . . .+ sk = n, s1 ≤ . . . ≤ sk
• Hn,k und Pn+k,k in Bijektion mittels:
Hn,k 3 (s1, . . . , sk) 7→ (s1 + 1, . . . , sk + 1) ∈ Pn+k,k
also |Hn,k| = |Pn+k,k|.
1.3.4 Anwendungsbeispiel: Lastverteilung in peer-to-peer Netzwerke
Lastverteilung in peer-to-peer Netzwerke 63
• n Dateien werden zufallig in n Server gespeichert. Gesucht wird eine Zahl k, so dass mit großerW’keit kein Server mehr als k Dateien bekommt.
21
• Modellierung: n unterscheidbare Balle (Dateien) und n unterscheidbare Urnen (Server).
• Gesamtzahl aller moglichen Verteilungen: nn
• Wie viele Verteilungen gibt es, in denen mindestens eine Urne mindestens k Balle enthalt?
• Sei M die Anzahl der Moglichkeiten, in denen eine fixe Urne mindestens k Balle enthalt. Es gilt:
M ≤(n
k
)nn−k
(Wir wahlen k Balle fur die fixe Urne, die anderen Balle werden beliebig verteilt.)
Lastverteilung in peer-to-peer Netzwerke 64
• Mit der Abschatzung
(n
k
)≤(enk
)kerhalten wir
M ≤(n
k
)nn−k ≤
(enk
)knn−k =
( ek
)knn
• Die Anzahl der Moglichkeiten, in denen mindestens eine Urne mindestens k Balle enthalt ist nachoben beschrankt durch nM . (Moglichkeiten, in denen u Urnen mindestens k Balle enthalten,werden u-mal gezahlt.)
• Die W’keit pk in mindestens eine Urne k Balle zu finden erfullt
pk ≤nM
nn≤ n
( ek
)k• Mit k := e lnn erhalt man
pe lnn ≤ n(
1
lnn
)e lnn
= n1−e ln(lnn)
Lastverteilung in peer-to-peer Netzwerke 65
• Tabelle fur pk (in % )
n 100 1000 104 105 106 107
k = 7 13.0k = 8 1.8 18.0k = 9 0.2 2.1 21.9k = 10 0.02 0.2 2.2 22.2k = 11 0.002 0.02 0.2 2.2 22.2k = 12 0.0002 0.002 0.02 0.2 2.2 22.2
1.3.5 Zusammenfassung
Kombinatorik: Zusammenfassung 66
•∣∣(s1, . . . , sk) ∈ [n]k
∣∣ = nk
”Ziehen mit Zurucklegen, unter Beachtung der Reihenfolge“
•∣∣(s1, . . . , sk) ∈ [n]k : |s1, s2, . . . , sk| = k
∣∣ = n!(n−k)!
=: nk
”Ziehen ohne Zurucklegen, unter Beachtung der Reihenfolge“
22
•∣∣(s1, . . . , sk) ∈ [n]k : s1 < s2 < . . . < sk
∣∣ = n!k!(n−k)!
=(nk
)=(
nn−k
)”Ziehen ohne Zurucklegen, ohne Beachtung der Reihenfolge“
•∣∣(s1, . . . , sk) ∈ [n]k : s1 ≤ s2 ≤ . . . ≤ sk
∣∣ = (k+n−1k
)”Ziehen mit Zurucklegen, ohne Beachtung der Reihenfolge“
•∣∣(s1, . . . , sk) ∈ Nk
0 : s1 + s2 + . . .+ sk = n∣∣ = (n+k−1
n
)•∣∣(s1, . . . , sk) ∈ Nk
0 : s1 + s2 + . . .+ sk ≤ n∣∣ = (n+k
n
)•∣∣(s1, . . . , sk) ∈ [n]k : |s1, s2, . . . , sk| = n
∣∣ = n!Sk,n
mit Sn+1,k = Sn,k−1 + kSn,k, S0,0 = 1, Sn+1,0 = 0, Sn,n = 1
”Striling-Zahlen 2. Art: Anzahl Partitionen von [n] in k Klassen.“
•∣∣(s1, . . . , sk) ∈ Nk
0 : s1 + . . .+ sk = n, s1 ≤ s2 ≤ . . . ≤ sk∣∣ = |Pn+k,k|
mit |Pn,k| = |Pn−1,k−1|+ |Pn−k,k−1|, |P0,0| = 1, |Pn+1,0 = 0|, |Pn,n| = 1.
”Anzahl Zahlpartitionen von n in k positive Summanden.“
Kombinatorik: Zusammenfassung 67
• |A1 ×A2 × . . .×An| =∏
i∈[n] |Ai|
”Produktregel“
•∣∣∣⊎i∈N0
Ai
∣∣∣ =∑i∈N0|Ai|
”Summenregel“
•∣∣∣⋃i∈N0
Ai
∣∣∣ ≤∑i∈N0|Ai|.
”union bound“
•∣∣∣⋃i∈[n] Ai
∣∣∣ =∑I⊆[n] : I 6=∅(−1)|I|+1
∣∣⋂i∈I Ai
∣∣”Siebformel“
• |A| = m |B|, falls es ein f : A→ B mit∣∣f−1(b)
∣∣ = m konstant gibt.
23
Recommended