Kapitel 6: 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 1 1 A: 1 2 1 2 A £ B: B: 1 2 2 1 2 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 A [ B: 3 4 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 Zahlen: ( ) = n!/((n-k)! k!) n 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 ( ) = ( ) + ( ) Für beliebige a und b gilt: (a+b)n = i=0n ( ) ai bn-I Berechnung von ( ): rekursive Formel oben (Pascal Dreieck) oder ( ) = i=0k-1 (n-i)/(k-i) n n k n k n-1 k-1 n-1 k n i n k 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: an = 22n
Rekurrenzgleichungen Fibonacci Zahlen: F0 = 0, F1 = 1, Fn = Fn-1+Fn-2 Fn = (1/ 5 ) ( ( )n – ( )n ) Catalan Zahlen: C0 = 1, Cn = k=0n-1 Ck Cn-1-k Cn = 1/(n+1) ¢ ( ) Zählen z.B. Anzahl Möglichkeiten für n ()-Klammerungen. n=3: ((())), ()(()), (())(), (()()), ()()() 1+ 5 2 1- 5 2 2n n
Rekurrenzgleichungen Eulersche Zahlen: h i = k h i + (n-k+1) h i 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. n k n-1 k n-1 k-1
Rekurrenzgleichungen Stirling Zahlen erster Ordnung: [ ] = [ ] + (n-1) [ ] Zählen die Anzahl der Permutationen auf n Zahlen mit genau k Kreisen. Stirling Zahlen zweiter Ordnung: { } = k { } + { } Zählen die Anzahl der Möglichkeiten, n Elemente in k Teilmengen aufzuteilen. n k n-1 k-1 n-1 k n k n-1 k n-1 k-1
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.