Diskrete Mathematik Christina Kohl Georg Moser Oleksandra Panasiuk Christian Sternagel Vincent van Oostrom Institut für Informatik @ UIBK Sommersemester 2017 Zusammenfassung Zusammenfassung der letzten LVA Definition • Eine Menge M heißt endlich, wenn es eine natürliche Zahl m und eine bijektive Abbildung α : {0, 1, . . . , m − 1} → M gibt • In diesem Fall ist m eindeutig bestimmt und man nennt #(M) := m die Anzahl der Elemente von M Definition Eine Menge M heißt abzählbar unendlich, wenn eine bijektive Abbildung α : N → M , i 7→ xi existiert. Man schreibt dann M = {x0 , x1 , x2 , . . .} nennt α eine Aufzählung von M und α−1 eine Nummerierung von M. Beispiel Sei Σ ein endliches Alphabet. Dann ist das Wortmonoid Σ∗ := abzählbar. Andererseits sind die reellen Zahlen nicht abzählbar. GM (IFI) Diskrete Mathematik S n>0 Σ n 143/1 Übersicht Inhalte der Lehrveranstaltung Beweismethoden deduktive Beweise, Beweise von Mengeninklusionen, Kontraposition, Widerspruchsbeweise, vollständige Induktion, wohlfundierte Induktion, strukturelle Induktion, Gegenbeispiele Relationen, Ordnungen und Funktionen Äquivalenzrelationen, partielle Ordnungen, Wörter, asymptotisches Wachstum von Funktionen Graphentheorie gerichtete Graphen, ungerichtete Graphen Zähl- und Zahlentheorie Aufzählen und Nummerien von Objekten, Abzählbarkeit, Wahrscheinlichkeitstheorie, Lösen von Rekursionsformeln, Rechnen mit ganzen Zahlen, euklidischer Algorithmus, Primzahlen, Restklassen GM (IFI) Diskrete Mathematik 144/1 Übersicht Inhalte der Lehrveranstaltung Beweismethoden deduktive Beweise, Beweise von Mengeninklusionen, Kontraposition, Widerspruchsbeweise, vollständige Induktion, wohlfundierte Induktion, strukturelle Induktion, Gegenbeispiele Relationen, Ordnungen und Funktionen Äquivalenzrelationen, partielle Ordnungen, Wörter, asymptotisches Wachstum von Funktionen Graphentheorie gerichtete Graphen, ungerichtete Graphen Zähl- und Zahlentheorie Aufzählen und Nummerien von Objekten, Abzählbarkeit, Wahrscheinlichkeitstheorie, Lösen von Rekursionsformeln, Rechnen mit ganzen Zahlen, euklidischer Algorithmus, Primzahlen, Restklassen GM (IFI) Diskrete Mathematik 144/1 Diskrete Wahrscheinlichkeitstheorie Beispiel Gegeben seien die ersten 15 Primzahlen in aufsteigender Reihenfolge und wir suchen die durchschnittliche Anzahl der notwendigen Vergleiche, um eine gegebene Zahl zu finden, wenn wir binäre Suche verwenden. 19 7 3 2 S S 13 S 5 37 S 11 U S U S S 29 17 23 S S S 43 S 31 41 S S S 47 S # der erfolgreichen Blätter = 15 GM (IFI) Diskrete Mathematik 145/1 Diskrete Wahrscheinlichkeitstheorie Beispiel Gegeben seien die ersten 15 Primzahlen in aufsteigender Reihenfolge und wir suchen die durchschnittliche Anzahl der notwendigen Vergleiche, um eine gegebene Zahl zu finden, wenn wir binäre Suche verwenden. 19 7 3 2 S S 13 S 5 37 S 11 U S U S S 29 17 23 S S S 43 S 31 41 S S S 47 S # der erfolgreichen Blätter = 15 GM (IFI) Diskrete Mathematik 145/1 Diskrete Wahrscheinlichkeitstheorie Beispiel Gegeben seien die ersten 15 Primzahlen in aufsteigender Reihenfolge und wir suchen die durchschnittliche Anzahl der notwendigen Vergleiche, um eine gegebene Zahl zu finden, wenn wir binäre Suche verwenden. 19 7 3 2 S S 13 S 5 37 S 11 U S U S S 29 17 23 S S S 43 S 31 41 S S S 47 S # der erfolgreichen Blätter = 15 GM (IFI) Diskrete Mathematik 145/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (cont’d) • Angenommen die gesuchten Zahlen sind gleichverteilt: die Wahrscheinlichkeit dass wir nach Primzahl p suchen ist 1 15 • Nun zählen jeden Konten als einen Vergleich, summieren die Anzahl der gesamten Vergleiche und dividieren durch 15 8∗4+4∗3+2∗2+1 49 = ≈ 3, 27 15 15 Also brauchen wir im Durchschnitt 3, 27 Vergleiche GM (IFI) Diskrete Mathematik 146/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (cont’d) • Angenommen die gesuchten Zahlen sind gleichverteilt: die Wahrscheinlichkeit dass wir nach Primzahl p suchen ist 1 15 • Nun zählen jeden Konten als einen Vergleich, summieren die Anzahl der gesamten Vergleiche und dividieren durch 15 8∗4+4∗3+2∗2+1 49 = ≈ 3, 27 15 15 Also brauchen wir im Durchschnitt 3, 27 Vergleiche GM (IFI) Diskrete Mathematik 146/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (cont’d) • Angenommen die gesuchten Zahlen sind gleichverteilt: die Wahrscheinlichkeit dass wir nach Primzahl p suchen ist 1 15 • Nun zählen jeden Konten als einen Vergleich, summieren die Anzahl der gesamten Vergleiche und dividieren durch 15 8∗4+4∗3+2∗2+1 49 = ≈ 3, 27 15 15 Also brauchen wir im Durchschnitt 3, 27 Vergleiche Definition • der Ergebnisraum beschreibt die Menge aller möglichen Ergebnisse • eine Wahrscheinlichkeitsverteilung auf einem Ergebnisraumes S ist eine Abbildung P : S → [0, 1] sodass GM (IFI) P x∈S P(x) = 1 Diskrete Mathematik 146/1 Diskrete Wahrscheinlichkeitstheorie Definition • eine Teilmenge E ⊆ S wird Ereignis genannt • die Wahrscheinlichkeit eines Ereignisses E ist wie folgt definiert P(E ) := X P(x) x∈E GM (IFI) Diskrete Mathematik 147/1 Diskrete Wahrscheinlichkeitstheorie Definition • eine Teilmenge E ⊆ S wird Ereignis genannt • die Wahrscheinlichkeit eines Ereignisses E ist wie folgt definiert P(E ) := X P(x) x∈E Lemma Seien A und B Ereignisse, dann gilt: P(A ∪ B) = P(A) + P(B) − P(A ∩ B) P(∼A) = 1 − P(A) wobei ∼A die Komplementärmenge von A GM (IFI) Diskrete Mathematik 147/1 Diskrete Wahrscheinlichkeitstheorie Definition • eine Teilmenge E ⊆ S wird Ereignis genannt • die Wahrscheinlichkeit eines Ereignisses E ist wie folgt definiert P(E ) := X P(x) x∈E Lemma Seien A und B Ereignisse, dann gilt: P(A ∪ B) = P(A) + P(B) − P(A ∩ B) P(∼A) = 1 − P(A) wobei ∼A die Komplementärmenge von A Beispiel Angenommen wir werfen eine (faire) Münze zweimal, dann beschreibt S = {KK , KZ , ZK , ZZ } den Ergebnisraum und E = {KZ , ZK } dass genau einmal Kopf gewürfelt wird; es gilt P(E ) = ( 12 )( 21 ) + ( 12 )( 12 ) = 12 GM (IFI) Diskrete Mathematik 147/1 Diskrete Wahrscheinlichkeitstheorie Definition Wenn A und B Ereignisse sind und P(B) 6= 0, dann ist die bedingte Wahrscheinlichkeit von A unter der Vorausetzung B wie folgt definiert: P(A | B) := GM (IFI) P(A ∩ B) P(B) Diskrete Mathematik 148/1 Diskrete Wahrscheinlichkeitstheorie Definition Wenn A und B Ereignisse sind und P(B) 6= 0, dann ist die bedingte Wahrscheinlichkeit von A unter der Vorausetzung B wie folgt definiert: P(A | B) := P(A ∩ B) P(B) Lemma A und B Ereignisse, dann: P(A ∩ B) = P(A) · P(B | A) = P(B) · P(A | B) GM (IFI) Diskrete Mathematik 148/1 Diskrete Wahrscheinlichkeitstheorie Definition Wenn A und B Ereignisse sind und P(B) 6= 0, dann ist die bedingte Wahrscheinlichkeit von A unter der Vorausetzung B wie folgt definiert: P(A | B) := P(A ∩ B) P(B) Lemma A und B Ereignisse, dann: P(A ∩ B) = P(A) · P(B | A) = P(B) · P(A | B) Beispiel 2% der Studenten der UIBK studieren Informatik (Ereignis A) und 1% studiert Mathematik (Ereignis B); außerdem studiert 0.1% beides, also P(A | B) = GM (IFI) P(A ∩ B) 0.001 = = 0.1 P(B) 0.01 P(B | A) = Diskrete Mathematik P(A ∩ B) = 0.05 P(A) 148/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (Satz von Bayes) Angenommen FCW gewinnt 75% aller Spiele bei gutem Wetter und 50% bei schlechten Wetter; außerdem gelte, dass im Mai 2/3 schöne Tage gegen 1/3 schlechte stehen. Was ist die Wahrscheinlichkeit für schlechtes Wetter, wenn wir im Mai lesen der FCW hat gewonnen? Ereignisse W (win), L (loose), B (bad), G (good). GM (IFI) Diskrete Mathematik 149/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (Satz von Bayes) Angenommen FCW gewinnt 75% aller Spiele bei gutem Wetter und 50% bei schlechten Wetter; außerdem gelte, dass im Mai 2/3 schöne Tage gegen 1/3 schlechte stehen. Was ist die Wahrscheinlichkeit für schlechtes Wetter, wenn wir im Mai lesen der FCW hat gewonnen? Ereignisse W (win), L (loose), B (bad), G (good). Wir suchen P(B | W ) = P(W | B) = 12 , P(G ) = GM (IFI) P(B∩W ) P(W ) 2 , 3 P(B) und wissen P(W | G ) = 34 , = 13 ; Diskrete Mathematik 149/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (Satz von Bayes) Angenommen FCW gewinnt 75% aller Spiele bei gutem Wetter und 50% bei schlechten Wetter; außerdem gelte, dass im Mai 2/3 schöne Tage gegen 1/3 schlechte stehen. Was ist die Wahrscheinlichkeit für schlechtes Wetter, wenn wir im Mai lesen der FCW hat gewonnen? Ereignisse W (win), L (loose), B (bad), G (good). Wir suchen P(B | W ) = P(B∩W ) P(W ) 2 , 3 P(B) und wissen P(W | G ) = 34 , = 13 ; es gilt W = (G ∩ W ) ∪ (B ∩ W ), P(W | B) = 12 , P(G ) = also P(W ) = P(G ∩ W ) + P(B ∩ W ) und somit: P(B | W ) = GM (IFI) P(B ∩ W ) P(B ∩ W ) = P(W ) P(G ∩ W ) + P(B ∩ W ) P(W | B) P(B) = P(W | G ) P(G ) + P(W | B) P(B) ( 1 )( 1 ) 1 = 3 22 31 1 = 4 ( 4 )( 3 ) + ( 2 )( 3 ) Diskrete Mathematik 149/1 Diskrete Wahrscheinlichkeitstheorie Satz Sei S ein Ergebnisraum und sei {H1 , . . . Hn } eine Partition von S; E ein Ereignis mit P(E ) 6= 0; dann gilt für i = 1, . . . , n: P(Hi | E ) = = P(Hi ∩ E ) P(H1 ∩ E ) + · · · + P(Hn ∩ E ) P(Hi ) P(E | Hi ) P(H1 ) P(E | H1 ) + · · · + P(Hn ) P(E | Hn ) • Wir nennen P(Hi ) auch a priori Wahrscheinlichkeit von Hi • Und P(Hi | E ) heißt a posteriori Wahrscheinlichkeit von Hi , gegeben E GM (IFI) Diskrete Mathematik 150/1 Diskrete Wahrscheinlichkeitstheorie Satz Sei S ein Ergebnisraum und sei {H1 , . . . Hn } eine Partition von S; E ein Ereignis mit P(E ) 6= 0; dann gilt für i = 1, . . . , n: P(Hi | E ) = = P(Hi ∩ E ) P(H1 ∩ E ) + · · · + P(Hn ∩ E ) P(Hi ) P(E | Hi ) P(H1 ) P(E | H1 ) + · · · + P(Hn ) P(E | Hn ) • Wir nennen P(Hi ) auch a priori Wahrscheinlichkeit von Hi • Und P(Hi | E ) heißt a posteriori Wahrscheinlichkeit von Hi , gegeben E Definition Ereignisse A und B sind unabhängig, wenn P(A ∩ B) = P(A) P(B) GM (IFI) Diskrete Mathematik 150/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (Bernoulliexperiment) • Wir betrachten n Münzwürfe mit einer Münze und berechnen die Wahrscheinlichkeit mit der die Münze genau k-mal Kopf zeigt, wobei die Münzwürfe unabhängig sind • Zunächst betrachten wir die Wahrscheinlichkeit, dass die ersten k Würfe Kopf zeigen und die restlichen Würfe Zahl • Bezeichne Ai das Ereignis, dass beim iten Wurf Kopf gewürfelt wird und nehmen an, dass die Münze mit Wahrscheinlichkeit p Kopf zeigt, dann gilt P(A1 ) · · · P(Ak ) · P(∼Ak+1 ) · · · P(∼An ) = p k (1 − p)n−k • Somit ist die Wahrscheinlickeit genau k-mal Kopf zu würfeln wir folgt gegegeben: GM (IFI) n k p (1 − p)n−k k Diskrete Mathematik 151/1 Diskrete Wahrscheinlichkeitstheorie Definition Ein Bernoulliexperiment ist ein Experiment mit genau zwei möglichen Ausgängen (Erfolg bzw. Misserfolg) GM (IFI) Diskrete Mathematik 152/1 Diskrete Wahrscheinlichkeitstheorie Definition Ein Bernoulliexperiment ist ein Experiment mit genau zwei möglichen Ausgängen (Erfolg bzw. Misserfolg) Lemma 1 Die Wahrscheinlichkeit des k-maligen Erfolges bei einem n-fach wiederholten Bernoulliexperiment ist: n k b(k; n; p) := p (1 − p)n−k k wobei P(“Erfolg”) = p 2 Die Wahrscheinlichkeitsverteilung b(k; n; p) für festes n und p heißt Binomialverteilung; beachte n n X X n k b(k; n; p) = p (1 − p)n−k = (p + (1 − p))n = 1 k k=0 GM (IFI) k=0 Diskrete Mathematik 152/1 Diskrete Wahrscheinlichkeitstheorie Definition Bezeichne V : S → R eine Wertefunktion für den Ergebnisraum S = {x1 , . . . , xn }; der Erwartungswert von V ist wie folgt definiert: E(V ) := V (x1 ) P(x1 ) + · · · + V (xn ) P(xn ) Die Wertefunktion V wird auch als Zufallsvariable bezeichnet GM (IFI) Diskrete Mathematik 153/1 Diskrete Wahrscheinlichkeitstheorie Definition Bezeichne V : S → R eine Wertefunktion für den Ergebnisraum S = {x1 , . . . , xn }; der Erwartungswert von V ist wie folgt definiert: E(V ) := V (x1 ) P(x1 ) + · · · + V (xn ) P(xn ) Die Wertefunktion V wird auch als Zufallsvariable bezeichnet Beispiel Angenommen wir suchen ein Element X in einem Array der Länge n i := n ; w h i l e i > 0 and X 6= L[i] do i := i − 1 od Gesucht: die durchschnittliche Zahl der Vergleiche X 6= L[i]; bezeichne Ii das Ergebnis L[i] = X (1 6 i 6 n) und In+1 das Ergebnis X 6∈ L GM (IFI) Diskrete Mathematik 153/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (cont’d) • der Ergebnisraum S = {I1 , I2 , . . . , In+1 } • die Wertefunktion V : S → N bezeichnet die Anzahl der Vergleiche: ( n − i + 1 falls I = Ii und 1 6 i 6 n V (I ) := n sonst • Schließlich bezeichne q die Wahrscheinlichkeit, dass X ∈ L, dann gilt P(Ii ) = q n (1 6 i 6 n) und P(In+1 ) = 1 − q • die Durchschnittskomplexität Avg : N → N kann nun mittels des Erwartungswertes von V berechnet werden: q q Avg(n) = E(V ) = (n + 1 − 1) + · · · + (n − n + 1) + (1 − q)n n n q (n + 1)n n+1 = + (1 − q)n = q( ) + (1 − q)n n 2 2 GM (IFI) Diskrete Mathematik 154/1 Diskrete Wahrscheinlichkeitstheorie Beispiel (cont’d) • der Ergebnisraum S = {I1 , I2 , . . . , In+1 } • die Wertefunktion V : S → N bezeichnet die Anzahl der Vergleiche: ( n − i + 1 falls I = Ii und 1 6 i 6 n V (I ) := n sonst • Schließlich bezeichne q die Wahrscheinlichkeit, dass X ∈ L, dann gilt P(Ii ) = q n (1 6 i 6 n) und P(In+1 ) = 1 − q • die Durchschnittskomplexität Avg : N → N kann nun mittels des Erwartungswertes von V berechnet werden: q q Avg(n) = E(V ) = (n + 1 − 1) + · · · + (n − n + 1) + (1 − q)n n n q (n + 1)n n+1 = + (1 − q)n = q( ) + (1 − q)n n 2 2 • Ähnlich kann die Durchschnittskomplexität der Suche nach einer der ersten 15 Primzahlen in einer Liste berechnen werden; im Durchschnitt brauche ich 8 Vergleiche GM (IFI) Diskrete Mathematik 154/1 Diskrete Wahrscheinlichkeitstheorie Definition Eine Markowkette ist eine endliche Abfolge von Zuständen, sodass jeder Zustandswechsel nur von dem vorherigen Zustand und einer vorausgesetzten Wahrscheinlichkeitsverteilung abhängt GM (IFI) Diskrete Mathematik 155/1 Diskrete Wahrscheinlichkeitstheorie Definition Eine Markowkette ist eine endliche Abfolge von Zuständen, sodass jeder Zustandswechsel nur von dem vorherigen Zustand und einer vorausgesetzten Wahrscheinlichkeitsverteilung abhängt Beispiel Wir betrachen zwei Zustände, bezeichnet mit 0 und 1; die Wahrscheinlichkeiten der Zustandswechsel werden durch eine Übergangsmatrix ausgedrückt 0.1 0.9 0.6 0.4 • die Wahrscheinlichkeit etwa eines Überganges von Zustand 0 nach Zustand 1 ist also 90% • Wahrscheinlichkeiten nach n Schritten können durch n-faches Potenzieren der Übergangsmatrix P berechnet werden GM (IFI) Diskrete Mathematik 155/1 Diskrete Wahrscheinlichkeitstheorie Definition • Sei P eine Übergangsmatrix. Dann sind die Wahrscheinlichkeiten nach n Schritten durch P n gegeben • Diese Eigenschaft heißt Markoweigenschaft oder auch Gedächtnislosigkeit GM (IFI) Diskrete Mathematik 156/1 Diskrete Wahrscheinlichkeitstheorie Definition • Sei P eine Übergangsmatrix. Dann sind die Wahrscheinlichkeiten nach n Schritten durch P n gegeben • Diese Eigenschaft heißt Markoweigenschaft oder auch Gedächtnislosigkeit Satz (Markowketten) Sei P eine Übergangsmatrix einer Markowkette, sodass für eine Potenz P 0 gilt, dass P 0 keine Nulleinträge besitzt, dan gilt: 1 Es existiert ein eindeutiger Wahrscheinlichkeitsvektor ~v , sodass ~v P = ~v und ~v enthält keine Nulleinträge 2 Bei wachsendem n nähert sich die Potenz P n der Matrix an, die den Vektor ~v als Eintrag in jeder Zeile hat 3 Bezeichne ~v0 die initial Wahrscheinlichkeitsverteilung der Zustände. Dann nähert sich der Vektor ~v0 P n dem Vektor ~v an GM (IFI) Diskrete Mathematik 156/1 Lösen von Rekursionsformeln Definition • Für eine Folge f : N → R heißt die Potenzreihe F (x) := ∞ X f (n) · x n n=0 die erzeugende Funktion von f • Die Methode der erzeugenden Funktionen versucht, aus den Rekursionsformeln für f (n) Gleichungen für F (x) herzuleiten und diese mit algebraischen oder analytischen Mitteln zu lösen GM (IFI) Diskrete Mathematik 157/1 Lösen von Rekursionsformeln Definition • Für eine Folge f : N → R heißt die Potenzreihe F (x) := ∞ X f (n) · x n n=0 die erzeugende Funktion von f • Die Methode der erzeugenden Funktionen versucht, aus den Rekursionsformeln für f (n) Gleichungen für F (x) herzuleiten und diese mit algebraischen oder analytischen Mitteln zu lösen Beispiel Die Fibonacci-Zahlen sind rekursiv definiert durch falls n = 0 0 f (n) = 1 falls n = 1 f (n − 1) + f (n − 2) falls n > 2. GM (IFI) Diskrete Mathematik 157/1 Lösen von Rekursionsformeln Beispiel (cont’d) Für die erzeugende Funktion F (x) folgt aus obiger Rekursion die Gleichung ∞ ∞ X X F (x) = f (n)x n = f (0) + f (1)x + (f (n − 1) + f (n − 2)) x n n=0 n=2 = x + x · F (x) + x 2 · F (x) und durch Partialbruchzerlegung x 1 F (x) = =√ 1 − x − x2 5 GM (IFI) 1 1− √ 1+ 5 2 Diskrete Mathematik − ·x ! 1 1− √ 1− 5 2 ·x 158/1 Lösen von Rekursionsformeln Beispiel (cont’d) Für die erzeugende Funktion F (x) folgt aus obiger Rekursion die Gleichung ∞ ∞ X X F (x) = f (n)x n = f (0) + f (1)x + (f (n − 1) + f (n − 2)) x n n=0 n=2 = x + x · F (x) + x 2 · F (x) und durch Partialbruchzerlegung x 1 F (x) = =√ 1 − x − x2 5 1 1− √ 1+ 5 2 − ·x ! 1 1− √ 1− 5 2 ·x (NB: Die Lösungsformel für ax 2 + bx + c = 0 lautet √ −b ± b 2 − 4ac x1,2 = 2a folglich gilt: 1 − x − x 2 = (−x − GM (IFI) √ 1+ 5 2 ) · (x + Diskrete Mathematik √ 1− 5 2 )) 158/1 Lösen von Rekursionsformeln Beispiel (cont’d) Weiters gilt, dass Reihen konvergieren, konkret gilt für die geometrische Reihe (für q < 1) X 1 qn = 1−q n>0 GM (IFI) Diskrete Mathematik 159/1 Lösen von Rekursionsformeln Beispiel (cont’d) Weiters gilt, dass Reihen konvergieren, konkret gilt für die geometrische Reihe (für q < 1) X 1 qn = 1−q n>0 Einsetzen der geometrischen Reihe Konvergenzannahmen liefert P n>0 x n = 1 1−x √ !n ∞ X 1+ 5 xn − 2 n=0 P∞ n und da per Definition F (x) = n=0 f (n)x "∞ 1 X F (x) = √ 5 n=0 GM (IFI) Diskrete Mathematik unter optimistischen √ !n # 1− 5 xn 2 159/1 Lösen von Rekursionsformeln Beispiel (cont’d) Weiters gilt, dass Reihen konvergieren, konkret gilt für die geometrische Reihe (für q < 1) X 1 qn = 1−q n>0 Einsetzen der geometrischen Reihe Konvergenzannahmen liefert P n>0 x n = 1 1−x unter optimistischen √ !n # √ !n ∞ X 1− 5 1+ 5 n x − xn 2 2 n=0 P∞ n und da per Definition F (x) = n=0 f (n)x liefert ein Koeffizientenvergleich: " √ !n √ !n # 1 1+ 5 1− 5 − f (n) = √ 2 2 5 "∞ 1 X F (x) = √ 5 n=0 GM (IFI) Diskrete Mathematik 159/1 Lösen von Rekursionsformeln Beispiel Die Menge der binären Bäume über der Menge M wird als formale Sprache mit Hilfe der Klammern „ ( “ und „ ) “ induktiv definiert: 1 Die leere Zeichenkette ist ein binärer Baum 2 Wenn x ∈ M und L, R binäre Bäume sind, dann ist (LxR) ein binärer Baum mit Knoten x GM (IFI) Diskrete Mathematik 160/1 Lösen von Rekursionsformeln Beispiel Die Menge der binären Bäume über der Menge M wird als formale Sprache mit Hilfe der Klammern „ ( “ und „ ) “ induktiv definiert: 1 Die leere Zeichenkette ist ein binärer Baum 2 Wenn x ∈ M und L, R binäre Bäume sind, dann ist (LxR) ein binärer Baum mit Knoten x Wir nennen binäre Bäume strukturell gleich, wenn sie durch Umbezeichnen der Elemente von M ineinander übergehen. Also sind ((a)b(c)) und ((c)a(b)) gleich, nicht aber ((a)b(c)) und (a(b(c))); strukturelle Gleichheit ist eine Äquivalenzrelation. GM (IFI) Diskrete Mathematik 160/1 Lösen von Rekursionsformeln Beispiel Die Menge der binären Bäume über der Menge M wird als formale Sprache mit Hilfe der Klammern „ ( “ und „ ) “ induktiv definiert: 1 Die leere Zeichenkette ist ein binärer Baum 2 Wenn x ∈ M und L, R binäre Bäume sind, dann ist (LxR) ein binärer Baum mit Knoten x Wir nennen binäre Bäume strukturell gleich, wenn sie durch Umbezeichnen der Elemente von M ineinander übergehen. Also sind ((a)b(c)) und ((c)a(b)) gleich, nicht aber ((a)b(c)) und (a(b(c))); strukturelle Gleichheit ist eine Äquivalenzrelation. Die Zahl der Äquivalenzklassen binärer Bäume mit n Knoten läßt sich wie folgt berechnen: ( 1 n=0 f (n) = Pn−1 k=0 f (k) · f (n − 1 − k) n > 0 GM (IFI) Diskrete Mathematik 160/1 Lösen von Rekursionsformeln Beispiel (cont’d) Für die erzeugende Funktion F (x) folgt F (x) = ∞ X n f (n)x = 1 + n=0 ∞ n−1 X X n=1 ! f (k) · f (n − 1 − k) x n k=0 = 1 + x · F (x) · F (x) also F (x)2 − 1 x · F (x) + 1 x =0 F (x)2 − 1 1 · F (x) + = 0 x x Lösen der quadratischen Gleichung gibt √ 1 ± 1 − 4x F (x) = 2x GM (IFI) Diskrete Mathematik 161/1 Lösen von Rekursionsformeln Beispiel (cont’d) Beachte, dass die Definition des Bionomialkoeffizienten direkt auf r ∈ R erweiterbar ist, also gilt mit der Binomialreihe √ n=0 F (x) = 1− für ∞ 1 ∞ X X 2 2n − 2 n 2 (−4x)n = 1 − x n n n−1 1 1 − 4x = (1 − 4x) 2 = Somit erhält man r n n=1 √ ∞ X 1 − 4x 1 2n n = x 2x n+1 n n=0 Koeffizientenvergleich liefert 1 2n f (n) = n+1 n GM (IFI) Diskrete Mathematik 162/1 Lösen von Rekursionsformeln Beispiel (Divide-and-Conquer-Algorithmen) • Algorithmus löst Instanzen bis zur Größe m direkt • Instanzen der Größe n > m hingegen zerlegt der Algorithmus in a Teilinstanzen mit Größen bn/bc und dn/be; löst diese rekursiv und setzt Teillösungen zusammen • Zeit zum Aufteilen der Instanz und zum Zusammenfügen der Lösungen betrage f (n) • Gesamtzeit sei T (n), wobei wir annehmen T (n + 1) > T (n) • Dann folgt a · T (bn/bc) + f (n) 6 T (n) 6 a · T (dn/be) + f (n) • speziell für n = m · b k wird k-mal geteilt, sodass es für r := logb a gilt: es gibt ak = (b r )k = (b k )r = m−r · nr Basisinstanzen • Lösung der Basisinstanzen kostet Θ(nr ) an Aufwand GM (IFI) Diskrete Mathematik 163/1 Lösen von Rekursionsformeln Beispiel (cont’d) • wir definieren ( a · T − (bn/bc) + f (n) T − (n) := T (n) ( a · T + (dn/be) + f (n) T + (n) := T (n) falls n > m falls n 6 m falls n > m falls n 6 m • dann gilt für all n: T − (n) 6 T (n) 6 T + (n), sodass für die Analyse die Funktionen T ± (n) an Stelle von T (n) verwendet werden können • für n = m · b k ist der Aufwand der Lösung der Basisfälle durch Θ(nlogb a ) gegegeben • Berücksichtigung des Aufwandes für das Aufteilen und Zusammensetzen, erlaubt die asymptotische Analyse von T ± (n) GM (IFI) Diskrete Mathematik 164/1 Lösen von Rekursionsformeln Satz (Master-Theorem) (1) Wenn f ∈ O(ns ) für eine reelle Zahl s mit s < r := logb a , dann ist T (n) ∈ Θ(nr ) . (2) Wenn f ∈ Θ(nr ) , dann ist T (n) ∈ Θ(nr · log n) . (3) Wenn eine reelle Zahl c mit c < 1 und eine natürliche Zahl k existieren, sodass a · f (dn/be) 6 c · f (n) für alle n mit n > k , dann ist f ∈ Ω(ns ) für eine reelle Zahl s mit s > r und T (n) ∈ Θ(f ) . GM (IFI) Diskrete Mathematik 165/1 Lösen von Rekursionsformeln Beispiel (Merge Sort) Betrachte Merge Sort: merge : : Ord a => [ a ] −> [ a ] −> [ a ] merge x s [ ] = x s merge [ ] y s = y s merge ( x : x s ) ( y : y s ) | ( x <= y ) = x : ( merge x s ( y : y s ) ) | o t h e r w i s e = y : ( merge ( x : x s ) y s ) mergesort mergesort mergesort mergesort GM (IFI) : : Ord a => [ a ] −> [ a ] [] = [] [x] = [x] x s = merge ( m e r g e s o r t ( f s t h a l f x s ) ) ( mergesort ( s n d h a l f xs )) Diskrete Mathematik 166/1 Lösen von Rekursionsformeln Beispiel (Merge Sort) Betrachte Merge Sort: merge : : Ord a => [ a ] −> [ a ] −> [ a ] merge x s [ ] = x s merge [ ] y s = y s merge ( x : x s ) ( y : y s ) | ( x <= y ) = x : ( merge x s ( y : y s ) ) | o t h e r w i s e = y : ( merge ( x : x s ) y s ) mergesort mergesort mergesort mergesort : : Ord a => [ a ] −> [ a ] [] = [] [x] = [x] x s = merge ( m e r g e s o r t ( f s t h a l f x s ) ) ( mergesort ( s n d h a l f xs )) Wegen a = b = 2 und f ∈ Θ(n) gibt das Master-Theorem die Laufzeitabschätzung T (n) ∈ Θ(n · log n), da gilt r := logb a = 1 und somit f (n) ∈ Θ(nr ) (zweiter Fall) GM (IFI) Diskrete Mathematik 166/1