Kombinatorische Methoden in der Informatik Prof. Dr. Peter Hauck Wilhelm-Schickard-Institut für Informatik AB Diskrete Mathematik Skript einer 2-stündigen Vorlesung im Sommersemester 2002 http://www-dm.informatik.uni-tuebingen.de 2. (korrigierte) Version vom 05.11.2003 Erstellung des Skripts Lars Hollmann Bei Fehlern oder Korrekturvorschlägen bitte Mail an: [email protected] Inhaltsverzeichnis 1 Elementare kombinatorische Techniken 5 2 Abzählen von Mengen und Abbildungen 12 3 Rekursionen 20 4 Erzeugende Funktionen 35 5 Rekursionen erster Ordnung und Summationsfaktoren 46 6 Geordnete Mengen 52 2 Übersicht 0.1 Stichworte zur Kombinatorik • Anordnung von Objekten mit gewissen Eigenschaften • Existenz ? • Anzahl ? • Optimierung ? 0.2 Teilgebiete der Kombinatorik • abzählende Kombinatorik • Graphen, Netzwerke • Ramsey - Theorie • Designs, endliche Geometrien • Matroidtheorie • Topologische Kombinatorik 0.3 Inhalt der Vorlesung Typische Resultate und Methoden der abzählenden Kombinatorik, die in der Informatik eine Rolle spielen (z.B. bei der Analyse und dem Entwurf von Algorithmen): • Einfache Abzählprobleme • Rekursionen • erzeugende Funktionen • Permutationen • Partitionen • (teilweise) geordnete Mengen 3 INHALTSVERZEICHNIS 0.4 4 Literatur 1. M. Aigner Diskrete Mathematik, Vieweg, 3. Auflage 1999 2. P. Cameron: Combinatorics - Topics, Techniques, Algorithms, Cambridge University Press, 3. Auflage 1998 3. D.I.A. Cohen: Basic Techniques of Combinatorial Theory, Wiley, 1. Auflage 1978 4. R.L. Graham, D. Knuth, O. Patashnik: Concrete Mathematics, AddisonWesley, 1998 5. D.H. Greene, D.Knuth: Mathematics for the Analysis of Algorithms, Birkhäuser, 3. Auflage 1990 6. J.H. van Lint, R.M. Wilson: A Course in Combinatorics, Cambridge University Press, 5. Auflage, 1999 7. K.H. Rosen (Ed.): Handbook of Discrete and Combinatorial Mathematics, CRC Press, 2000 8. P. Tittmann: Einführung in die Kombinatorik, Spektrum, 2000 9. A. Tucker: Applied Combinatorics, Wiley, 2002 Kapitel 1 Elementare kombinatorische Techniken 1.1 Additionsprinzip (Summenregel) Seien S1 , .., Sm paarweise disjunkte endliche Mengen. Dann ist |S1 ∪ · · · ∪ Sm | = m X i=1 |Si |. Anwendung: Man klassifiziert die Elemente einer Menge S nach gewissen Eigenschaften Ei , i = 1, . . . , m, die sich gegenseitig ausschließen. Setze Si = {x ∈ S | x hat Eigenschaft Ei }. |S| = 1.2 m X i=1 |Si |. Multiplikationsprinzip(Produktregel) Kann eine Prozedur in m aufeinanderfolgende Schritte aufgeteilt werden und hat man n1 viele Optionen für Schritt 1, und hat man nach Durchführung von Schritt i−1 (i = 2, . . . , m) genau ni viele Optionen, Schritt i durchzuführen, so hat man insgesamt n1 · n2 · . . . · nm viele Möglichkeiten, die Gesamtprozedur durchzuführen. ! m Y Mathematischer Hintergrund: |S1 × . . . × Sm | = |Si | i=1 5 KAPITEL 1. ELEMENTARE KOMBINATORISCHE TECHNIKEN Zum Verdeutlichen ein Baumdiagramm: Abbildung 1.1: Baumdiagramm Beispiele a) Eine Kennzeichnung aus maximal 4 Symbolen: An der ersten Stelle steht immer ein Buchstabe, an der zweiten und dritten Stelle ein Buchstabe oder eine Ziffer, an der vierten Stelle steht immer x,y oder z: Wieviele Möglichkeiten gibt es? Si = Menge aller Kennzeichnungen mit i Symbolen, i = 1, 2, 3, 4 eine Stelle (26 Buchstaben): |S1 | = 26 zwei Stellen (26 Buchstaben + 10 Ziffern): |S2 | = 26 · 36 drei Stellen (26 Buchstaben + 10 Ziffern): |S3 | = 26 · 362 vier Stellen (3 Buchstaben): |S4 | = 26 · 362 · 3 Bei |S2 |, |S3 | und |S4 | wurde die Produktregel angewandt. Gesamtzahl aller Kennzeichnungen (Summenregel): |S1 | + |S2 | + |S3 | + |S4 | = 135746 Möglichkeiten b) Wieviele 0-1-Folgen der Länge n gibt es? (Produktregel) 2n viele. 6 7 KAPITEL 1. ELEMENTARE KOMBINATORISCHE TECHNIKEN A B 2x 3x 2x 2x C Abbildung 1.2: Einschl.-Ausschl.-Prinzip 1.3 Einschließungs-Ausschließungs-Prinzip Sind A, B Mengen, so ist |A ∪B| = |A| + |B| − |A ∩B|. Sind A, B, C Mengen, so ist |A ∪B ∪ C| = |A| + |B| + |C| − |A ∩B| − |A ∩ C| − |B ∩ C| + |A ∩B ∩ C| Allgemein: Sind S1 , . . . , Sm endliche Mengen, so ist |S1 ∪ · · · ∪ Sm | = m X k=1 (−1)k+1 · X |Si1 ∩ Si2 ∩ · · · ∩ Sik | 1≤i1 <i2 <···<ik ≤m Versuchen Sie einen Beweis !! Idee: Induktion über die Anzahl der Mengen (m) Beweis: √ Induktion nach m. m = 1, 2 |S1 ∪ . . . ∪ Sm | = |S1 ∪ . . . ∪ Sm−1 | + |Sm | − |(S1 ∪ . . . ∪ Sm−1 ) ∩ Sm | m−1 P P = (−1)k+1 |Si1 ∩ . . . ∩ Sik | + |Sm | − |(S1 ∩ Sm ) ∪ . . . ∪ (Sm−1 ∪ Sm )| = = k=1 m−1 P k=1 m P 1≤i1 <...<ik ≤m−1 (−1)k+1 |Si1 ∩ . . . ∩ Sik | + |Sm | − 1≤i1 <...<ik ≤m−1 (−1)k+1 k=1 P P |S ∩ . . . ∩ Sik | i1 1≤i1 <...<ik ≤m m−1 P (−1)k+1 k=1 Wieviele natürliche Zahlen zwischen 1 und 30 sind teilerfremd zu 30 ? S1 = Menge aller Zahlen zwischen 1 und 30 die durch 2 geteilt werden S2 = Menge aller Zahlen zwischen 1 und 30 die durch 3 geteilt werden S3 = Menge aller Zahlen zwischen 1 und 30 die durch 5 geteilt werden |S1 ∩ S3 | = Anzahl der Zahlen, die durch 10 teilbar sind |S1 ∩ . . . ∩ Sik ∩ Sm )| 1≤i1 <...<ik ≤m−1 Beispiel |S1 ∩ S2 | = Anzahl der Zahlen, die durch 6 teilbar sind P KAPITEL 1. ELEMENTARE KOMBINATORISCHE TECHNIKEN 8 |S2 ∩ S3 | = Anzahl der Zahlen, die durch 15 teilbar sind Anzahl der zu 30 teilerfremden Zahlen= 30 − |S1 ∪ S2 ∪ S3 | |S1 | = |S2 | = |S3 | = 30 2 30 3 30 5 = 15 = 10 =6 |S1 ∩ S2 | = |S1 ∩ S3 | = |S2 ∩ S3 | = 30 6 30 10 30 15 =5 =3 =2 |S1 ∩ S2 ∩ S3 | = 1 Mit Einschl.-Ausschl.-Regel: |S1 ∪ S2 ∪ S3 | = 15 + 10 + 6 − 5 − 3 − 2 + 1 = 22 8 Zahlen zwischen 1 und 30 sind teilerfremd zu 30. 1.4 Prinzip des doppelten Abzählens Seien A, B endliche Mengen, S ⊆ A × B (S ist eine Relation). Für jedes a ∈ A sei na die Anzahl der Elemente b ∈ B mit (a, b) ∈ S. Für jedes b ∈ B sei mb die Anzahl der Elemente a ∈ A mit (a, b) ∈ S. Dann gilt: X X na = mb = |S| a∈A b∈B Insbesondere: Ist n = na unabhängig von der Wahl von a und ist m = mb unabhängig der Wahl von b, so ist n · |A| = m · |B|. Warum gilt 1.4 ? b1 b2 ... a1 a2 .. . bj 0 0 .. . ... bs ← B .. ai .. . ar ↑ A 0 0 . 1 1 ... 0 1 0 .. . 1 ... 1 0 .. . 0 0 Abbildung 1.3: Inzidenzmatrix KAPITEL 1. ELEMENTARE KOMBINATORISCHE TECHNIKEN 9 Sei A = {a1 , . . . , ar }, B = {b1 , . . . , bs }. Die Inzidenzmatrix ist eine r × s-Matrix mit Einträgen aus {0, 1}. Der Eintrag an der Stelle (i, j) ist folgendermaßen festgelegt: 1 : falls (ai , bi ) ∈ S 0 : falls (ai , bi ) 6∈ S Insgesamt stehen |S| viele Einsen in der Matrix. In Zeile i stehen nai viele Einsen, in der Spalte j stehen mbj viele Einsen. Durch zeilenweises Abzählen erhält man r X nai = i=1 na = |S| X mb = |S|. a∈A und durch spaltenweises Abzählen s X X m bj = j=1 b∈B Beispiel Für jede natürliche Zahl n sei t(n) die Anzahl der positiven (ganzzahligen) Teiler von n. t(n) ist eine wild springende Funktion. Betrachte stattdessen: t(n) = n 1 X · t(i) n i=1 Mit Hilfe eines Doppelabzählungs-Argument zeigen wir, dass sich t(n) sehr freundlich verhält. Sei A = {1, . . . , n} S ⊆ A × A : (i, j) ∈ S ⇔ i teilt j Doppeltes Abzählen: Sei i ∈ A gegeben. Wieviele j ∈ A gibt es mit i|j ? jnk i, 2i, . . . , ·i i Anzahl: n i Sei j ∈ A. Wieviele i ∈ A gibt es mit i|j ? Anzahl: t(j) 1.4) n j k X n i=1 n t(n) = n i n = n X t(j) j=1 n 1X 1 X jnk 1Xn X1 t(j) = ≤ = n j=1 n i=1 i n i=1 i i i=1 (n-te harmonische Zahl) KAPITEL 1. ELEMENTARE KOMBINATORISCHE TECHNIKEN 10 Der Fehler in dieser Abschätzung ist kleiner als 1. Es gilt: log(n) + 1 n < n P i=1 1 i < log(n) + 1 Also: t(n) ≈ log(n), Fehler ist kleiner als 2. Abbildung 1.4: Ober- / Untersummen von der Funktion 1 x Zn n X 1 1 1 > dx > i x i i=1 i=2 1 | {z } | {z } | {z } Untersumme Obersumme =log(n) n−1 X 1.5 Bijektionsprinzip(Gleichheitsregel) Existiert eine bijektive Abbildung zwischen zwei endlichen Mengen A, B, so ist |A| = |B|. Beispiel Wieviele Teilmengen hat eine Menge mit n Elementen, z.B. A = {1, . . . , n}? Ordne jeder Teilmenge B von A eine 0-1-Folge (x1 , . . . , xn ) der Länge n zu: 1 : i∈B xi = 0 : i 6∈ B Diese Zuordnung liefert Bijektion zwischen der Menge aller Teilmengen von A und der Menge aller 0-1-Folgen der Länge n. Nach 1.2 gibt es davon 2n viele. |P(A)| = 2n 1.6 Schubfachprinzip a) Werden mehr als n viele Objekte auf n Schubfächer“ verteilt, so enthält ” mindestens ein Schubfach mehr als ein Objekt. KAPITEL 1. ELEMENTARE KOMBINATORISCHE TECHNIKEN 11 b) (Verallgemeinert) Werden m Objekte auf n Schubfächer“ verteilt, so ” enthält ein Schubfach mindestens d m n e viele Objekte. Begründung: lmm n −1< m n Angenommen Behauptung b) ist falsch, dann: l m m m −1 <n· m≤n· =m n n Widerspruch ! Beispiel Jede Folge von n2 + 1 vielen verschiedenen reellen Zahlen1 enthält eine aufsteigende oder eine absteigende Teilfolge der Länge n+1, d.h. a1 , . . . , an2 +1 gegeben, dann existieren Indizes i1 < i2 < . . . < in+1 , so dass ai1 < ai2 < . . . < ain+1 oder ai1 > ai2 > . . . > ain+1 gilt. Für jedes aj sei sj die Länge der längsten aufsteigenden Folge, die mit aj beginnt. Für jedes aj sei fj die Länge der längsten absteigenden Folge, die bei aj beginnt. z.B.: (|{z} 1 |{z} 7 2 11 13 − 4 8 9 6 3) a1 s1 = 4 f1 = 2 f5 = 4 a2 (1 2 11 13), (1 7 11 13), . . . (1 − 4) (13 8 6 3), (13 9 6 3) Auf diese Weise erhält man n2 +1 viele geordnete Paare (sj , fj ), j = 1, . . . , n2 +1. Angenommen die Behauptung ist falsch. Dann ist 1 ≤ sj ≤ n ∧ 1 ≤ fj ≤ n ∀j = 1, . . . , n2 + 1 Also gibt es höchstens n2 viele verschiedene Paare unter den (sj , fj ). Das Schubfachprinzip sagt dann: Es gibt zwei Indizes i < j mit (si , fi ) = (sj , fj ), dh. si = s j ∧ f i = f j Ist ai > aj , so ergänze ai > aj durch eine absteigende Folge der Länge fj , die bei aj beginnt. Das ergibt eine absteigende Folge der Länge fj + 1, die bei ai beginnt. Also: fi ≥ f j + 1 > f j = f i Widerspruch ! Genauso, falls ai < aj . 1 gilt auch für beliebige vollständig geordnete Mengen anstelle der reellen Zahlen Kapitel 2 Abzählen von Mengen und Abbildungen Wieviele Möglichkeiten gibt es aus einer Menge mit n vielen Elemente k Elemente auszuwählen ? Die Antwort hängt davon ab, wie die Frage gemeint ist: 1. Ist die Anordnung, in der die Elemente ausgewählt werden, relevant? 2. Sind Wiederholungen bei der Auswahl möglich? Bezeichnungen: n, k ∈ N0 = {0, 1, 2, . . .} a) [n]0 = 1 [n]k+1 = [n]k · (n − k) ( n faktoriell k“) ” Also: k > 0 [n]k = n(n − 1) . . . (n − k + 1) k > n [n]k = 0 [n]n = n! ( n Fakultät“) ” b) [n]k n = := k k! 0 falls k > n falls k ≤ n n! k!(n−k)! (a + b)n = n X n k=0 k ak bn−k Wir zeigen in diesem Kapitel: 12 Binominalkoeffizient ( n über k“) ” (Binomische Formel) 13 KAPITEL 2. ABZÄHLEN VON MENGEN UND ABBILDUNGEN k aus n keine Mehrfachauswahl Mehrfachauswahl möglich Anordnung relevant (k-)Permutationen (Partielle Permutationen) Anzahl: [n]k (k-)Permutationen mit Wiederholung ( Toto“) ” Anzahl: k = n Permutationen : n! nk Kombination ohne Wiederholung (k-elementige Teilmengen) Anzahl: n Kombination mit Wiederholung Anordnung nicht relevant k Anzahl: n+k−1 k Diese Anzahlbestimmungen hängen eng mit der Anzahl aller (injektiven/bijektiven) Abbildungen zweier Mengen zusammen. Abbildung α:A→B • injektiv: a1 a2 ∈ A, a1 6= a2 ⇒ α(a1 ) 6= α(a2 ) • surjektiv: Zu jedem b ∈ B gibt es a ∈ A mit b = α(a) • bijektiv: injektiv und surjektiv Abb: A → B |A| = k, |B| = n alle injektiv bijektiv Anzahl nk [n]k 2.1 0 : n 6= k n! : n = k surjektiv n P j=0 n (−1) · n j · (n − j) k Satz Seien n, k ∈ N a) Es gibt nk viele Möglichkeiten, aus einer Menge mit n Elementen k Elemente unter Berücksichtigung der Anordnung mit Wiederholungen ( Zurück” legen“) auszuwählen. Dies ist auch die Anzahl aller Abbildungen α : A → B, wobei |A| = k und |B| = n. b) Es gibt [n]k viele Möglichkeiten, aus einer Menge mit n Elementen k Elemente unter Berücksichtigung der Anordnung ohne Wiederholungen (kein Zurücklegen“) auszuwählen. ” KAPITEL 2. ABZÄHLEN VON MENGEN UND ABBILDUNGEN 14 Dies ist auch die Anzahl aller injektiven Abbildungen α : A → B, wobei |A| = k und |B| = n. c) Es gibt n! viele bijektive Abbildungen α : A → B, falls |A| = |B| = n (n! viele Permutationen einer Menge mit n Elementen). Beweis: a) Man wähle nacheinander ein Element für die erste Position, dann eines für die zweite Position, usw. bis zur k-ten Position. Multiplikationsprinzip 1.2: Es gibt nk Möglichkeiten. Sei A = {a1 , . . . , ak }. Jede Abbildung α : A → B lässt sich eindeutig als Folge (b1 , . . . , bk ) beschreiben, wobei bi = α(ai ) ∈ B, i = 1, . . . , k. Umgekehrt beschreibt jede solche Folge von k vielen Elementen aus B (ggf. mit Wdh.) eine Abbildung α : A → B. Also: Anzahl Abb. α : A → B = Anzahl aller geordneten k-tupel von Elementen aus B (ggf. mit Wdh) = nk b) wie a), nur dass nach der ersten Wahl nur noch n − 1 viele Wahlmöglichkeiten für das zweite Element verbleiben; allgemein bleiben nach der i-ten Wahl noch (n − i) viele Möglichkeiten für das (i + 1)-te Element, i < k. Multiplikationsprinzip: n(n − 1) . . . (n − k + 1) = [n]k viele Möglichkeiten. Rest wie a) c) klar 2.2 Satz Sei A endliche Menge, |A| = n ∈ N0 , k ∈ N0 Setze P(A) = {B|B ⊆ A} Setze Pk (A) = {B|B ⊆ A und |B| = k} Es ist n |Pk (A)| = k [ nk ist also die Anzahl der Möglichkeiten, k Elemente aus einer Menge mit n Elementen ohne Berücksichtigung der Anordnung und ohne Wiederholungen auszuwählen.] Insbesondere |P(A)| = 2n = n P k=0 n k Beweis: Beweis der ersten Behauptung durch Induktion nach n = |A|. Induktionsanfang: n = 0, A = ∅, k = 0 : Pk (A) = {∅} |Pk (A)| = 1 = 00 KAPITEL 2. ABZÄHLEN VON MENGEN UND ABBILDUNGEN n = 0, A = ∅, k > 0 : Pk (A) = ∅ |Pk (A)| = 0 = 0 k Induktionsschritt: 15 Sei n > 0, Beh. gelte für n − 1. Ist k = 0, Pk (A) = {∅}, |Pk (A)| = 1 = n 0 Sei k > 0. · A = A0 ∪ {a}, |A0 | = n − 1 · Pk (A) = Pk (A0 ) ∪ {B ∪ {a}|B ∈ Pk−1 (A0 )} IV |Pk (A)| = |Pk (A0 )| + |Pk−1 (A0 )| = |P(A)| = n P + k >n : 0+0=0 k =n : 0+1=1 ∗ (n−1)! k < n : k!(n−k−1)! + |Pk (A)| = k=0 2n = (1 + 1) n−1 k bin.Formel = n P n k k=0 n P k=0 n k n−1 k−1 ∗ = (n−1)! (k−1)!(n−k)! n k = n! k!(n−k)! ·1·1 Andere Möglichkeit: B ⊆ A = {a1 , . . . , an } wird zugeordnet eine 0-1-Folge der Länge n, XB (charakteristischer Vektor zu B). Eintrag an der Stelle i von 0 : ai 6∈ B XB = 1 : ai ∈ B 2.1 |P(A)| = Anzahl der 0-1-Folgen der Länge n = 2n . 2.3 Satz Sei n ∈ N, k ∈ N0 . Anzahl aller Möglichkeiten aus einer Menge mit n Elementen k Elemente ohne Berücksichtigung der Anordnung mit möglichen Wiederholungen auszuwählen = Anzahl der (geordneten) n-Tupel (x1 , . . . , xn ) von nicht-negativen ganzen Zahlen x1 , . . . , xn mit x1 + . . . + xn = k = Anzahl aller 0-1-Folgen der Länge n + k − 1, die genau n − 1 viele Einsen enthalten = n+k−1 k 16 KAPITEL 2. ABZÄHLEN VON MENGEN UND ABBILDUNGEN Beweis: 1. Gleichheit: Sei A = {a1 , . . . , an } Ordne jeder Auswahl von k Elementen aus A (mit Wdh.) (x1 , . . . , xn ) zu: xi = Anzahl, wie oft ai in dieser Auswahl vorkommt, i = 1, . . . , n Liefert Bijektion. Pk 2. Gleichheit: Ordne (x1 , . . . , xn ), xi ≥ 0, i=1 xi = k zu (0, . . . , 0, 1, 0, . . . , 0, 1, . . . , 1, 0, . . . , 0) | {z } | {z } | {z } x1 x2 xn Länge dieser 0-1-Folge: n P i=1 Liefert Bijektion. xi + (n − 1) = k + n − 1 | {z } Anzahl der Einsen 3. Gleichheit: 0-1-Folge der Länge n + k − 1 mit n − 1 Einsen wird zugeordnet eine (n − 1)-elementige Teilmenge von {1, 2, . . . , n + k − 1}. Wähle genau die Indizes der Positionen der 0-1-Folge, wo 1 steht. Liefert Bijektion. Nach 2.2: Anzahl der (n − 1)-elementigen Teilmengen von einer Menge mit n + k − 1 vielen Elementen ∗ = n+k−1 = n+k−1 n−1 k * Symmetrie der Binominalkoeffizienten 2.4 Folgerung Seien k, n ∈ N. Die Anzahl der geordneten n-tupel positiver ganzer Zahlen (x1 , . . . , xn ) mit x1 + . . . + xn = k ist k−1 . n−1 Beweis: Ist k < n, so ist die Anzahl = 0 = Sei also k ≥ n. (x1 , . . . , xn ), xi ∈ N, Umgekehrt: n X i=1 k−1 n−1 xi = k −→ (x1 −1, . . . , xn −1), xi −1 ∈ N0 , (y1 +1, . . . , yn +1), yi +1 ∈ N, n X i=1 n X i=1 (yi +1) = k ←− (y1 , . . . , yn ), yi ∈ N0 , Liefert Bijektion. Nach 2.3 ist die Anzahl n+k−n−1 k − 1 Symm. k − 1 = = k−n k−n n−1 (xi −1) = k−n n X i=1 yi = k−n KAPITEL 2. ABZÄHLEN VON MENGEN UND ABBILDUNGEN 2.5 17 Satz Es gibt n P (−1)j j=0 n j (n − j)k viele surjektive Abbildungen von einer Menge A mit |A| = k auf eine Menge B mit |B| = n. Beweis: mit dem Einschließungs-Ausschließungs-Prinzip (1.3): Sei B = {b1 , . . . , bn }. Setze Si = {α|α : A → B mit bi 6∈ α(A)}, i = 1, . . . , n, wobei α(A) = {α(a)|a ∈ A}. S1 ∪ . . . ∪ Sn = Menge aller nicht-surjektiven Abb. von A → B, T = Menge aller Abb. von A → B. 2.1a |Menge der surj. Abb. von A → B| = |T | − |S1 ∪ . . . ∪ Sn | = nk − |S1 ∪ . . . ∪ Sn | |S1 ∪ . . . ∪ Sn | mit 1.3 bestimmen: 2.1a |Si | = |Menge aller Abb. von A → B \ {bi }| = (n − 1)k mit n1 = n vielen Möglichkeiten für i 2.1a i<j: |Si ∩ Sj | = |Menge aller Abb. von A → B \ {bi , bj }| = (n − 2)k mit n 2 vielen Möglichkeiten für {i, j} (2.2) i < j < k : |Si ∩ Sj ∩ Sk | = |Menge aller Abb. von A → B \ {bi , bj , bk }| = (n − 3)k mit n3 vielen Möglichkeiten für {i, j, k} etc. Schließlich: |S1 ∩ S2 ∩ . . . ∩ Sn | = |Menge aller Abb. von A → B \ B| = 0 = (n − n)k mit nn = 1 vielen Möglichkeiten für {1, 2, . . . , n} Nach 1.3: |S1 ∪ . . . ∪ Sn | = Pn j=1 (−1) j+1 n j (n − j)k n n n X X X k j n k k j n j+1 n (n−j)k (n−j) = (−1) (n−j) = n + (−1) n − (−1) j j j j=0 j=1 j=1 k Bemerkung: Aus 2.5 folgt: Ist k < n, so ist Ist k = n, so ist n P j=0 n P j=0 (−1)j n j (−1)j n j (n − j)k = 0 (n − j)n = n! Die Anzahl der surjektiven Abbildungen einer Menge in eine andere hängt eng mit der Anzahl gewisser Partitionen einer Menge zusammen. KAPITEL 2. ABZÄHLEN VON MENGEN UND ABBILDUNGEN 18 Dies soll jetzt kurz dargestellt werden. Definition: Sei X eine Menge. Eine Partition von X ist eine (nicht-geordnete) Zerlegung X = X1 ∪ . . . ∪ Xk mit Xi 6= ∅ und Xi ∩ Xj = ∅ ∀i, j, i 6= j Die Anzahl der Partitionen einer Menge mit n Elementen in genau k viele (nichtleere) Teilmengen heißt Stirling1 -Zahl 2.Art. S(n, k) := 0 für k > n, S(0, 0) := 1, S(n, 0) := 0 für n > 0 Einschub Relation R auf einer Menge A“ ” R ⊆A×A a1 Ra2 steht für (a1 , a2 ) ∈ R R heißt Äquivalenzrelation, falls (1) (2) (3) aRa ∀a ∈ A wenn a1 Ra2 , so auch a2 Ra1 wenn a1 Ra2 , a2 Ra3 , so auch a1 Ra3 Reflexivität Symmetrie Transitivität Ordnungsrelationen sind keine Äquivalenzrelationen! (Ausnahme: =) A a’ a a’Ra a’’ b Abbildung 2.1: Mengenrelationen Eine Partition definiert eine Äquivalenzrelation ( die Teilmengen in der Partition sind genau die Äquivalenzklassen) und umgekehrt. 1 James Stirling, 1692 - 1770, Stirling Approximation n! ≈ n n√ 2πn e KAPITEL 2. ABZÄHLEN VON MENGEN UND ABBILDUNGEN 2.6 19 Satz k 1 X k−j k jn (−1) S(n, k) = · j k! j=1 | {z } Anzahl aller surj. Abb. einer Menge mit n Elementen auf eine Menge mit k Elementen Beweis: k X (−1) j=1 k−j k−1 Anzahl der surj. Abb. von einer k n X k j n 2.5 Menge A mit|A| = n auf · j = (−1) · ·(k−j) = j j j=0 eine Menge B mit |B| = k Zu zeigen: k! · S(n, k) ist die gleiche Anzahl. Richtig, falls k > n, da dann S(n, k) = 0. Sei also k ≤ n, B = {b1 , . . . , bk }. Jede surjektive Abbildung α : A → B definiert Partition von A in k (nicht-leere) Teilmengen durch α−1 (b1 ) = {a ∈ A|α(a) = b1 }, . . . , α−1 (bk ) . Jede Permutation π von {1, . . . , k} liefert zu gegebener Partition A = A1 ∪. . .∪ Ak eine surjektive Abbildung α : A → B : α(ai ) = bπ(i) für ai ∈ Ai , i = 1, . . . , k. Also: Jede Partition liefert genau k! viele surjektive Abbildungen. 2.7 Satz Sei k ∈ N, n ∈ N0 Dann gilt: S(n + 1, k) = k · S(n, k) + S(n, k − 1) Beweis: Richtig für n = 0. Sei n > 0. Richtig für k = 1. Sei also k > 1. Menge: {1, . . . , n + 1} Bestimmung der Anzahl der Partitionen in k Teilmengen. X1 ∪ . . . ∪ X k Partition von {1, . . . , n} Hinzufügen von n + 1 zu einer der k Mengen X1 , . . . , Xk liefert k · S(n, k) viele Partitionen von {1, . . . , n + 1}. Es fehlen noch alle Partitionen von {1, . . . , n + 1}, wo {n + 1} eine Teilmenge der Partition ist. Dies entspricht genau allen Partitionen von {1, . . . , n} in k − 1 vielen Teilmengen. Davon gibt es genau S(n, k − 1) viele. Daraus folgt die Behauptung. Kapitel 3 Rekursionen Das letzte Resultat in Kapitel 2 war eine Rekursionsgleichung für die StirlingZahlen 2. Art. Wir werden uns im Folgenden eingehender mit Rekursionen befassen, vor allem solchen, die (anders als bei Stirling-Zahlen) nur von einem Parameter abhängen. Rekursionen sind deshalb von großer Bedeutung, weil in vielen Abzählproblemen die Lösung des Problems durch die Lösungen von entsprechenden Problemen kleinerer Größe ausgedrückt werden kann. Definitionen: a) Eine Rekursion (Rekurrenz) für eine Folge a1 , a2 , . . . (von reellen oder, allgemeiner, komplexen Zahlen) ist eine Gleichung, die jedes an (für n ≥ n0 ) als Funktion der vorangehenden Terme ai (i < n) ausdrückt. b) Eine Rekursion ist von k-ter Ordnung, falls an durch an−1 , . . . , an−k ausgedrückt wird (n ≥ n0 ). c) Eine Rekursion heißt linear, falls an = fn−1 (n)·an−1 +. . .+f1 (n)·a1 +f0 (n), wobei fi : N → R, C Ist f0 (n) = 0 ∀n, so heißt die lineare Rekursion homogen, sonst inhomogen. Sind alle fi konstant, so heißt die Rekursion linear mit konstanten Koeffizienten. 3.1 3.1 a) Beispiele Fibonacci - Folge Auf wieviele Weisen kann eine natürliche Zahl n als geordnete Summe von Einsen und Zweien geschrieben werden ? Anzahl Fn (Fibonacci1 -Zahlen) F1 = 1 F2 = 2 F3 = 3 (1 + 1, 2) (1 + 1 + 1, 1 + 2, 2 + 1) Sei n ≥ 3. Jede solche Darstellung von n endet mit 1 oder 2. Die vorangehenden Terme summieren sich zu n − 1 oder n − 2 auf. Das liefert: 1 Fibonacci, Leonardo von Pisa, 1175 - 1250, Liber abaci“ ” 20 21 KAPITEL 3. REKURSIONEN Fn = Fn−1 + Fn−2 , n ≥ 3 Lineare, homogene Rekursion 2.Ordnung mit konstanten Koeffizienten. (Man setzt in der Regel F0 := 1) Fibonacci-Zahlen treten in vielen Zusammenhängen auf. Wir geben ein weiteres Beispiel an: Wieviele 0 − 1-Folgen der Länge n gibt es, in denen keine zwei aufeinanderfolgende Nullen vorkommen ? Anzahl an . a1 = 2 a2 = 3 Sei n ≥ 3. 1 an =? ·| · {z· · }· |{z} ·| {z · · }· |{z} 1 |{z} 0 n−2 (an−1 − viele) n n−1 n−1 n (an−2 − viele) ⇒ an = an−1 + an−2 Aus den Anfangsbedingungen ergibt sich: an = Fn+1 . 3.1 b) Türme von Hanoi Abbildung 3.1: Türme von Hanoi - n Scheiben von einem Stab auf einen anderen - in jedem Zug 1 Scheibe umlegen - nie größere auf kleinere Minimalanzahl: an ⇒ an = an−1 + 1 + an−1 = 2 · an−1 + 1 | {z } lineare, inhomogene Rekursion von 1. Ordnung mit konst. Koeff. 22 KAPITEL 3. REKURSIONEN 3.1 c) Zerlegung der Ebene durch Geraden Wieviele Gebiete in der Ebene entstehen, wenn n Geraden in allgemeiner Lage ( keine zwei parallel, keine drei mit gemeinsamen Schnittpunkt) gezeichnet werden? Anzahl: gn g1 = 2; g2 = 4; g3 = 7 5. 6. 4. 7. 1. 2. 3. Abbildung 3.2: Drei sich schneidende Geraden n-te Gerade schneidet alle n − 1 vorige Geraden, und wird damit in n Teilstücke zerlegt. Jedes dieser Teilstücke zerlegt ein existierendes Gebiet in zwei neue. ⇒ gn = gn−1 + n | {z } lin., inhom., 1. Ord., alle Koeff. bis auf f0 (n)=n konstant 3.1 d) Anzahl der Partitionen einer Menge Wieviele Partitionen hat eine Menge mit n vielen Elementen ? Anzahl: Bn Bn heißen Bell’schen Zahlen2 Klar: B1 = 1, B2 = 2, B3 = 5 Konvention: B0 = 1. Bn = n X S(n, k) k=1 Direkte Rekursion für Bn : X = {1, . . . , n} Jede Partition von X enthält (genau) eine Teilmenge Y mit n ∈ Y . ˙ Sei Y = Y0 ∪{n}, Y0 ⊆ {1, . . . , n − 1} 2 E.T.Bell, 1883 - 1960 23 KAPITEL 3. REKURSIONEN Die übrigen Teilmengen der Partition bilden Partition von {1, . . . , n − 1} \ Y0 . Ursprüngliche Partition ist eindeutig bestimmt durch Y0 und die Partition auf {1, . . . , n − 1} \ Y0 . Sei |Y0 | = j − 1. Dann gibt es n−1 j−1 viele Möglichkeiten für Y0 (2.2) und Bn−j viele Partitionen auf {1, . . . , n − 1} \ Y0 . Also: Bn = | n X n−1 · Bn−j j −1 j=1 {z } , n ≥ 1; B0 = 1. lin., homogen, keine konst. Koeff., unbeschr. Ord. 3.1 e) Quicksort Sei (z1 , . . . , zn ) Liste von Zahlen, die der Größe nach sortiert werden sollen. Wir untersuchen hier den Quicksort-Algorithmus (Hoare3 , 1962). Wähle ein Element der Liste, z.B. z1 . Führe n − 1 Vergleiche durch: i = 2, . . . , n : zi > z1 oder zi < z1 . Das liefert 2 Teillisten L1 , L2 : Für alle zj ∈ L1 und alle zk ∈ L2 : zj < zk . Wende dieses Verfahren auf L1 , L2 an: Rekursion. Worst-Case-Komplexität: O(n2 ). Wie sieht die durchschnittliche Komplexität aus ? Annahme: Alle Permutationen der Liste sind als Input gleich wahrscheinlich. (Alle zi seien paarweise verschieden.) Sei Qn die durchschnittliche Anzahl von Vergleichen (Liste der Länge n). Mit Wahrscheinlichkeit n1 sind s − 1 viele Elemente der Liste kleiner z1 und n − s viele größer als z1 (d.h. mit Wahrscheinlichkeit n1 ist s die richtige Stelle für z1 ), n Qn = (n − 1) + | 1X (Qs−1 + Qn−s ) n s=1 {z } Q0 := 0 lin., inhomogene Rek., Koeff. nicht konst, unbeschr. Ord. 3.1 f ) d.h. Qn = n − 1 + n−1 2X Qk n k=0 Catalan-Zahlen Auf wieviele Weisen kann ein Produkt von n vielen Termen geklammert werden, so dass es durch iterierte Produktbildung von je 2 Termen berechnet werden kann ? Beispiel: n = 4 ergibt 5 Möglichkeiten (((ab)c)d) 3 Professor ((a(bc))d) ((ab)(cd)) (a((bc)d)) (a(b(cd))) Sir Charles Anthony Richard Hoare entwichelte den Quicksort-Algorithmus 24 KAPITEL 3. REKURSIONEN Anzahl der Klammerungen: Cn Cn heißen Catalan4 -Zahlen. Klar: C1 = 1 C2 = 1 Jeder geklammerte Ausdruck mit n Termen, n ≥ 2, ist von der Form (E1 · E2 ), wobei E1 und E2 geklammerte Ausrücke mit j und n − j vielen Termen sind. Damit folgt: Cn = n−1 X Cj Cn−j , j=1 | {z n ≥ 2, C1 = C2 = 1 (Konvention:C0 = 0) } nicht-lin. Rek. von unbeschr. Ordn. Auch die Catalan-Zahlen treten in vielen Zusammenhängen auf, z.B.: Abbildung 3.4: Fünfeck mit nicht schneidenden Diagonalen Anzahl der Möglichkeiten ein konvexes n-Eck durch (n − 3) viele sich nicht schneidende Diagonalen in Dreiecke zu zerlegen. → Catalan-Zahl Cn−1 . 4 Eugene Charles Catalan, 1814 - 1894, belgischer Mathematiker 25 KAPITEL 3. REKURSIONEN Lineare Rekursionen k-ter Ordnung mit konst. Koeffizienten Zunächst: Homogene Rekursion an = c1 an−1 + . . . + ck an−k , ci ∈ R, n ≥ k + 1, ck 6= 0, a1 , a2 , . . . , ak gegeben. Frage: Gibt es eine geschlossene Form für die an , die nur von n abhängt und nicht von an−1 , . . . , an−k ? - Ja! (a1 , a2 , a3 , . . .) ist eine Lösung der unendlich vielen linearen Gleichungen. (∗) xn = c1 xn−1 + . . . + ck xn−k , n = k + 1, k + 2, . . . Wir betrachten alle Lösungen (f1 , f2 , f3 , . . .) von (∗), d.h. alle Gleichungen sind erfüllt, wenn man fi für xi einsetzt, i = 1, 2, . . . Sind (f1 , f2 , f3 , . . .), (f10 , f20 , f30 , . . .) Lösungen von (∗), a, b ∈ R (C), so ist a · (f1 , f2 , f3 , . . .) + b · (f10 , f20 , f30 , . . .) = (af1 + bf10 , af2 + bf20 , af3 + bf30 , . . .) eine Lösung von (∗). Also: Die Lösungen bilden einen Vektorraum über R (bzw. C). Dieser Vektorraum hat die Dimension k, denn man erhält jede Lösung auf folgende Art und Weise: Wähle f1 , . . . , fk beliebig. Dann liegen fk+1 = c1 fk + . . . + ck f1 , | {z } 1.Gleichung fk+2 = c1 fk+1 + . . . + ck f1 , | {z } 2.Gleichung fk+3 = . . . fest. Jede (1, ↑ 1 (0, (0, Lösung ist Linearkombination der folgenden Lösungen (Basis): 0, . . . , ck , c1 ck , c21 ck + c2 ck , . . .) ↑ ↑ ↑ ↑ 2 k k+1 k+2 1, . . . , 0, ∗, ∗, . . .) 0, . . . , 1, ∗, ∗, . . .) Um eine geschlossene Form für die fn zu finden, ist eine andere Basis besser geeignet. Ansatz: (f1 , f2 , f3 , f4 , . . .) = (α, α2 , α3 , α4 , . . .), α ∈ C. Für welche α ist das eine Lösung? Klar: α = 0 führt zu Lösung. Sei α 6= 0: Damit (α, α2 , α3 , α4 , . . .) eine Lösung von (∗) ist, muss für alle n = k + 1, k + 2, . . . gelten: αn = c1 αn−1 + . . . + ck αn−k 26 KAPITEL 3. REKURSIONEN Nach einer Division durch αn−k ergibt sich die charakteristische Gleichung der Rekursion: αk − c1 αk−1 − . . . − ck−1 α − ck = 0. (α, α2 , α3 , α4 , . . .) ist Lösung von (∗) genau dann, wenn α Nullstelle des Polynomes tk − c1 tk−1 − . . . − ck−1 t − ck ist. Dieses Polynom hat k viele Nullstellen (inkl. Vielfachheit) α1 , α2 , . . . , αk (alle 6= 0, da ck 6= 0) Annahme: Die α1 , α2 , . . . , αk seien paarweise verschieden. 2 3 (α1 , α1 , α1 , . . .) .. .. Die k vielen Lösungen . . (αk , α2k , α3k , . . .) bilden eine Basis des Lösungsraums von (∗). Denn: α1 ,α21 , . . . ,αk1 Y . det ... , , (αi − αj ) 6= 0. , .. = α1 · . . . · αk · 2 k i<j αk ,αk ,. . . αk , Jede Lösung von (∗) ist also von der Form b1 (α1 , α21 , . . .) + . . . + bk (αk , α2k , . . .) = (b1 α1 + . . . + bk αk , b1 α21 + . . . + bk α2k , . . .), bi ∈ C. Zur Beantwortung der Frage, ob es eine geschlossene Formel gibt: (a1 , a2 , a3 , . . .) bilden eine Lösung von (∗), wobei a1 , . . . , ak vorgegeben sind. k P Dann muss man b1 , . . . , bk so bestimmen, dass an = bi αki , n = 1, 2, . . . Diese i=1 werden aus den ersten k Gleichungen für a1 , . . . , ak bestimmt. Problem: √ Bestimmung der Nullstellen. k=2 k = 3, 4 Lösungsformeln k > 4 im Allgemeinen nur Näherungsverfahren. Wir fassen zusammen: 3.2 Satz Sei an = c1 an−1 + . . . + ck an−k , ck = 6 0 eine homogene lineare Rekursion mit konstanten Koeffizienten c1 , . . . , ck . a1 , . . . , ak seien gegeben. Sind die Nullstellen α1 , . . . , αk des Polynoms tk − c1 tk−1 − . . . − ck−1 t − ck paarweise verschieden, so gilt: an = b1 αn1 + . . . + bk αnk , n = 1, 2, . . . 27 KAPITEL 3. REKURSIONEN mit geeigneten (von n unabhängigen) b1 , . . . , bk ∈ C. Diese lassen sich aus den ersten k Gleichungen für a1 , . . . , ak durch Lösung eines linearen Gleichungssystems bestimmen (k Gl., k Unbekannte b1 , . . . , bk ) 3.3 Beispiel für n ≥ 3; F1 = 1, F2 = 2 Fibonacci - Zahlen Fn (3.1a): Fn = Fn−1 +Fn−2 (k = 2, c1 = 1, c2 = 1) Charakteristische Gleichung: t2 − t − 1 = 0. Nullstellen: √ 1± 5 1 q1 α1/2 = ± 4 + 1 = 2 2 Bestimmung von b1 , b2 : √ ! √ ! 1− 5 1+ 5 + b2 · 2 2 √ !2 √ !2 1− 5 1+ 5 + b2 · 2 2 1 = F 1 = b1 · 2 = F 2 = b1 · Ausrechnen: b1 = 1 √ · 5 1 b2 = − √ · 5 √ ! 1+ 5 2 √ ! 1− 5 2 Also: 1 Fn = √ · 5 √ ! 1+ 5 2 √ !n 1+ 5 1 −√ · 2 5 √ ! 1− 5 2 √ !n 1− 5 2 ⇒ Geschlossene Form für Fibonacci-Zahlen: 1 Fn = √ · 5 √ !n+1 1 1+ 5 −√ · 2 5 √ !n+1 1− 5 2 Bemerkung: √ 1+ 5 tritt beim goldenen Schnitt auf: 2 M m Abbildung 3.4: Der goldene Schnitt √ M +m M 1+ 5 = = M m 2 (Zahl des goldenen Schnitts) 28 KAPITEL 3. REKURSIONEN Es gilt für alle n: Fn ist die nächste ganze Zahl zu √1 5 · √ n+1 1+ 5 . 2 Was macht man, wenn nicht alle Nullstellen der darstellenden Gleichung paarweise verschieden sind? 3.4 Satz Sei an = c1 an−1 + . . . + ck an−k , n ≥ k + 1, ck 6= 0, eine homogene lineare Rekursion mit konstanten Koeffizienten c1 , . . . , ck . a1 , . . . , ak seien gegeben. Seien α1 , . . . , αs die paarweise verschiedenen Nullstellen von tk − c1 tk−1 − . . . − ck−1 t − ck , mit Vielfachheiten m1 , . . . , ms , d.h. tk − c1 tk−1 − . . . − ck = (t − α1 )m1 · . . . · (t − αs )ms , m1 + . . . + ms = k. Dann ist an = p1 (n)αn1 + . . . + ps (n)αns ∀n = 1, 2, . . . , wobei pi (n) Polynome in n vom Grad < mi sind, d.h. pi (n) = b0 + b1 n + . . . + bmi −1 nmi −1 , b0 , . . . , bmi −1 ∈ C (abh. von i = 1, . . . , s) Die m1 + m2 + . . . + ms = k vielen Koeffizienten von p1 (n), . . . , ps (n) lassen sich aus den ersten k Gleichungen für a1 , . . . , at durch Lösung eines linearen Gleichungssystems bestimmen. Aus 3.4 folgt: Das Wachstum der an in homogenen lin. Rek. endlicher Ordnung (mit konst. Koeff.) ist höchstens exponentiell. Wir beweisen 3.4 hier nicht, sondern verdeutlichen den Satz an einem Beispiel. 3.5 Beispiel Sei an = 5an−1 − 8an−2 + 4an−3 für n ≥ 4, a1 = 1, a2 = 5, a3 = 17. ⇒ Homogen, linear 3. Ordnung. t3 − 5t2 + 8t − 4 Nullstellen? α1 = 1 ist eine Nullstelle. ⇒ Weiter mit Polynomdivision: 29 KAPITEL 3. REKURSIONEN (t3 −5t2 +8t−4):(t − 1) = t2 − 4t + 4 t3 − t 2 −4t2 +8t−4 −4t2 +4t 4t−4 4t−4 0 ⇒ α2 = α3 = 2; m2 = 2 Nach 3.4: an = bαn1 + (c + dn)αn2 = b + c · 2n + dn2n , n = 1, 2, . . . Bestimme b, c, d: (n = 1) : 1 = b+2c+ 2d (n = 2) : 5 = b+4c+ 8d (n = 3) : 17 = b+8c+24d Ausrechnen: 1221 1221 12 2 1 12 2 1 12 2 1 14 8 5→ 02 6 4→ 01 3 2→ 0132→ 0132 0011 0044 0 6 22 16 0 6 22 16 1 8 24 17 Die errechneten Werte b = 1, c = −1, d = 1 in an einsetzen: an = (n − 1) · 2n + 1 Wie behandelt man inhomogene lineare Rekursionen endlicher Ordnung? Gegeben: an = c1 an−1 + . . . + ck an−k + f (n), n ≥ k + 1, a1 , . . . , ak gegeben Wir betrachten die unendlich vielen Gleichungen: xk+1 = c1 xk +. . .+ck x1 +f (k + 1) xk+2 = c1 xk+1 +. . .+ck x2 +f (k + 2) inhomogenes System (∗∗) .. . xn = c1 xn−1 +. . .+ct xn−t +f (n) , n≥k+1 Das zugehörige homogene System erhält man, wenn man alle f (n) = 0 setzt. 3.6 Satz Ist (s1 , s2 , . . .) eine (spezielle) Lösung von (∗∗), so erhält man jede Lösung von (∗∗) in der Form (s1 + f1 , s2 + f2 , . . .), wobei (f1 , f2 , . . .) eine beliebige Lösung des zugehörigen homogenen Systems ist. 30 KAPITEL 3. REKURSIONEN Beweis: (spezielle Lösung des inhomogenen Systems) +(allgemeine Lösung des zugehörigen homogenen Systems) =(allgemeine Lösung des inhomogenen Systems) sn = c1 sn−1 +. . .+ck sn−k +f (n) + fn = c1 fn−1 +. . .+ck fn−k (sn + fn ) = c1 (sn−1 + fn−1 )+. . .+ck (sn−k + fn−k )+f (n) ∀n ≥ k + 1 Ist (s01 , s02 , . . .) irgendeine Lösung von (∗∗), dann ist (s01 − s1 , s02 − s2 , . . .) eine Lösung des zugehörigen homogenen Systems und (s01 , s02 , . . .) = (s1 + (s01 − s1 ), s2 + (s02 − s2 ), . . .). 3.7 Korollar Sei an = c1 an−1 + . . . + ck an−k + f (n), n ≥ k + 1, ci ∈ C, i = 1, . . . , k eine inhomogene lineare Rekursion k-ter Ordnung. Ist (s1 , s2 , . . .) eine spezielle Lösung des inhomogenen Gleichungssystems xn = c1 xn−1 + . . . + ck xn−k + f (n), n ≥ k + 1, so bestimme wie in 3.4 die Nullstellen α1 , . . . , αs (mit Vielfachheiten m1 , . . . , ms ) von tk − c1 tk−1 − . . . − ck−1 t − ck = (t − α1 )m1 · . . . · (t − αs )ms . Dann ist s P an = pi (n)αni + sn für alle n ∈ N, wobei pi (n) ein Ausdruck der Form i=1 b0 + b1 n + . . . + bmi −1 nmi −1 ist. Die Koeffizienten von p1 (n), . . . , ps (n) lassen sich aus den ersten k Gleichungen für a1 , . . . , ak durch Lösung eines linearen Gleichungssystems bestimmen (C.F. Gauß). Die Frage bleibt: Wie kommt man an eine spezielle Lösung von (∗∗)? Dies hängt ab von der Form von f (n)! Es gibt kein allgemeingültiges Rezept. Für gewisse Typen von f (n) kann man jedoch angeben, wie man zu einer speziellen Lösung von (∗∗) gelangt. Wir demonstrieren dies für einen wichtigen Fall: Wir betrachten folgendes System: xn = c1 xn−1 + . . . + ck xn−k + |{z} arn , f (n) ci , a, r ∈ C(a, r 6= 0), n ≥ k + 1. Ansatz für spezielle Lösung:(dr, dr 2 , dr3 , . . . , drn , . . .). Lösung genau dann, wenn: ⇔ ⇔ ⇔ drn drk d−a k d ·r a k −dr = = = = Klar: d 6= 0. c1 drn−1 +. . .+ck drn−k +arn ∀n ≥ k + 1 c1 drk−1 +. . .+ck−1 dr +ck d +ark Div. durch rn−k k−1 c1 r +. . .+ck−1 r +ck c1 rk−1 +. . .+ck−1 r +ck −rk =: −b . Falls b 6= 0, so setze d := ab rk . Dann ist (dr, dr 2 , . . .) eine spezielle Lösung. Damit gilt: 31 KAPITEL 3. REKURSIONEN 3.8 Satz Gegeben: Das System } xn = c1 xn−1 + . . . + ck xn−k + arn , n ≥ k + 1, ci , a, r ∈ R; a, r 6= 0. Es sei b := rk − cn rk−1 − . . . − ck 6= 0. (Dies bedeutet gerade, dass (r, r 2 , r3 , . . .) keine Lösung des zugehörigen homogenen Systems ist; vgl. 3.2). Setze d := ab rk . Dann ist (dr, dr 2 , dr3 , . . .) eine Lösung von }. 3.9 Beispiel Türme von Hanoi (3.1b): an = 2an−1 + 1, n ≥ 2, a1 = 1 • Ordnung k = 1. • Gleichungssystem: n≥2 xn = 2xn−1 + 1, ~ • Zugehöriges homogenes System: xn = 2xn−1 , n≥2 • Betrachte Polynom (t − 2), Nullstelle: 2 • Allgemeine Lösung des homogenen Systems: (2c, 22 c, 23 c, . . .), c ∈ C • Spezielle Lösung des inhomogenen Systems ~ nach 3.8: a = r = 1 Gut: r ist keine Nullstelle von t − 2 b = 1−2 = −1, d = −1, also ist (−1,−1,−1, . . .) spezielle Lösung • Allgemeine Lösung von ~: (2c − 1, 22 c − 1, 23 c − 1, . . .). • Bestimme c: a1 = 1 = 2c − 1 • Geschlossene Form: an = 2 n − 1 3.10 ⇒c=1 ∀n ∈ N Bemerkung Was ist in 3.8, wenn r k − c1 rk−1 − . . . − ck doch Null ist? Sei f (t) = tk − c1 tk−1 − ... − ck . Sei r eine s-fache Nullstelle von f , d.h. f (t) = (t − r)s g(t), g(r) 6= 0. 32 KAPITEL 3. REKURSIONEN Dann ist b := k+s s r k − c1 k+s−1 s rk−1 − ... − ck−1 2 Setzt man d = ab rk , so ist (dr, d s+1 s r ,d zielle) Lösung der Rekursion } aus 3.8. s+2 s s+1 s r3 , ..., d − ck 6= 0. s+n+1 s rn , ...) eine (spe- Wir beschreiben ohne Beweis noch einen wichtigen Fall von inhomogenen linearen Rekursionen, die geschlossen lösbar sind. 3.11 Satz Gegeben: Das System xn = c1 xn−1 + . . . + ct xn−k + anl , n ≥ k + 1, a, ci ∈ C, a 6= 0, l ∈ N0 . Das Polynom tk − c1 tk−1 − . . . − ck−1 t − ck habe die Nullstelle 1 mit Vielfachheit v, d.h. tk − c1 tk−1 − . . . − ck−1 t − ck = (t − 1)v · h(t), h(1) 6= 0, v ∈ N0 (v = 0 → 1 keine Nullstelle) Dann gibt es ein Polynom p(t) = bv tv + . . . + bl+v tl+v ; bv , . . . , bv+l ∈ C, so dass (p(1), p(2), p(3), . . .) eine spezielle Lösung von ist. Setzt man p(n), . . . , p(n−k) für xn , . . . , xn−k in ein, multipliziert die (n − i)j aus (j = v, . . . , l + v; i = 0, . . . , k) und ordnet nach Potenzen von n, so kann man bv , . . . , bl+v durch Koeffizientenvergleich der Potenzen von n erhalten. 3.12 Beispiel Zerlegung der Ebene durch Geraden (3.1c): gn = gn−1 + n, n ≥ 2, g1 = 2 • Ordnung k = 1 • Fall: l = 1, a = 1 in 3.11 • Inhomogenes System: xn = xn−1 + n, n ≥ 2 • Homogenes System: xn = xn−1 , n ≥ 2 • Allgemeine Lösung: (c, c, c, . . .), c ∈ C • Bestimme nach 3.11 spezielle Lösung des inhomogenen Systems: t − 1 (Polynom mit Nullstelle 1 und v = 1) p(t) = b1 t + b2 t2 (l = 1, v = 1 Ansatz für Lösung (p(1), p(2), . . .)) p(n) = p(n − 1) + n b1 n+b2 n2 = b1 (n−1)+b2(n−1)2 +n = b1 n−b1 +b2 n2 −2b2 n+b2 +n ⇒ b1 n + b2 n2 = (−b1 + b2 ) + (b1 − 2b2 + 1)n + b2 n2 33 KAPITEL 3. REKURSIONEN • Koeffizientenvergleich: 0 = −b1 + b2 b1 = b1 − 2b1 + 1 b1 = b 2 = ⇒ p(t) = 1 2 1 2 (t + t2 ). • Spezielle Lösung des inhom. Systems: xn = xn−1 + n, n ≥ 2 : ( 12 (1 + 12 ), 12 (2 + 22 ), . . .) • Allg. Lösung: (c + 21 (1 + 1), c + 12 (2 + 22 ), . . . , c + 12 (n + n2 ), . . .) • Bestimme c: g1 = 2 = c + 21 2, c = 1 • Geschlossene Form: gn = 21 (n2 + n + 2) ∀n ∈ N • Überprüfung: gn−1 + n = 12 ((n − 1)2 + (n − 1) + 2) + n = 12 (n2 − 2n + 1 + n + 1 + 2n) = 12 (n2 + n + 2) = gn 3.13 , g1 = 2. Bemerkung Wir haben geschlossene Formen für die Glieder gewisser linearer Rekursionen erhalten durch Lösung unendlicher linearer Gleichungssysteme. Anderer Ansatz: Differenzengleichungen Differenzoperator ∆: Jeder Folge von (reellen) Zahlen (a1 , a2 , a3 , . . .) ordnet ∆ die Folge (a2 − a1 , a3 − a2 , a4 − a3 , . . .) zu. ∆an = an+1 − an . ∆2 an = ∆(∆an ) = ∆(an+1 −an ) = an+2 −an+1 −(an+1 −an ) = an+2 −2an+1 +an Allgemein gilt: ∆k an = an+k − k k an+k−1 + an+k−2 − . . . + (−1)k an 1 2 Jede Gleichung xn+k + d1 xn+k−1 + . . . + dk xn = f (n + k), sich schreiben in der Form n = 1, 2, . . . lässt ∆k xn + d˜1 ∆k−1 xn + . . . + d˜k−1 ∆xn + d˜k xn = f (n + k). Dies nennt man Differenzengleichung. Es existieren formale Ähnlichkeiten zu Differentialgleichungen. KAPITEL 3. REKURSIONEN 34 Die Theorie der Differenzengleichungen ähnelt in den Anfangsgründen der Theorie der linearen Differentialgleichungen und liefert auch die in diesem Kapitel angegebenen Aussagen. Näheres dazu z.B. in: J. Sandefur: Discrete Dynamical Modelling, Oxford University Press, 1993 E.S. Page, L.B. Wilson: An Introduction to Computational Combinatorics, Cambridge Comp. Sc. Texts 9, 1979 Kapitel 4 Erzeugende Funktionen Jeder Folge a0 , a1 , a2 , . . . von reellen Zahlen ordnen wir ein algebraisches Objekt ∞ P zu, nämlich die formale Potenzreihe a0 + a1 t + a2 t2 + . . . = a i ti . i=0 Was sind formale Potenzreihen? Definition: a) Eine formale Potenzreihe über K = R oder C ist ein Ausdruck der Form Φ(t) = ∞ X i=0 a i ti , a i ∈ K Falls ein n existiert mit ak = 0 für alle k > n, so schreibt man auch Φ(t) = n X a i ti (formales) Polynom i=0 b) Zwei formale Potenzreihen Φ(t) = Ψ(t) = ∞ P i=0 ∞ P a i ti , b i ti i=0 sind gleich, falls ai = bi ∀i ∈ N0 . c) Die Menge aller formalen Potenzreihen wird mit K [[t]] (Menge aller Polynome K[t]) bezeichnet. Auf K [[t]] lässt sich Addition und Multiplikation definieren: (Φ + Ψ) (t) = Φ(t) + Ψ(t) ∞ P (ai + bi )ti = i=0 und (Φ · Ψ)(t) = Φ(t) · Ψ(t) = a0 b0 + (a1 b0 + a0 b1 )t + (a2 b0 + a1 b1 + a0 b2 )t2 + . . . ∞ P = c i ti , i=0 35 36 KAPITEL 4. ERZEUGENDE FUNKTIONEN wobei ci = i P aj bi−j , i = 0, 1, 2, . . . (Faltung). j=0 (Ausmultiplizieren und nach Potenzen von t umsortieren). 4.1 Bemerkung a) Mit + und · wird K[[t]] ein kommutativer Ring mit Eins. Bzgl. + ist K[[t]] kommutative Gruppe, Nullelement 0 (ai = 0, ∀i ∈ N0 ) Bzgl. · gilt Assoziativgesetz, Kommutativgesetz, neutrales Element 1 (a0 = 1, ai = 0, ∀i ≥ 1). Ferner gilt das Distributivgesetz. b) Mathematisch exakte Definition von K[[t]]: K[[t]] ist die Menge aller Folgen (a0 , a1 , a2 , . . .), ai ∈ R mit Verknüpfungen + und ·. (a0 , a1 , a2 , . . .)+(b0 , b1 , b2 , . . .) := (a0 + b0 , a1 + b1 , a2 + b2 , . . .) (a0 , a1 , a2 , . . .) · (b0 , b1 , b2 , . . .) := (c0 , c1 , c2 , . . .), i P wobei ci = aj bi−j . j=0 Setzt man t := (0, 1, 0, . . .), so ist t2 = (0, 0, 1, . . .), . . . , ti = (0, 0, . . . , 0, |{z} 1 , 0, . . .) i Definiert man t0 := (1, 0, 0, . . .) und a · (a0 , a1 , a2 , . . .) = (a · a0 , a · a1 , a · a2 , . . .), a ∈ K, so ist (a0 , a1 , a2 , . . . , an , 0, . . .) = a0 (1, 0, 0, . . .) + a1 (0, 1, 0, . . .) + . . . + an (0, 0, . . . , 0, |{z} 1 , 0, . . .) n = t 0 + a 1 t + a 2 t2 + . . . + a n tn ~ n P ai ti Polynom = i=0 Man schreibt dann abkürzungsweise: ∞ P a i ti (a0 , a1 , a2 , . . .) = i=0 Wann ist die formale Potenzreihe Φ(t) invertierbar (bzgl. ·)? D.h. wann existiert Ψ(t) mit Φ(t) · Ψ(t) = 1(+0t + 0t2 + . . .)? 4.2 Satz a) Φ(t) · Ψ(t) = 0 ⇔ Φ(t) = 0 oder Ψ(t) = 0. (K[[t]] ist nullteilerfrei) ∞ P b) Φ(t) = ai ti ist genau dann invertierbar, falls a0 6= 0. i=0 Schreibweise in diesem Fall für die Inverse: Φ(t)−1 bzw. 1 . Φ(t) 37 KAPITEL 4. ERZEUGENDE FUNKTIONEN Beweis: ∞ P a) Zu zeigen: Ist Φ(t) = ai ti 6= 0 und Ψ(t) = i=0 Φ(t) · Ψ(t) 6= 0. ∞ P i=0 bi ti 6= 0, so ist Sei n minimal mit an 6= 0, m minimal mit bm 6= 0. Koeffizient von tn+m in Φ(t) · Ψ(t) : n+m X ai |{z} i=0 bn+m−i | {z } = 0, falls i < n b) Gesucht ist Inverse Ψ(t) = ∞ P = an bm 6= 0. = 0, falls i > n bi ti zu Φ(t) i=0 Ψ(t) existiert ⇔ Φ(t) · Ψ(t) ⇔ 1 = 1 ∞ P = c i ti , i=0 wobei ci = i P aj bi−j . j=0 ⇔ 1 = c0 = a 0 b0 i P = aj bi−j 0 = ci für i ≥ 1 j=0 ⇔ b0 bi a−1 0 = = −a−1 0 i P aj bi−j j=1 für i ≥ 1 (Rekursive Definition für die bi ) 4.3 Beispiele a) (1 − αt)−1 = ∞ P αi ti , i=0 α ∈ R, denn (1 − αt)(1 + αt + α2 t2 + . . .) = 1 + 0t + 0t2 + . . . ∞ P 1 = ti α= 1: 1−t i=0 ∞ P 1 = (−1)i ti α=−1: 1+t i=0 b) k ∈ N (1 − αt)−k := (1 − αt)−k = inf Pty i=0 (1 − αt)−1 ∞ P i i k a) = αt i=0 αi k { ∞ P z i1 i2}| i1 i 2.3) P α α ...α t = i=0 (i1 , . . . , ik ) i1 + . . . + ik = i, ij ≥ 0 k+i−1 i αi ti . 38 KAPITEL 4. ERZEUGENDE FUNKTIONEN Definition: a) Für r ∈ R, n ∈ N ist der verallgemeinerte Binomialkoeffizient r(r − 1) . . . (r − n + 1) r r und := := 1 n! n 0 (Falls r ∈ N stimmt diese Definition mit der von Kap. 2 überein!) b) Definiere (1 + αt)r := ∞ P i=0 r i αi ti Ist r ∈ N, so stimmt dies mit der normalen binomischen Formel überein. ∞ P k+i−1 (−1)i αi ti Ist r = −k, k ∈ N, so ist nach 4.3b) (1 + αt)−k = i i=0 −k i (−k)(−k − 1) . . . (−k − i + 1) k(k + 1) . . . (k + i − 1) = = (−1)i = i! i! (−1)i k+i−1 i Also stimmt diese Definition für r ∈ Z \ N0 mit 4.3b) überein. 4.4 Proposition a) (1 + αt)r (1 + αt)s = (1 + αt)r+s , ∀α, r, s ∈ R b) ((1 + αt)r )−1 = (1 + αt)−r Beweis: etwas mühsames Nachrechnen [Teil b) folgt aus a)] 4.5 Bemerkung Nach 4.4a) gilt 1 1 1 (1 + αt) 2 · (1 + αt) 2 = (1 + αt), d.h. (1 + αt) 2 = Wurzel aus (1 + αt); die andere Lösung ist − ∞ P 1 2 i i=0 ∞ P i=0 αi ti . 1 2 i αi ti ist tatsächlich Weitere gibt es nicht. Φ(t)2 = Ψ(t)2 ⇒ 0 = Φ(t)2 − Ψ(t)2 = (Φ(t) − Ψ(t)) · (Φ(t) + Ψ(t)). K[[t]] nullteilerfrei, (4.2a), also Φ(t) = Ψ(t) oder Φ(t) = −Ψ(t). Jetzt benötigen wir noch eine weitere Operation mit formalen Potenzreihen, nämlich die Komposition von Potenzreihen. Sie ist allerdings nur in Spezialfällen möglich. ∞ ∞ X X Φ(t) = ai ti , Ψ(t) = b i ti i=0 i=0 !? Wir wollen definieren: (Φ ◦ Ψ)(t) = Φ(Ψ(t)) = ∞ P i=0 ai Ψ(t)i 39 KAPITEL 4. ERZEUGENDE FUNKTIONEN Problem: Jedes der Ψ(t)i = ( ∞ P bj tj )i kann von Null verschiedene konstante j=0 Terme haben, diese müssten alle addiert werden! Dieses Problem tritt in 2 Fällen nicht auf: 1.Fall: Ist Φ(t) ein Polynom (d.h. am = 0 für alle m ≥ n, n geeignet), dann ∞ n−1 P P √ ist ai Ψ(t)i = ai Ψ(t)i i=0 i=0 2.Fall: b0 = 0 Dann sind die Koeffizienten von t0 , . . . , ti−1 in Ψ(t)i = ( ∞ X b j tj )i = j=0 ∞ X j=0 c j tj , c j = X b l1 . . . b li (l1 , . . . , li ) l1 + . . . + l i = j alle gleich Null, denn in bl1 . . . bli tritt mindestens einmal b0 auf. ∞ P ai Ψ(t)i zu bestimmen, muss man nur Um den Koeffizienten von tk in i=0 die Koeffizienten von tk der endlich vielen Potenzreihen a0 Ψ(t)0 , a1 Ψ(t)1 , . . . , ak Ψ(t)k addieren. Zusammenfassend 4.6 Definition Sind Φ(t) = ∞ P ai ti und Ψ(t) = ∞ P bi ti Potenzreihen, so ist die Komposition i=0 i=0 (Φ ◦ Ψ)(t) = Ψ(Φ(t)) := ∞ X ai (Ψ(t))i wohldefiniert, i=0 falls Φ(t) ein Polynom oder b0 = 0 ist. 4.7 Proposition Ist Φ(t) = ∞ P ai ti und Ψ(t) = i=0 Beweis: Nachrechnen. Beispiel: • Φ(t) = 1 − t ∞ P i=0 bi ti mit a0 6= 0 und b0 = 0, so ist (Φ ◦ Ψ)(t)−1 = (Φ−1 (Ψ(t))). 40 KAPITEL 4. ERZEUGENDE FUNKTIONEN • Φ−1 (t) = 1 + t + t2 + t3 + . . . (4.3a) • Ψ(t) = t2 • (Φ ◦ Ψ)(t) = 1 − t2 • (Φ ◦ Ψ)−1 (t) = 1 1−t2 = 1 + t 2 + t4 + t6 + . . . = ∞ P t2i i=0 Definition: Die erzeugende Funktion einer Folge a0 , a1 , a2 , . . . von reellen Zahlen ist die for∞ P male Potenzreihe a i ti . i=0 Achtung: Die Potenzreihe ist keine Funktion; Begriff ist historisch bedingt! 4.8 Beispiele a) Sei n ∈ N. Sei ai die Anzahl der Möglichkeiten aus einer Menge mit n Elementen iverschiedene Elemente (ohne Wdh.) auszuwählen. 2.2) ai = ni (also ai = 0 für i > n). Erzeugende Funktion für a0 , a1 , . . . Φ(t) = ∞ X i ai t = i=0 b) Betrachte (1 + t + t2 )4 = 8 P n X n i=0 i ti = (1 + t)n a i ti . i=0 Was ist die Bedeutung der ai ? (1 + t + t2 )(1 + t + t2 )(1 + t + t2 )(1 + t + t2 ) Koeffizient von t2 : ( 1 + 1 + 1} +1 + 1 + 1 + 1}) | + 1 {z | + 1 + 1 {z t2 aus einem der 4 Faktoren zwei t aus 2 Faktoren ai ist die Anzahl der geordneten Produkte te1 te2 te3 te4 , 0 ≤ ej ≤ 2, e1 + e2 + e3 + e4 = i. Also: ai = Anzahl der geordneten Tupel (e1 , e2 , e3 , e4 ), 0 ≤ ej ≤ 2 mit e1 + e2 + e3 + e 4 = i Z.B.: Auf wieviele Arten lässt sich 5 als geordnete Summe von 4 ganzen Zahlen ei , 0 ≤ ei ≤ 2, schreiben? Antwort: Koeffizienten von t5 in (1 + t + t2 )4 . • (1 + t + t2 )2 = 1 + 2t + 3t2 + 2t3 + t4 • (1 + t + t2 )4 = (1 + 2t + 3t2 + 2t3 + t4 )(1 + 2t + 3t2 + 2t3 + t4 ) • Koeff. von t5 : (2 + 6 + 6 + 2)t5 = 16t5 41 KAPITEL 4. ERZEUGENDE FUNKTIONEN • Also: 16 Möglichkeiten. 4.8b) lässt sich verallgemeinern: 4.9 Proposition Seien r, s ∈ N. Für i ∈ N0 sei ai die Anzahl der geordneten r-Tupel (e1 , . . . , er ), ej ∈ N0 , 0 ≤ ej ≤ s, j = 1, . . . , r mit e1 + . . . + er = i. Dann ist die erzeugende Funktion für a0 , a1 , . . . gerade (1 + t + t2 + . . . + ts )r (ai ist gleichzeitig die Anzahl der Auswahlen von i Elementen aus r vielen (mit Wiederholungen), wobei jedes Element höchstens s mal ausgewählt werden darf. Speziell: as = Anzahl aller Auswahlen von s Elementen aus r vielen mit Wie 2.3 derholung = r+s−1 ). s 4.10 Korollar Sei r ∈ N. Für i ∈ N0 sei ai die Anzahl der geordneten r-Tupel (e1 , . . . , er ) mit ei ∈ N0 , so dass i = e1 + . . . + er . Dann ist die erzeugende Funktion für a0 , a1 , . . . gerade die Potenzreihe !r ∞ ∞ X X r+i−1 i 1 i . = t = t (1 − t)r i i=0 i=0 Insbesondere ist ai = r+i−1 i (vgl. 2.3) ∞ r P i Beweis: Sei s ∈ N0 . Der Koeffizient von t in t ist der gleiche wie der i=0 Koeffizient von ts in (1+t+. . .+ts )r , also r+s−1 nach 4.9. Rest der Behauptung s folgt aus 4.3b). 4.11 s Bemerkung Entscheidend für 4.10 ist folgendes: Ist ∞ X Φv (t) = av,i ti , v = 1, . . . , r, i=0 so Φ1 (t) · . . . · Φr (t) = ∞ X i=0 b i ti 42 KAPITEL 4. ERZEUGENDE FUNKTIONEN mit bi = X a1,e1 · . . . · ar,er (e1 , . . . , er ) ei ∈ N 0 e1 + . . . + e r = i 4.10 ist der Spezialfall Φ1 (t) = . . . = Φr (t), av,i = 1 ∀v, i. Dann zählt bi die Anzahl der r-Tupel (e1 , . . . , er ), ej ∈ N0 , mit e1 + . . . + er = i. Solche Zählprobleme lassen sich auch dann mit diesem Ansatz lösen, wenn die ei gewissen Einschränkungen unterworfen sind. Wenn z.B. e1 nicht alle Werte aus N0 , sondern nur Werte aus einer Teilmenge M ⊆ N0 annehmen darf, dann setzt man in Φ1 (t) die Koeffizienten a1,j = 0, falls j ∈ N0 \ M und a1,j = 1, falls j ∈ M . bi zählt dann nur die r-Tupel (e1 , . . . , er ), wo e1 ∈ M . Wir verdeutlichen dies an zwei Beispielen. 4.12 Beispiel Sei k ∈ N0 . Wie groß ist die Anzahl bi der 4-Tupel (e1 , e2 , e3 , e4 ) mit e1 + . . . + e4 = k, ei ∈ N0 , wobei e2 ≥ 2, e3 gerade, e4 ≤ 3? Nach 4.11 erhält man die erzeugende Funktion von (b0 , b1 , b2 , . . .) in der folgenden Form: (1 + t + t2 + . . .) · (t2 + t3 + . . .) · (1 + t2 + t4 + t6 + . . .) · (1 + t + t2 + t3 ) 1 t2 1 t2 · (1 + t + t2 + t3 ) 4.7 2 3 = · · · (1 + t + t + t ) = 1 − t 1 − t 1 − t2 (1 − t)3 (1 + t) ∞ P t2 (1 + t2 ) 4.3b) i+2 i = = (t2 + t4 ) · t i 3 (1 − t) i=0 ∞ ∞ i P P i−2 i = t2 + 3t3 + t = (i2 − 3i + 3)ti i−4 + i−2 i=4 i=2 Bsp. k = 7. Koeffizient von t7 : 72 − 3 · 7 + 3 = 31. Beachte: bi ist auch genau die Anzahl der Möglichkeiten aus einer Menge von 4 Elementen {a1 , a2 , a3 , a4 } i Elemente auszuwählen (mit Wiederholung, ohne Berücksichtigung der Anordnung), wobei a2 mindestens zweimal gewählt werden muss, a3 nur in einer geraden Anzahl und a4 höchstens 3-mal. 4.13 Beispiel Auf wieviele Weisen lässt sich ein 1-Euro-Stück in 1-,2-,5-,10-,20- und 50-CentMünzen wechseln (wenn von jeder Sorte unbegrenzt viele zur Verfügung stehen)? Allgemein: Gegeben: k ∈ N0 (bei uns k = 100). Gesucht: Anzahl fk aller 6-Tupel (e1 , . . . , e6 ) mit e1 + . . . + e6 = k, ei ∈ N0 , e2 gerade, e3 durch 5 teilbar, e4 durch 10 teilbar, e5 durch 20 teilbar, e6 durch 50 teilbar. 43 KAPITEL 4. ERZEUGENDE FUNKTIONEN Nach 4.11 ist die erzeugende Funktion für (f0 , f1 , . . .) gegeben durch (1 + t + t2 + . . .) · (1 + t2 + t4 + . . .) · (1 + t5 + t10 + . . .) · (1 + t10 + t20 + . . .) · (1 + t20 + t40 + . . .) · (1 + t50 + t100 + . . .) 1 1 1 1 1 1 = · · · · · . 1 − t 1 − t2 1 − t5 1 − t10 1 − t20 1 − t50 Es ist 1 1−t = 1 (1 − t)(1 − t2 ) 1 (1 − t)(1 − t2 )(1 − t5 ) 1 2 (1 − t)(1 − t )(1 − t5 )(1 − t10 ) 1 (1 − t)(1 − t2 )(1 − t5 )(1 − t10 )(1 − t20 ) 1 (1 − t)(1 − t2 )(1 − t5 )(1 − t10 )(1 − t20 )(1 − t50 ) = = = = = ∞ P n=0 ∞ P n=0 ∞ P n=0 ∞ P n=0 ∞ P n=0 ∞ P tn b n tn c n tn d n tn e n tn f n tn n=0 Wir wollen f100 bestimmen! ∞ ∞ X X 1 = (1 − t2 ) b n tn = b 0 + b 1 t + (bn − bn−2 )tn 1−t n=0 n=2 Also: b0 bn ∞ P n=0 b n tn = b1 = 1 = bn−2 + 1 für n ≥ 2 = (1 − t5 ) ∞ P c n tn n=0 = c 0 + c 1 t + c 2 t2 + c 3 t3 + c 4 t4 + ∞ P n=5 (cn − cn−5 )tn cn cn = bn = bn + cn−5 0≤n≤4 n≥5 dn dn = cn = cn + dn−10 0≤n≤9 n ≥ 10 en en = dn = dn + en−20 0 ≤ n ≤ 19 n ≥ 20 fn fn = en = en + fn−50 0 ≤ n ≤ 49 n ≥ 50 44 KAPITEL 4. ERZEUGENDE FUNKTIONEN Dazu beachten wir, dass bn = b n2 c + 1, denn richtig für n = 0, 1 und b n−2 2 c+ 1 + 1 = b n2 c + 1, also: cn = b n2 c + 1, 0 ≤ n ≤ 4, cn = b n2 c + 1 + cn−5 , n ≥ 5. n cn dn en fn 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 1 4 10 18 29 42 58 76 97 120 146 174 205 238 274 312 353 396 442 490 1 11 40 98 195 341 546 820 1173 1615 1 11 41 109 236 450 782 1955 1 451 100 541 2156 4111 4562 Es gibt 4562 Möglichkeiten. Wir wollen jetzt zeigen, wie erzeugende Funktionen eingesetzt werden können, um eine geschlossene Form für die Catalan-Zahlen zu erhalten. 4.14 Beispiel Catalan-Zahlen (vgl. 3.1f) n P Rekursionsgleichung: Cn = Ci Cn−i , n > 1, C0 = 0, C1 = 1. Sei Φ(t) = ∞ P i=0 n Cn t erzeugende Funktion. n=0 Die Rekursionsgleichung zeigt sofort: Koeffizienten von t2 , t3 , . . . in Φ(t) stimmen mit den entsprechenden Koeffizienten in Φ(t)2 überein. Aber: Φ(t)2 hat Koeffizient 0 bei t, da C0 = 0. Also: Φ(t) = Φ(t)2 + t. 1 1 1 − 4t Es folgt: (Φ(t) − )2 = − t = . 2 4 4 Nach 4.5 ist ∞ 1 1 1 P 1 − 4t 1 2 (−4)n tn = ± Φ(t) − = ±( )2 2 2 n=0 n 4 ∞ P 1 1 n n n 2 Φ(t) = 1± n (−1) 4 t 2 n=0 Koeffizientenvergleich bei t0 : 0= 12 (1 ± 1), also Minuszeichen. ∞ P 1 n n n 2 Φ(t) = 12 1 − . n (−1) 4 t n=0 n≥1: Cn = − = 1 2 1 2 n 4n 1 1 3 2n − 3 1 (−1)n 4n = (− ) · ( ) · (− ) · (− ) · . . . · (− ) ·(−1)n 2 |2 2 2{z 2 } n! 1 · 3 · . . . · (2n − 3)4n 2n+1 n! n Terme 45 KAPITEL 4. ERZEUGENDE FUNKTIONEN Was ist 1 · 3 · . . . · (2n − 3)? (2n − 2)! = 1 · 3 · . . . · (2n − 3) · 2 · 4 · . . . · (2n − 2). | {z } =2n−1 (n−1)! (2n − 2)! . Also: 1 · 3 · . . . · (2n − 3) = n−1 2 (n − 1)! (2n − 2)!22n (2n − 2)! 1 Daher: Cn = n+1 n−1 = = 2 2 (n − 1)!n! (n − 1)!n! n 4.15 2n−2 n−1 Bemerkung Anstelle der üblichen erzeugenden Funktion für Folge (an ), oft die exponentiell erzeugende Funktion ∞ P n=0 ∞ P an tn , wird auch n=0 n an tn! betrachtet. ∞ n X t =: exp(t) Bezeichnung: n! n=0 ! Die werden verwendet, wenn es um Anzahlaussagen für Auswahlen mit Berücksichtigung der Anordnung geht (vgl. 4.10-4.13: Auswahl ohne Berücksichtigung der Anordnung). Näheres hierzu z.B. im Buch von P. Tittmann. Kapitel 5 Rekursionen erster Ordnung und die Methode der Summationsfaktoren In diesem kurzen Abschnitt sollen Rekursionen der Form ~ an = f (n) · an−1 + g(n), n ∈ N (a0 gegeben) behandelt werden. Diese Relationen 1. Ordnung sind linear, aber die Koeffizienten f (n) sind (ebenso wie die Inhomogenitäts-Terme“ g(n)) nicht notwendigerweise konstant, son” dern von n abhängig. Daher sind die Methoden aus Abschnitt 3 nicht anwendbar. Wir setzen für das Folgende voraus, dass f (n) 6= 0 für alle n ∈ N. Wir zeigen, dass sich die Rekursionsglieder an dann als Summe schreiben lassen, die sich in vielen Fällen einfach auswerten lässt. Dazu bestimmt man sog. Summationsfaktoren sn , die die Gleichungen ~~ f (n) · sn = sn−1 , n ∈ N erfüllen. Es ist klar, dass bei Wahl von s0 die sn , n ∈ N, dann eindeutig bestimmt sind. Wir setzen s0 = 1 und erhalten dann ~~~ . sn = 1 f (1) · . . . · f (n) Wozu dient die Wahl der Summationsfaktoren mit der Eigenschaft ~~? Multipliziert man ~ mit sn , so erhält man 46 KAPITEL 5. REKURSIONEN ERSTER ORDNUNG UND SUMMATIONSFAKTOREN47 sn an = sn f (n)an−1 + sn g(n), d.h. sn an = sn−1 an−1 + sn g(n) für n ∈ N... Setzt man Sn = sn an , so gilt also Sn = Sn−1 + sn g(n) für n ∈ N . S0 = s 0 a 0 = a 0 ~~~~ Diese Rekursion für die Sn führt unmittelbar zu einer Summendarstellung für die Sn : Sn = Sn−1 + sn g(n) = Sn−2 + sn−1 g(n − 1) + sn g(n) = . . . = S0 + s1 g(1) + . . . + sn g(n), d.h. wegen S0 = a0 n P si g(i) Sn = a 0 + i=1 Wegen Sn = an sn ergibt sich hieraus n an = a0 X si + g(i), n ∈ N. sn i=1 sn Wir fassen zusammen: 5.1 Satz Für eine Rekursion an = f (n)an−1 + g(n) für n ≥ 1, a0 gegeben, gilt unter der Voraussetzung f (n) 6= 0 für alle n ∈ N: an = wobei si = a0 sn + n−1 P si g(i) sn i=1 1 f (1)·...·f (i) (für alle n ∈ N), . Oft lassen sich Rekursionen auf die in 5.1 behandelte Form bringen. Wir beschreiben einen solchen Fall: 5.2 Satz Sei an = c(n) + d(n) · ist n−1 P i=1 ai , n ∈ N, a0 gegeben. Ist d(n) 6= 0 für alle n ∈ N, so a1 = d(1) · a0 + c(1) und an = für alle n ≥ 2. d(n)(1 + d(n − 1)) d(n − 1) an−1 + c(n)d(n − 1) − c(n − 1)d(n) d(n − 1) KAPITEL 5. REKURSIONEN ERSTER ORDNUNG UND SUMMATIONSFAKTOREN48 Ist also zusätzlich d(n) 6= −1 für alle n ∈ N, so sind mit f (1) = d(1), f (n) = und g(1) = c(1), g(n) = d(n)(1 + d(n − 1)) d(n − 1) für n ≥ 2 c(n)d(n − 1) − c(n − 1)d(n) d(n − 1) für n ≥ 2 die Voraussetzungen von 5.1 erfüllt, und die an lassen sich entsprechend der in 5.1 angegebenen Summenformel bestimmen. Beweis: Sei n ≥ 2. Dann ist wegen d(n) 6= 0 6= d(n − 1) n−1 c(n) X an = + ai d(n) d(n) i=0 und n−2 an−1 c(n − 1) X = + ai d(n − 1) d(n − 1) i=0 Subtraktion der 2. Gleichung von der ersten liefert an−1 c(n) c(n − 1) an − = − + an−1 . d(n) d(n − 1) d(n) d(n − 1) Durch Umformung folgt die Behauptung des Satzes. 5.3 Beispiel Durchschnittliche Komplexität von Quicksort (vgl. 3.1e). In 3.1e) hatten wir die durchschnittliche Anzahl von Vergleichen, die beim Algorithmus Quicksort zum Sortieren einer Liste der Länge n benötigt werden, mit Qn bezeichnet und folgende Rekursion hergeleitet: Qn = n − 1 + n−1 2X Qi , n i=0 n ≥ 1, Q0 = 0. Diese Rekursion hat also die in 5.2 behandelte Form mit c(n) = n − 1 und d(n) = n2 für n ∈ N. Es gilt also d(n) 6= 0, −1 für alle n ∈ N. Daher ist 5.2 und dann 5.1 anwendbar. Es ist d(n)(1 + d(n − 1)) = d(n − 1) 2 n (1 + 2 n−1 ) 2 n−1 = (n − 1)(n + 1) n+1 = n(n − 1) n und 2 (n − 1) n−1 − n2 (n − 2) 2(n − 1) c(n)d(n − 1) − c(n − 1)d(n) = = . 2 d(n − 1) n n−1 KAPITEL 5. REKURSIONEN ERSTER ORDNUNG UND SUMMATIONSFAKTOREN49 Da auch d(1) = 2 = Qn = 1+1 2(1 − 1) und c(1) = 0 = , gilt also nach 5.2 1 1 2(n − 1) n+1 · Qn−1 + n n für alle n ∈ N, Q0 = 0. n+1 2(n − 1) Wir wenden jetzt 5.1 an mit f (n) = und g(n) = . Für die n n Summationsfaktoren sn ergibt sich dann 1 = f (1) · . . . · f (n) sn = 2 1 · 3 2 1 · ...· n+1 n = 1 n! = (n + 1)! n+1 Mit Q0 = 0 folgt dann aus 5.1 Qn = n X n + 1 2(i − 1) · , d.h. i+1 i i=1 Qn = 2(n + 1) · n−1 X k=0 k für alle n ∈ N. (k + 2)(k + 1) Die hier auftretende Summe lässt sich vereinfachen: Wegen n−1 P k=0 1 1 1 = − ist (k + 2)(k + 1) (k + 1) (k + 2) n−1 n−1 n−1 n−1 P k P k P k P k + 1 n−1 P 1 k = − = − + (k + 2)(k + 1) k + 1 k + 2 k + 1 k + 2 k=0 k=0 k=0 k=0 k=0 k + 2 n−1 n−2 P 1 P 1 n n 1 =− + =− + + n + 1 k=0 k + 2 n + 1 n + 1 k=0 k + 2 n P 1 1−n 2n = + −1 =− + Hn , n + 1 k=1 k n+1 wobei Hn = n P k=1 1 k die n-te harmonische Zahl bezeichnet. Es folgt dann Qn = 2(n + 1) · Hn − 4n. Da Hn ∼ log n (vgl. Bsp. nach 1.4), ist Qn = O(n · log n). Die durchschnittliche Komplexität von Quicksort, Qn = (n · log n), ist also deutlich besser als seine Worst-Case-Komplexität n(n−1) = O(n2 ). 2 Im letzten Beispiel dieses Abschnitts zeigen wir, dass auch andere Rekursionen als die in 5.2 betrachteten durch geeignete Umformungen auf eine Form gebracht werden können, auf die 5.1 anwendbar ist. 5.4 Beispiel Anzahl der fixpunktfreien Permutationen. Zur Erinnerung: Eine Permutation einer (endlichen) Menge M ist eine bijektive Abbildung von M auf M. Im folgenden sei M = {1, . . . , n}. Eine Permutation π : M → M beschreiben wir in der Form KAPITEL 5. REKURSIONEN ERSTER ORDNUNG UND SUMMATIONSFAKTOREN50 1 π(1) 2 ... n π(2) . . . π(n) Nach 2.1c) gibt es genau n! viele Permutationen auf M. Eine Permutation heißt fixpunktfrei, falls π(i) 6= i für alle i = 1, . . . , n. Die Anzahl der fixpunktfreien Permutationen von M bezeichnen wir mit Dn . (Die Bezeichnung kommt daher, dass fixpunktfreie Permutationen auch Derangements genannt werden.) Wir wollen eine Rekursionsformel für die Dn herleiten. Klar: D1 = 0, D2 = 1. Wir setzen D0 = 1. Sei n ≥ 3. Ist π eine fixpunktfreie Permutation auf {1, . . . , n}, so kann π(1) eines der Elemente 2, . . . , n sein. Sei π(1) = i. 1. Fall: π(i) = 1, dh. 1 ... i ... n π = i . . . 1 . . . π(n) Dann können die Zahlen k 6= 1, i auf alle Arten fixpunktfrei permutiert werden, d.h. es gibt Dn−2 viele solcher Permutationen. 2. Fall: π(i) 6= 1, dh. 1 ... i ... n π = i . . . π(i) 6= 1 . . . π(n) 1 Ersetzen wir in der oberen Zeile i durch 1 und lassen die erste Spalte“ weg, ” i so erhalten wir offenbar eine fixpunktfreie Permutation auf {1, . . . , n} \ {i}. Umgekehrt liefert jede solche fixpunktfreie Permutation π̃ auf {1, . . . , n} \ {i} eine fixpunktfreie Permutation π auf {1, . . . , n} mit π(1) = i und π(i) 6= 1, indem wir π(1) = i, π(i) = π̃(1) und π(k) = π̃(k) für k 6= 1, i setzen. Also gibt es genau Dn−1 viele fixpunktfreie Permutationen, die in Fall 2 betrachtet werden. Für festes i ∈ {2, . . . , n} gibt es also Dn−2 + Dn−1 viele fixpunktfreie Permutationen π auf {1, . . . , n} mit π(1) = i. Insgesamt ist also ~ Dn = (n − 1) · (Dn−1 + Dn−2 ). Dies gilt auch für n = 2, da wir D0 = 1 gesetzt haben. Wir bringen diese Rekursionsformel auf eine Form, auf die 5.1 anwendbar ist. Aus ~ folgt: ~ Dn − nDn−1 = −(Dn−1 − (n − 1)Dn−2 ) ~ = Dn−2 − (n − 2)Dn−3 .. . ~ = (−1)n−1 (D1 − D0 ) = (−1)n KAPITEL 5. REKURSIONEN ERSTER ORDNUNG UND SUMMATIONSFAKTOREN51 Die letzte Gleichung gilt wegen D1 = 0 und D0 = 1. Also ist Dn = nDn−1 + (−1)n für alle n ≥ 2 und sogar für n ≥ 1, wie man sofort sieht. Diese Rekursion ist jetzt vom Typ, der in 5.1 betrachtet wurde. In den dortigen Bezeichnungen ist f (n) = n und g(n) = (−1)n . Für die Summationsfaktoren ergibt sich dann 1 sn = n! . Wegen D0 = 1 folgt dann aus 5.1 Dn = n! + n X n! i=1 also i! i (−1) = n! 1 + i=1 Dn = n! n X (−1)i i=0 oder n X (−1)i i! i! ! , , n X (−1)i Dn = . n! i! i=0 Aus der Analysis weiss man, dass n P i=0 (−1)i n→∞ 1 −→ e . i! 1 Man kann sogar zeigen, dass |Dn − n! e | < 2. n! Also ist Dn die nächste ganze Zahl zu e . Insbesondere ist (für n > 1) mehr als ein Drittel aller Permutationen auf {1, . . . , n} fixpunktfrei. Die Wahrscheinlichkeit, bei zufälliger Zuordnung n Briefe in n adressierte Umschläge zu stecken, dass kein Brief im richtigen Umschlag steckt, ist also größer als 31 . Kapitel 6 Geordnete Mengen Definitionen: a) Eine binäre Relation R auf einer Menge M ist eine Teilmenge von M×M. Ist (a, b) ∈ R, so schreibt man aRb b) Eine Relation R auf M heißt • reflexiv, falls aRa ∀a ∈ M (enthält alle Paare (a, a) ∈ M) • antisymmetrisch, falls ∀a, b ∈ M gilt: ist aRb und bRa, so ist a = b • transitiv, falls ∀a, b, c ∈ M gilt: ist aRb und bRc, so ist aRc. c) Eine reflexive, antisymmetrische, transitive Relation heißt Ordnungsrelation (Ordnung) auf M. Eine Menge M mit Ordnungsrelation R heißt geordnete Menge (M, R). (In der Regel schreibt man ≤ statt R). Ist a ≤ b und a 6= b, so schreibt man a < b. d) Ist (M, ≤) geordnete Menge, a ≤ b, so ist [a, b] = {c ∈ M|a ≤ c und c ≤ b} e) Ist (M, ≤) geordnete Menge und gilt ∀a, b ∈ M : a ≤ b oder b ≤ a, so nennt man (M, ≤) eine total (oder vollständig) geordnete Menge, oder eine Kette. 6.1 Beispiele a) (Z, ≤) ist total geordnete Menge b) (N, |) mit Teilerrelation | ist geordnete Menge (nicht total geordnet!) c) Sei A Menge, (P(A), ⊆) geordnete Menge (nicht total geordnet, falls |A| ≥ 2) 52 53 KAPITEL 6. GEORDNETE MENGEN d) Sei A eine Menge. Eine Partition von A ist {A1 , . . . , Ar }, Ai ⊆ A, Ai 6= ∅, Ai ∩ Aj = ∅ ∀i, j = 1, . . . , r, A1 ∪ . . . ∪ Ar = A (Ai heißen die Blöcke der Partition). Eine Partition π = {A1 , . . . , Ar } heißt Verfeinerung der Partition σ = {B1 , . . . , Bs }, falls jedes Ai in einem Bj enthalten ist. D.h. jedes Bj ist Vereinigung einiger Ai . Schreibweise: π σ. B1 A2 B2 A1 A5 Menge aller Partitionen von A : P (A) B3 A3 A6 B4 A4 (P (A), ) geordnete Menge. Jede endliche geordnete Menge (M, ≤) lässt sich durch einen gerichteten Graph veranschaulichen (Hasse-Diagramm): • Ecken des Graphen sind die Punkte von M • Ecke a ist mit Ecke b verbunden, falls a Vorgänger von b ist bzgl. ≤ (a ist Vorgänger von b: a < b und es gibt kein c < b mit a < c < b; Schreibweise: a l b) Darstellung: Größere Elemente oberhalb von den Kleineren. Dann kann man Pfeile an den Kanten weglassen. 6.2 Beispiele a) M = {a, b, c, d, e, f } a < c < e; b < d < e ; b < f ; d < f a<e ; b < d < f; b < e; c < e ; alc af [b, f ] = {b, d, f }, . . . b) M = {1, 2, 3, 4, 5}, übliche ≤-Relation e c d a b f Abbildung 6.2a 5 4 3 2 1 Abbildung 6.2b c) M = {1, 2, . . . , 12}, {M, |} Vorgänger: a 6= b, a|b und es gibt kein c 6= a, b a|c, c|b d) A = {1, 2, 3}{P(A), ⊆} e) A = {1, 2, 3, 4}{P (A), }. Statt {{1, 2}, {3}, {4}} schreibe 1, 2/3/4 54 KAPITEL 6. GEORDNETE MENGEN {1,2,3} 8 {1,2} 12 {1,3} $% 10 {2,3} 4 6 9 {2} ! 5 "# 3 2 7 11 {3} {1} &' {} 1 Abbildung 6.2c Abbildung 6.2d DE 1,2,3,4 ,- () 1,2,3/4 ./ 1,2/3,4 @A *+ >? 1,2/3/4 01 1,2,4/3 45 1,4/2,3 <= 1,3,4/2 :; 1,3/2/4 1,4/2/3 23 1,3/2,4 89 2,3/1/4 2,3,4/1 67 2,4/1/3 3,4/1/2 BC 1/2/3/4 Abbildung 6.2e Definition: Sei (M, ≤) eine geordnete Menge a, b ∈ M. Eine obere Schranke von a, b ist ein c ∈ M mit a ≤ c und b ≤ c. Das Supremum (kleinste obere Schranke) für a, b ∈ M ist eine obere Schranke c ∈ M von a und b, so dass für jede weitere obere Schranke d von a und b gilt: c ≤ d Bezeichung: a ∨ b. Analog: Untere Schranke, Infimum (größte untere Schranke): a ∧ b. Beachte: • obere/untere Schranken brauchen nicht zu existieren • selbst wenn obere Schranken von a und b existieren, muss a ∨ b nicht existieren! Bsp: FG PQ NO d HI e JK a f LM b c Abbildung 6.3 • d und e sind obere Schranken von a und b 55 KAPITEL 6. GEORDNETE MENGEN • a ∨ b existiert nicht • b und c haben keine obere Schranke • a∨c=f Definition: Eine geordnete Menge (M, ≤), in der je zwei Elemente ein Supremum und ein Infimum besitzen, heißt Verband. Ist (M, ≤) ein endlicher Verband, so existiert ein eindeutig bestimmtes kleinstes Element (Nullelement), und es existiert ein eindeutig bestimmtes größtes Element (Einselement). Beachte: In Verbänden gilt: a ≤ b ⇔ a ∨ b = b ⇔ a ∧ b = a (In Verbänden lässt sich aus ∧ bzw. aus ∨ die Ordnung ablesen.) 6.3 Beispiele a) Jede total-geordnete Menge ist ein Verband (trivialerweise). b) Ist A eine Menge, so ist (P(A), ⊆) ein Verband. Er heißt Boole’scher Verband. ∧ entspricht ∩ und ∨ entspricht ∪. Nullelement: ∅, Einselement: A c) (N, |) ist ein Verband, ebenso für jedes n ∈ N (Tn , |), wobei Tn = {a ∈ N|a|n}. ∧ entspricht ggT, ∨ entspricht kgV. d) Ist A eine endliche Menge, so ist (P (A), ) ein Verband, der Partitionsverband von A. Sind π = {A1 , . . . , Ar } und σ = {B1 , . . . , Bs } Partitionen von A, so ist π ∧ σ = {Ai ∩ Bj |i = 1, . . . , r; j = 1, . . . , s; Ai ∩ Bj 6= ∅} π ∨ σ verhält sich folgendermaßen: Starte mit A1 . Setze C1 C2 C3 = A1 = C1 = C2 .. . ∪ ∪ ∪ S S{Bi |Bi ∩ A1 6= ∅} S{Aj |Aj ∩ C1 6= ∅} {Bi |Bi ∩ C1 6= ∅} solange bis sich keine Vergrößerung mehr ergibt, etwa bei Cn . Setze D1 = Cn . Gibt es dann noch ein Ak , das nicht in D1 enthalten ist (also per Konstruktion dann Ak ∩ D1 = ∅), so führe dieselbe Prozedur mit Ak anstelle A1 durch etc. 56 KAPITEL 6. GEORDNETE MENGEN Beispiel: π σ π∧σ π∨σ = = = = 12|3|45|678 1|23|4|57|68 1|2|3|4|5|68|7 123|45678 Definition: Sei (M, ≤) eine geordnete Menge. A(M, ≤) ist die Menge aller Funktionen f : M×M → C (statt C kann man auch einen beliebigen anderen Körper nehmen) mit der Eigenschaft f (a, b) = 0, falls a b. A(M, ≤) heißt die Inzidenzalgebra zu (M, ≤). Jedes Element f aus A(M, ≤) kann man als (|M| × |M|)-Matrix auffassen, wobei die Zeilen und Spalten durch Elemente von M indiziert sind und an der Stelle (a, b) ∈ M × M dann gerade f (a, b) steht. 6.4 Bemerkung A(M, ≤) ist abgeschlossen unter Addition von Funktionen (f + g)(a, b) = f (a, b) + g(a, b), und unter der Multiplikation, die sich aus der Matrizenmultiplikation ergibt, also X (f · g)(a, b) = f (a, c) · g(c, b) c∈M Ist nämlich a b und c ∈ M, so ist a c oder c b (wegen der Transitivität von ≤), als f (a, c) = 0 oder g(c, b) = 0; dann ist folglich (f · g)(a, b) = 0. Da f (a, c) = 0, falls a c und g(c, b) = 0, falls c b, muss man die Summe nur über alle c ∈ [a, b] laufen lassen. Das Produkt heißt auch Faltungsprodukt. Das neutrale Element δ bzgl. der Multiplikation entspricht der Einheitsmatrix, d.h. 1 , falls a = b δ(a, b) = 0 , falls a 6= b Eine besonders einfache Funktion in A(M, ≤) wird durch die folgende Definition angegeben: Definition: Die Zeta-Funktion ζ ∈ A(M, ≤) ist definiert durch 1 , falls a ≤ b ζ(a, b) = 0 , falls a b 57 KAPITEL 6. GEORDNETE MENGEN 6.5 Satz und Definition a) Die Zeta-Funktion ist bzgl. der Multiplikation invertierbar, d.h. es existiert µ ∈ A(M, ≤) mit ζ · µ = µ · ζ = δ. µ heißt die Möbius-Funktion auf (M, ≤). Für alle a, b ∈ M gilt: P 1 , falls a = b µ(a, c) = und 0 , falls a 6= b c∈[a,b] P µ(c, b) = c∈[a,b] 1 , falls a = b 0 , falls a = 6 b b) µ ist rekursiv definiert durch µ(a, a) = 1 µ(a, b) = 0 µ(a, b) = − P für alle a ∈ M für alle a, b ∈ M, a b für alle a, b ∈ M, a < b µ(a, c) c ∈ [a, b] c 6= b Insbesonders hängt µ(a, b) nur von ≤ auf [a, b] (und nicht auf ganz M) ab. c) Es ist µ(a, b) ∈ Z für alle a, b ∈ M und µ(a, b) = −1, falls a l b. Beweis: a)b) µζ = δ bedeutet, dass für alle a, b ∈ M gilt (vgl Bem. 6.4): X X 1 , falls a = b µ(a, c) = µ(a, c) ζ(c, b) = 0 , falls a 6= b | {z } c∈[a,b] c∈[a,b] =1 Die zweite Gleichung ist (analog) gleichwertig zu ζµ = δ. Da eine quadratische Matrix genau dann eine Rechtsinverse besitzt, wenn sie eine Linksinverse besitzt,muss man nur zeigen, dass ein µ ∈ A(M, ≤) P 1 , falls a = b existiert mit µ(a, c) = . 0 , falls a 6= b c∈[a,b] Man sieht sofort, dass die rekursive Definition in b) ein solches µ beschreibt. c) Folgt unmittelbar aus b) 6.6 Beispiele a) Betrachte wir in 6.3c) (T12 , |), also T12 = {1, 2, 3, 4, 6, 12}. Dann entspricht der Zeta-Funktion ζ auf (T12 , |) die Matrix 1 2 3 4 6 12 1 1 0 0 0 0 0 2 1 1 0 0 0 0 3 1 0 1 0 0 0 4 1 1 0 1 0 0 6 12 1 1 1 1 1 1 0 1 1 1 0 1 58 KAPITEL 6. GEORDNETE MENGEN Es ist µ(a, a) = 1 für alle a ∈ T12 und µ(a, b) = 0, falls a - b. µ(1, 2) = µ(1, 3) = −1, da 1 Vorgänger von 2 und 3 bzgl. | (6.5c)). = −µ(1, 1) − µ(1, 2) = 0 6.5b) µ(1, 6) = −µ(1, 1) − µ(1, 2) − µ(1, 3) = 1 µ(1, 12) = −µ(1, 1) − µ(1, 2) − µ(1, 3) − µ(1, 4) − µ(1, 6)= 0 µ(2, 4) = µ(2, 6) =−1 ∗ µ(2, 12) = −µ(2, 2) − µ(2, 4) − µ(2, 6) = 1 µ(3, 6) = µ(4, 12) = µ(6, 12) =−1 µ(3, 12) = −µ(3, 3) − µ(3, 6) = 0 µ(1, 4) ∗ gilt, da 2 Vorgänger von 4 und 6 bzgl. |. Also entspricht µ der folgenden Matrix 1 −1 −1 0 1 0 0 1 0 −1 −1 1 0 0 1 0 −1 0 0 0 0 1 0 −1 0 0 0 0 1 −1 0 0 0 0 0 1 b) Sei (M, ≤) eine endliche total-geordnete Menge. Dann ist , falls a = b 1 −1 , falls a l b µ(a, b) = 0 , sonst Klar: µ(a, b) = 1, falls a = b µ(a, b) = −1, falls a l b µ(a, b) = 0, falls a b (6.5) Sei also a < b, a kein Vorgänger von b, also a = a1 la2 l. . .lan = b, n > 2. Dann folgt mit Induktion nach n: 6.5b) µ(a, b) = − n−1 X i=1 µ(a, ai ) = −µ(a, a) − µ(a, a2 ) = 0. Zur Berechnung der Möbiusfunktion in endlichen Verbänden ist der folgende Satz sehr nützlich. 6.7 Satz (Weissner, 1935) Sei (L, ≤) ein endlicher Verband, a ∈ L, a > 0L (0L bezeichnet das Nullelement des Verbandes; analog bezeichnet 1L das Einselement des Verbandes, d.h. x ≤ 1L für alle x ∈ L). 59 KAPITEL 6. GEORDNETE MENGEN Dann gilt: P µ(0L , x) = 0. x∈L x ∨ a = 1L Beweis: P Sei S = µ(0L , x)ζ(x, y)ζ(a, y)µ(y, 1L ). x,y∈L Dann ist S = P x∈L 6.5a) = ( P x∈L 0P = P µ(0L , x) µ(y, 1L ) = P x∈L y∈L y≥x y≥a µ(0L , x) · P µ(y, 1L ) y∈L y ≥x∨a µ(0L , x) · 1 , falls x ∨ a = 1L , falls x ∨ a < 1L µ(0L , x). x∈L x ∨ a = 1L Andererseits ist S = = P P y≥a = µ(0L , x)ζ(x, y)µ(y, 1L ) x∈L y≥a P y≥a µ(y, 1L ) · µ(y, 1L ) · | P x∈L X x∈L x≤y 6.5a) µ(0L , x)ζ(x, y) µ(0L , x) {z = 0 } = 0,da y≥a>0L 6.8 Korollar a) Sei A eine endliche Menge, L = (P (A), ⊆) der Verband der Teilmengen von A. Sind B, C ⊆ A, so ist (−1)|C|−|B| , falls B ⊆ C µ(B, C) = 0 , sonst b) Sei L = (Tn , |) der Verband aller positiven Teiler von n ∈ N. Seien a, b ∈ Tn . Dann ist (−1)r , falls a|b und falls ab Produkt von r paarweise verschiedene Primzahlen ist µ(a, b) = 0 , sonst (d.h. a - b oder ab ist durch das Quadrat einer Primzahl teilbar) [µ(a, b) hängt also nur von ab ab. Ist ab ∈ N, so ist µ( ab ) := µ(a, b) die klassische Möbiusfunktion der Zahlentheorie.] Beweis: a) Wir müssen nur den Fall B ⊆ C betrachten. Es ist µ(B, C) = µ(∅, C\B), da der Verband [B, C] isomorph zum Verband KAPITEL 6. GEORDNETE MENGEN 60 P(C \ B) ist. (Isomorphie: es existiert eine bijektive Abbildung, die die Ordnungsrelation - hier die Teilmengenrelation - erhält; [B, C] → P(C \ B) .) ϕ: X 7→ X \ B Sei D = C \ B. Wir haben also µ(∅, D) = (−1)|D| zu zeigen. Richtig für D = ∅, da µ(∅, ∅) = 1 = (−1)0 . Sei |D| ≥ 1, d ∈ D. Es ist ∅ das Nullelement und D das Einselement des Verbandes (P(D), ⊆). Daher folgt mit 6.7: X µ(∅, D0 ) = 0. D0 ⊆ D D 0 ∪ {d} = D Die einzigen D0 , die in dieser Summe auftreten, sind D und D \ {d}. Also folgt: µ(∅, D) = −µ(∅, D \ {d}). Per Induktion nach |D| können wir µ(Φ, D \{d}) = (−1)|D|−1 annehmen. Dann folgt µ(∅, D) = −(−1)|D|−1 = (−1)|D| . b) Wir haben nur den Fall a|b zu betrachten, wobei wir a 6= b annehmen können. Der Verband [a, b] = {c ∈ N| a|c und c|b} ist isomorph zu T b . a Setze m = ab > 1. Dann ist µ(a, b) = µ(1, ab ) = µ(1, m). Sei p eine Primzahl, p|m. Es ist 1 das Nullelement von Tm und m das Einselement von Tm . Mit 6.7 folgt daher: X µ(1, m) = − µ(1, a). a|m, a < m kgV (a, p) = m Ist p2 |m, so gibt es kein a < m mit kgV (a, p) = m (denn: ist p|a, so kgV (a, p) = a; ist p - a, so kgV (a, p) = a · p 6= m, da p2 - a · p, aber p2 |m). Dann ist also µ(1, m) = 0. Ist p2 - m, so µ(1, m) = −µ(1, m p ). Die Behauptung folgt nun per Induktion. 6.9 Bemerkung Für den Verband (P (A), ) aller Partitionen der endlichen Menge A kann man zeigen: Q (−1)|π|−|σ| B∈σ (nB − 1)! , falls π σ µ(π, σ) = 0 , sonst Dabei: |π| = Anzahl der Blöcke in π, σ analog; nB = Anzahl der Blöcke von π, die in den Block B von |σ| enthalten sind. Beweis: P. Tittmann: Einführung in die Kombinatorik, Spektrum, 2000, S. 182184 J.H. van Lint, R.M. Wilson: A Course in Combinatorics, Cambridge University Press, 1992, S. 309 61 KAPITEL 6. GEORDNETE MENGEN Die Bedeutung der Möbiusfunktion liegt in folgendem Satz begründet, der die sogenannte Möbiusinversion beschreibt. 6.10 Satz über die Möbiusinversion Sei (M, ≤) eine endliche geordnete Menge, f : M → C eine Funktion. (Statt C kann man jeden P beliebigen Körper wählen.) Sei g(x) = f (y) für x ∈ M (also g : M → C). Dann ist y∈M y≤x f (x) = X für jedes x ∈ M. g(y)µ(y, x) y∈M y≤x Analog: Ist h(x) = P f (y) für x ∈ M , so f (x) = y∈M y≥x P h(y)µ(x, y) für alle x ∈ M . y∈M y≥x Beweis: Wähle ein beliebiges x ∈ M . Dann gilt: P P P g(y)µ(y, x) = f (z)µ(y, x) y≤x y≤x P z≤y P f (z)ζ(z, y)µ(y, x) = y≤x z∈M X P = f (z) ζ(z, y)µ(y, x) z∈M y≤x = = f (x). | {z } 1 , falls z = x (6.5) 0 , falls z = 6 x Die zweite Behauptung folgt analog. 6.11 Korollar (Klassische Möbiusinversion der Zahlentheorie) Sei µ die klassische Möbiusfunktion auf N (vgl. P 6.8b). Ist f : N → C eine Funktion, g(n) = f (k) für n ∈ N, so ist f (n) = k|n P g(k)µ nk für alle n ∈ N. k|n Beweis: Für jedes n ∈ N ergibt sich die Behauptung durch Anwendung von 6.10 auf (Tn , |). Die Möbiusinversion ist ein wichtiges Hilfsmittel für zahlreiche Abzählprobleme. Wir geben ein Beispiel an, bei dem die Möbiusinversion auf den Verband (P(I), ⊆) aller Teilmengen einer endlichen Menge I angewandt wird. 62 KAPITEL 6. GEORDNETE MENGEN 6.12 Beispiel a) Sei A eine endliche Menge, Ai Teilmengen von A, wobei die i aus einer endlichen Indexmenge I stammen (d.h. für jedes i ∈ I ist Ai definiert). Für J ⊆ I sei B(J) = {x ∈ A|x ∈ Ai für alle j ∈ J, x ∈ / Ai für alle i ∈ I \ J}. T S Klar: B(J) = Aj \ Ai j∈J i∈I\J S T Aj = A, falls J = ∅ und Ai = ∅, falls I \ J = ∅). (wobei j∈J i∈I\J Klar ist auch: Ist J1 6= J2 , so B(J1 ) ∩ B(J2 ) = ∅. (∗) Wir setzen f (J) = |B(J)|. S T Sei nun J ⊆ I fest, aber beliebig gewählt. Dann ist B(K) = Aj , wie man leicht sieht.P T Also gilt nach (∗): f (K) = | Aj | =: h(J). j∈J K J ⊆K⊆I j∈J K J ⊆K⊆I Nach dem zweiten Teil von 6.10 (Möbiusinversion) folgt nun: f (J) = X 6.8a) h(K)µ(J, K) = X | \ k∈K K J ⊆K⊆I K J⊆K⊆I Ak | · (−1)|K|−|J| . Die Gleichung (∗∗) beschreibt also die Anzahl f (J) = | T j∈J Aj \ (∗∗) S i∈I\J Ai | der Elemente von A, die genau in allen Aj (j T ∈ J), aber in keinen anderen Ai (i ∈ I \ J) liegen durch die Anzahlen | Ak |, J ⊆ K (Elemente, die k∈K mindestens in allen Aj (j ∈ J) liegen). Wählt man speziell J = ∅, so folgt: [ X \ |A \ Ai | = |B(∅)| = f (∅) = | Ak |(−1)|K| i∈I K⊆I k∈K Beachtet man, dass auf der rechten Seite für K = ∅ gerade |A| als Summand auftaucht, so folgt hieraus sofort: [ X [ | Ai | = (−1)|K|+1 | Ak |. i∈I ∅6=K⊆I k∈K Dies ist gerade das Einschließungs-Ausschließungs-Prinzip aus 1.3. b) Wir wenden a) auf folgende Frage an: Wieviele Permutationen auf {1, . . . , n} haben genau l viele Fixpunkte (0 ≤ l ≤ n)? Sei diese Anzahl fl (n). Wir setzen A = Sn = Menge aller Permutationen auf {1, . . . , n}, und Ai = {τ ∈ Sn |τ (i) = i} für i = 1, . . . , n. 63 KAPITEL 6. GEORDNETE MENGEN P Es ist fl (n) = f (J), wobei f (J) = Anzahl aller Permutationen, die J ⊆ {1, . . . , n} |J| = l genau die Elemente aus J als Fixpunkte, aber sonst keine weiteren Fixpunkte haben. Wir wählen ein beliebiges J ⊆ {1, . . . , n} mit |J| = l und berechnen f (J) mit a): X \ f (J) = | Ak | · (−1)|K|−l . K⊇J k∈K T k∈K Ak sind genau die Permutationen, die die Elemente k ∈ K festlassen (und vielleicht noch weitere). Daher ist \ Ak | = (n − |K|)! | k∈K P (n − |K|)!(−1)|K|−l . Die Summanden hängen also nur von |K| ab. Ist |K| = l + j, j ∈ {0, . . . , n − l}, so gibt es genau n−l viele j Teilmengen K ⊇ J mit |K| = l + j (denn dies entspricht genau der Anzahl der j-elementigen Teilmengen von {1, . . . , n} \ J). Also: f (J) = K⊇J Also: f (J) = n−l X n−l j=0 j (n − l − j)!(−1)j = (n − l)! n−l X (−1)j j=0 j! f (J) hängt also nur von |J| = l ab. Es gibt nl viele Teilmengen J ⊆ {1, . . . , n} mit |J| = l. n−l P (−1)j P (−1)j n! n−l , d.h. fl (n) = . Also ist fl (n) = nl (n − l)! j! l! j=0 j! j=0 Für l = 0 erhält man gerade die Anzahl der fixpunktfreien Permutationen auf {1, . . . , n} in Übereinstimmung mit 5.4. 6.13 Bemerkung Mit Hilfe der Möbiusinversion bzgl. der Möbiusfunktion auf dem Verband der Partitionen einer endlichen Menge (vgl. 6.9) kann man z.B. die Anzahl aller Graphen mit nummerierten Ecken ohne Vielfachkanten bestimmen und auch die Anzahl der zusammenhängenden unter diesen Graphen. Näheres dazu in P. Tittmann (s. 6.9), S. 184-186, J.H. van Lint, R.M. Wilson (s. 6.9), S. 310-311. Index geschlossene Form, 25 Gleichheitsregel, 10 Goldener Schnitt, 27 Abzählen von Abbildungen, 12 Abzählen von Mengen, 12 Abzählproblem, 20, 61 Additionsprinzip, 5 antisymmetrisch, 52 Äquivalenzrelation, 18 Auswahlanzahlen, 13 Hanoi, 21, 31 harmonische Zahl, 49 Hasse-Diagramm, 53 Hoare, C.A.R., 23 homogen, 20 homogene Rekursion, 25 Bell, E.T., 22 Bell’schen Zahlen, 22 Bijektionsprinzip, 10 bijektiv, 13 bijektive Abbildung, 14 binäre Relation, 52 Binominalkoeffizient, 12 Binomische Formel, 12 Boole’scher Verband, 55 Infimum, 54 inhomogen, 20 injektiv, 13 injektive Abbildung, 14 Inzidenzalgebra, 56 Isomorphie, 60 Klassische Möbiusinversion, 61 kombinatorische Techniken, 5 Komposition von Potenzreihen, 38 Korollar, 30, 41, 59, 61 Catalan, E.C., 24 Catalan-Zahlen, 23, 44 charakteristische Gleichung, 26 charakteristischer Vektor, 15 linear mit konst. Koeff., 20 Literatur, 4, 34 Differentialgleichungen, 34 Differenzengleichungen, 33 Differenzoperator, 33 doppeltes Abzählen, 9 Ebenen-Zerlegung, 22 Einschliessungs-Ausschliessungs-Prinzip, 7 Erzeugende Funktionen, 35 Möbius-Funktion, 57 Möbiusinversion, 61 Mengenrelation, 18 Methode der Summationsfaktoren, 46 Multiplikationsprinzip, 5, 14 Ordnung, 52 Ordnungsrelation, 18, 52 Faltungsprodukt, 56 Fibonacci, L.v.P., 20 Fibonacci-Zahlen, 20, 27 fixpunktfreie Permutation, 49 Folgerung, 16 formale Potenzreihe, 35 Partition, 18 Partitionen einer Menge, 22 Partitionsverband, 55 Prinzip des doppelten Abzählens, 8 Produktregel, 5 geordnete Menge, 52 Geordnete Mengen, 52 Quicksort, 23, 48 64 INDEX reflexiv, 52 Reflexivität, 18 Rekursionen, 20 Rekursionen erster Ordnung, 46 Rekursionsformel, 50 Relation, 18 Schubfachprinzip, 10 Stirling-Zahl 2. Art, 18 Summationsfaktoren, 46 Summendarstellung, 47 Summenregel, 5 Supremum, 54 surjektiv, 13 Symmetrie, 18 Türme von Hanoi, 21, 31 Teilgebiete der Kombinatorik, 3 total, 52 transitiv, 52 Transitivität, 18 verallgemeinerter Binominalkoeffizient, 38 Verband, 55 Verfeinerung der Partition, 53 Weissner, Satz von, 58 Zeta-Funktion, 56 65