Algorithmen und Datenstrukturen

Ähnliche Dokumente
Algorithmen und Datenstrukturen

2 Sortieren durch Vergleichen Eingabefolge a 1, a 2,..., a n 2, 1, 3 Sortieralg. Für festes n ist ein vergleichsbasierter Sortieralg. charakterisiert

Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen

Randomisierte Algorithmen am Beispiel Quicksort

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

4 Probabilistische Analyse und randomisierte Algorithmen

Randomisierte Algorithmen und probabilistische Analyse

Algorithmen und Datenstrukturen

Kapitel 2: Sortier- und Selektionsverfahren Gliederung

Algorithmen und Datenstrukturen

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

6 Quicksort. die mittlere Laufzeit Θ(n log n) beträgt und. die in der asymptotischen Notation verborgenen Konstanten sehr klein sind.

Algorithmen und Datenstrukturen

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

Algorithmen und Datenstrukturen 8. Vorlesung

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 5, Donnerstag, 21.

Die Probabilistische Methode

Algorithmen und Datenstrukturen 1 Kapitel 5

KAPITEL 5. Erwartungswert

Beweis: Mit Hilfe des Satzes von der totalen Wahrscheinlichkeit folgt, dass

Algorithmen und Datenstrukturen

4. Sortieren 4.1 Vorbemerkungen

Datenstrukturen & Algorithmen

Kap. 3: Sortieren (3)

Algorithmen II Vorlesung am

Übung Algorithmen I

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

Datenstrukturen & Algorithmen

Übung Algorithmen I

Algorithmen und Datenstrukturen

Vorlesung 4b. Versuche, Erfolge, Wartezeiten: von Bernoulli zu Poisson

i Pr(X = i). Bsp: Sei X die Summe zweier Würfe eines Würfels. Dann gilt E[X] =

Wiederholungsklausur DWT

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Algorithmen und Datenstrukturen

Beispiel 37. Wir werfen eine Münze so lange, bis zum ersten Mal

Vorlesung 3a. Der Erwartungswert. von diskreten reellwertigen Zufallsvariablen

Vorlesung 3a. Der Erwartungswert. von diskreten reellwertigen Zufallsvariablen

Technische Universität München

Kapitel 3: Sortierverfahren Gliederung

Algorithmen und Datenstrukturen

Informatik II, SS 2018

Untere Schranke für allgemeine Sortierverfahren

Informatik II, SS 2014

Algorithmen und Datenstrukturen

4 Diskrete Wahrscheinlichkeitsverteilungen

A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.

Lemma 23 Die (paarweise verschiedenen) Ereignisse A 1,..., A n sind genau dann unabhängig,

Übersicht. Datenstrukturen und Algorithmen. Divide-and-Conquer. Übersicht. Vorlesung 9: Quicksort (K7)

Zufallsvariablen rekapituliert

Algorithmen und Datenstrukturen

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 9. Sortieren

Übung Algorithmen I

Algorithmen und Datenstrukturen

Grundbegriffe der Wahrscheinlichkeitsrechnung

Vorlesung 3a. Der Erwartungswert. von diskreten reellwertigen Zufallsvariablen

Paarweise Unabhängigkeit vs. Unabhängigkeit

QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert

Vorlesung 3b. Versuche, Erfolge, Wartezeiten: von Bernoulli zu Poisson

Heapsort. Dr. Michael Brinkmeier (TU Ilmenau) Algorithmen und Datenstrukturen / 50

Asymptotische Laufzeitanalyse: Beispiel

Zufallsvariablen rekapituliert

1.3 Erinnerung: Mergesort

Graphentheorie. Zufallsgraphen. Zufallsgraphen. Zufallsgraphen. Rainer Schrader. 23. Januar 2008

WS 2009/10. Diskrete Strukturen

7. Übung zu Algorithmen I 1. Juni 2016

8. Formelsammlung. Pr[ ] = 0. 0 Pr[A] 1. Pr[Ā] = 1 Pr[A] A B = Pr[A] Pr[B] DWT 8.1 Gesetze zum Rechnen mit Ereignissen 203/467 Ernst W.

3 Bedingte Wahrscheinlichkeit, Unabhängigkeit

Algorithmen für die Speicherhierarchie

Elementare Sortierverfahren

Einführung in die Wahrscheinlichkeitsrechnung

Algorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Zentralübung Diskrete Wahrscheinlichkeitstheorie (zur Vorlesung Prof. Esparza)

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Suchverfahren Autor: Stefan Edelkamp / Sven Schuierer

