Kombinatorik

Download Report

Transcript Kombinatorik

ACM ICPC
Praktikum
Kapitel 6: Kombinatorik
Übersicht
•
•
•
•
•
Grundlegendes Zählen
Binomialkoeffizienten
Wichtige Folgen
Rekurrenzgleichungen
Rekursion und Induktion
Grundlegendes Zählen
• Produktregel:
- a Möglichkeiten für Menge A
- b Möglichkeiten für Menge B
) a ¢ b Möglichkeiten für A £ B
A:
1
1
1
1
2
2
1
2
2
2
A £ B:
B:
1
2
Grundlegendes Zählen
• Summenregel:
- a Möglichkeiten für Menge A
- b Möglichkeiten für Menge B
- A und B disjunkt
) a+b Möglichkeiten für A [ B
A:
1
2
1
2
3
4
A [ B:
B:
3
4
Grundlegendes Zählen
• Inklusion-Exklusion-Prinzip:
Für beliebige Mengen A und B gilt:
|A [ B| = |A| + |B| - |A Å B|
Allgemein gilt für A1,…,An:
|A1 [ … [ An| =
k=1n (-1)k+1 i1<i2<…<ik |Ai1 Å … Å Aik|
Grundlegendes Zählen
• Bijektion:
Finde Abbildung f:M ! N von einer zu
zählenden Menge M zu einer bekannten
Menge N, so dass
- für jedes y 2 N höchstens ein x existiert
mit f(x)=y (f injektiv)
- für jedes y 2 N mindestens ein x existiert
mit f(x)=y (f surjektiv)
Dann heißt f auch bijektiv.
Grundlegendes Zählen
• Anzahl Permutationen auf n Zahlen:
n! = 1 ¢ 2 ¢ … ¢ n
• Anzahl aller Teilmengen von n Zahlen:
2n
• Anzahl aller k-elementigen Folgen aus n
Zahlen (ohne Zurücklegen): n!/(n-k)!
• Anzahl aller k-elementiger Teilmengen von
n
n Zahlen: ( k ) = n!/((n-k)! k!)
Grundlegendes Zählen
• Anzahl der k-elementigen Folgen von n
Zahlen mit Zurücklegen und Beachtung
der Reihenfolge:
nk
• Anzahl der k-elementigen Folgen von n
Zahlen mit Zurücklegen ohne Beachtung
der Reihenfolge:
n-1+k
( k )
Binomialkoeffizienten
• ( ) = 1, ( ) = 0 für alle k>n
n-1
• ( nk ) = ( n-1
)
+
(
k-1
k )
• Für beliebige a und b gilt:
(a+b)n = i=0n ( ni ) ai bn-I
n
0
n
k
• Berechnung von ( ):
rekursive Formel oben (Pascal Dreieck)
n
oder ( k ) = i=0k-1 (n-i)/(k-i)
n
k
Rekurrenzgleichungen
• a1 = 1 und an = an-1+1:
an = n
• a1 = 2 und an = 2 an-1:
an = 2n
• a1 = 1 und an = n an-1:
an = n!
• a1 = 2 und an = (an-1)2:
n
2
an = 2
Rekurrenzgleichungen
• Fibonacci Zahlen:
F0 = 0, F1 = 1, Fn = Fn-1+Fn-2
Fn = (1/ 5 ) ( ( 1+2 5 )n – ( 1- 25 )n )
• Catalan Zahlen:
C0 = 1, Cn = k=0n-1 Ck Cn-1-k
Cn = 1/(n+1) ¢ (2nn )
Zählen z.B. Anzahl Möglichkeiten für n ()Klammerungen.
n=3: ((())), ()(()), (())(), (()()), ()()()
Rekurrenzgleichungen
• Eulersche Zahlen:
n-1 i
h nk i = k hn-1
i
+
(n-k+1)
h
k
k-1
Zählen die Anzahl der Permutationen über
n Zahlen mit k aufsteigenden Sequenzen.
• Anzahl ganzzahliger Partitionen:
P(1,1)=1, P(n,k) = 0 für k>n
P(n,k) = P(n-k,k)+P(n,k-1)
Zählen die Anzahl ganzahliger Partitionen
mit größtem Teil k.
Rekurrenzgleichungen
• Stirling Zahlen erster Ordnung:
n
n-1
[ k ] = [ n-1
]
+
(n-1)
[
k-1
k ]
Zählen die Anzahl der Permutationen auf n
Zahlen mit genau k Kreisen.
• Stirling Zahlen zweiter Ordnung:
n-1
{ nk } = k { n-1
}
+
{
k
k-1 }
Zählen die Anzahl der Möglichkeiten, n
Elemente in k Teilmengen aufzuteilen.
Rekursion und Induktion
• Aufzählen kombinatorischer Strukturen:
verwende rekursive Verfahren
• Korrektheitsbeweis rekursiver Verfahren:
üblicherweise viel einfacher als für
nichtrekursive Verfahren, da Korrektheit
rekursiver Verfahren durch vollständige
Induktion bewiesen werden kann.
Rekurrenzen aufspüren
• Oftmals sind kombinatorische Probleme
nur schwer direkt zu lösen.
• Vorgehen dann: zunächst einfache
Beispiele betrachten und Lösung
berechnen.
• Dann Rekurrenzgleichung herleiten und
ggf. Korrektheit beweisen.