Wahrscheinlichkeitsrechnung und Statistik

Grundlagen: Algorithmen und Datenstrukturen

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

15. September 2010 Prof. Dr. W. Bley. Universität Kassel Klausur SS 2010 Diskrete Strukturen I (Informatik) Name:... Matr.-Nr.:... Viel Erfolg!

Algorithmen und Datenstrukturen

Die mittlere Höhe eines Binärbaumes. h(t) = 1 e(t) mit E(t) = Menge der Blätter von t, h(b, t) = Höhe des Blattes b in t

Vorlesung 4b. Die Varianz

Randomisierte Algorithmen 2. Erste Beispiele

Sortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2

Heapsort. Erstellung eines Heaps

Heapsort. 1. Erstelle aus dem gegebenen Array einen Heap (DownHeap) 2. Tausche erstes und letztes Element des Arrays

Datenstrukturen, Algorithmen und Programmierung 2

Kap. 3: Sortieren. Überblick. Unser Sortierproblem. Motivation. Laufzeitmessung. Warum soll ich hier bleiben? Sortierverfahren sind WICHTIG!!!

Lineare Kongruenzgeneratoren und Quicksort

Übung Algorithmen und Datenstrukturen

Klausur: Diskrete Strukturen I

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

Die Funktion f X;Y (x; y) := Pr[X = x; Y = y] heit gemeinsame Dichte der Zufallsvariablen X und Y. Aus der gemeinsamen Dichte f X;Y kann man ableiten

2 Zufallsvariable, Verteilungen, Erwartungswert

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Transkript:

1 Algorithmen und Datenstrukturen Wintersemester 013/14 7. Vorlesung Zufall! Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I

Ein Experiment Ein Franke und ein Münchner gehen (unabhängig voneinander) n mal in verschiedenen Restaurants essen und benoten nach jedem Besuch ihr Essen. Der Franke ist zufrieden, wenn er überdurchschnittlich gut isst, d.h. wenn seine aktuelle Note über dem Mittel liegt. Der Münchner ist zufrieden, wenn er besser isst als er jemals vorher gegessen hat. Wer is(s)t zufriedener? Das Kleingedruckte: n i1 i Die Reihenfolge der Restaurants ist zufällig. Beide Gourmets müssen ihr Essen mit einer Zahl zwischen 1 (sehr schlecht) und n (sehr gut) bewerten und dürfen jede Zahl nur einmal vergeben. Die Zahl n sei gerade. Der Münchner ist beim ersten Essen zufrieden. n n n + 1 n +1 1 n

3 Modellierung Ein Ergebnis unseres Experiments entspricht einer Permutation der Zahlen 1,,..., n. Sei S n die Menge all dieser Permutationen. S n n! Ergebnismenge Ω Beobachtungsmenge Ω Sei M : S n 1,..., n} eine Zufallsvariable, die angibt, wie oft der Münchner zufrieden ist. Uns interessiert der erwartete Wert von M kurz: der Erwartungswert E[M] von M., Definition: E[M] i Ω i Pr[M i] (Def. für diskrete ZV) gewichtetes Mittel der Werte in Ω Es gilt: i Ω Pr[M i] 1 Problem: Was ist Pr[M 7]??

4-15 Ein Trick Definition: E[M] i Ω i Pr[M i] Führe Indikator-Zufallsvariable ein (für i 1,..., n): 1, falls Münchner nach dem i. Essen zufrieden, Sei M i laut Def. E[M i ] 0 Pr[M i 0] + 1 Pr[M i 1] Pr[M i 1] Beispiel: Zahlenfolge (7,, 8, 5, 9, 1, 4, 6, 3) Pr[M i 1] WK, dass i. Zahl die bisher größte ist Anz. der guten Ergebnisse Anz. aller Ergebnisse Anz. Perm., bei denen i. Zahl am größten Anz. aller Permutationen von i Zahlen i Voraussetzung: Alle Ergebnisse sind gleich wahrscheinlich! (i 1)! i! 1 i

4-3 Ein Trick Definition: E[M] i Ω i Pr[M i] Führe Indikator-Zufallsvariable ein (für i 1,..., n): 1, falls Münchner nach dem i. Essen zufrieden, Sei M i laut Def. E[M i ] 0 Pr[M i 0] + 1 Pr[M i 1] Pr[M i 1] Beispiel: Zahlenfolge (7,, 8, 5, 9, 1, 4, 6, 3) Pr[F i 1] WK, dass i. Zahl größer als n+1 ist Anz. der guten Ergebnisse Anz. aller Ergebnisse Anz. Perm., bei denen i. Zahl > n/ Anz. aller Permutationen von n Zahlen i (n 1)! n n! 1

5 Zurück zum Erwartungswert M i 1, falls Münchner nach dem i. Essen zufrieden, M n i1 M i (Anz. Male, die Münchener zufrieden ist.) E[M] E[ i M i] i E[M i] i Pr[M i 1] Linearität des Erwartungswerts n i1 1 i 1 + n 1 Indikatorvariable 1 x dx 1 + ln n beschränkte harmonische Reihe Entsprechend... E[F ] n i1 Pr[F i i] n i1 1 n M.a.W.: man kann erwarten, dass der Franke exponentiell zufriedener ist als der Münchner! ;-)

6 Average-Case-Laufzeit von InsertionSort Beob. Hier: Der durchschnittliche Fall ist i.a. schwer fassbar. Was ist die durchschnittliche Laufzeit über alle Permutationen der Eingabe A[1..n] (für festes n)? Einfacher: Was ist die durchschnittliche Laufzeit über alle Permutationen der Eingabe 1,,..., n? Wissen: n 1 V IS n(n 1)/ Beob. Vergleiche Verschiebungen Beob. Warum? Betrachte Definition: E[T ] n i0 i Pr[T i] Statt Vergleiche können wir auch die Anzahl der Verschiebungen T IS zählen, denn es gilt immer T IS V IS T IS + (n 1). Statt der durchschnittlichen Laufzeit über alle Permutationen können wir auch die erwartete Laufzeit einer zufälligen Permutation betrachten.

7 Erwartete Laufzeit von InsertionSort T : Zufallsvariable für die Anz. von Verschiebungen, die IS benötigt, um eine zufällige Permutation A[1..n] von 1,,..., n zu sortieren Was wäre eine gute Indikatorvariable um T auszudrücken? } 1 falls A[i] > A[j] T ij : für 1 i < j n. T j j 1 i1 T ij Anz. Pos., um die A[j] n. li. verschoben wird. T n j T j T und E[T ] ij E[T ij ] Aber was ist E[T ij ]? Laut Def. E[T ij ] P[T ij 1] 1 E[T ] n j j 1 i1 E[T ij ] n j j 1 1 n 1 j1 j n(n 1) 4

8 Zusammenfassung InsertionSort Satz. Satz. Kurz: [alt] Im besten Fall benötigt InsertionSort n 1 Θ(n) Vergleiche und 0 Verschiebungen. Im schlechtesten Fall benötigt InsertionSort n(n 1)/ Θ(n ) Vergleiche/Verschiebungen. [neu] Im Durchschnitt benötigt InsertionSort n(n 1)/4 Θ(n ) Verschiebungen und zwischen n(n 1)/4 und n(n 1)/4 + (n 1), d.h. Θ(n ), Vergleiche. Bei InsertionSort gilt Average Case asymptotisch Worst Case!

9 Geburtstagswahrscheinlichkeiten Frage: Frage : Wie groß ist die Wahrscheinlichkeit, dass mindestens zwei Leute hier im Hörsaal am gleichen Tag Geburtstag haben? [siehe Abschnitt 5.4, CLRS] Wie groß ist der Erwartungswert für die Anzahl X von Pärchen hier im Hörsaal, die am gleichen Tag Geburtstag haben? Was wäre eine gute Indikatorvariable um X auszudrücken? 1 falls i und j gleichen Geburtstag haben X ij : } für 1 i < j k; k Anz.Leute Dann gilt X X ij k k X ij. 1 i<j k i1 ji+1

10 Geburtstagserwartungen Es gilt: X ij : 1 falls G i G j } Geburtstag von Person i und X 1 i<j k X ij. Annahme: Gesucht: Alle n Tage sind gleich wahrscheinlich Geburtstage. E[X ij ] Pr[X ij 1] n t1 Pr[G i G j t] n n 1/n. E[X ] E ( ) k Ereignisse schließen sich gegenseitig aus! 1 i<j k 1 n X ij k(k 1) n 1 i<j k E[X ij ] Linearität des Erwartungswerts! 1 k(k 1) n. Für ein Jahr mit n 365 Tagen braucht man also nur k 8 Personen um ein Pärchen mit gleichem Geburtstag erwarten zu können. (Geht auch einfacher!)