Algorithmen und Datenstrukturen

Ähnliche Dokumente
Algorithmen und Datenstrukturen

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

Beispiel Zusammengesetzte Zufallsvariablen

Abschnitt: Algorithmendesign und Laufzeitanalyse

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

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

Faktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975)

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Bei dieser Vorlesungsmitschrift handelt es sich um kein offizielles Skript!

Kryptographie und Komplexität

Coupon Collector's-Problem (Sammelbilderproblem) Name: Walter Wolf Matrikelnr.: Dozent: Dr. W. Kössler

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Zufallsgrößen. Vorlesung Statistik für KW Helmut Küchenhoff

Kap. 4.2: Binäre Suchbäume

Algorithmik - Kompaktkurs

13.5 Der zentrale Grenzwertsatz


Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Wahrscheinlichkeitstheorie. Zapper und

16. All Pairs Shortest Path (ASPS)

7 Die Determinante einer Matrix

i x k k=1 i u i x i v i 1 0, ,08 2 0, ,18 3 0, ,36 4 0, ,60 5 1, ,00 2,22 G = n 2 n i=1

Regelmäßigkeit (Erkennen von Mustern und Zusammenhängen) versus Zufall

Die Pareto Verteilung wird benutzt, um Einkommensverteilungen zu modellieren. Die Verteilungsfunktion ist

Statistische Thermodynamik I Lösungen zur Serie 1

Einführung in die. Wahrscheinlichkeitstheorie und Statistik

Suchen und Sortieren (Die klassischen Algorithmen)

MATHEMATISCHE ANALYSE VON ALGORITHMEN

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Die Komplexitätsklassen P und NP

Statistik I für Betriebswirte Vorlesung 5

Kapitel 3. Zufallsvariable. Wahrscheinlichkeitsfunktion, Dichte und Verteilungsfunktion. Erwartungswert, Varianz und Standardabweichung

Algorithmen II Vorlesung am

Programmieren I. Kapitel 7. Sortieren und Suchen

Füllmenge. Füllmenge. Füllmenge. Füllmenge. Mean = 500,0029 Std. Dev. = 3,96016 N = ,00 490,00 495,00 500,00 505,00 510,00 515,00 Füllmenge

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Laufzeit und Komplexität

Versuch: Zufälliges Ziehen aus der Population

Informatik II Greedy-Algorithmen

$ % + 0 sonst. " p für X =1 $

Risiko und Versicherung - Übung

Kapitel 5: Dynamisches Programmieren Gliederung

Modelle und Statistiken

Einführung in die Informatik

q = 1 p = k k k = 0, 1,..., = [ ] = 0.678

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

RUPRECHTS-KARLS-UNIVERSITÄT HEIDELBERG

Die Binomialverteilung

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg

Kapitel 4. Grundlagen der Analyse von Algorithmen. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

1.5 Folgerungen aus dem Kolmogoroff- Axiomensystem P( ) = 0.

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou

Codes und Informationsgehalt

Ausarbeitung des Seminarvortrags zum Thema

Variationen Permutationen Kombinationen

Übungen zur Mathematik für Pharmazeuten

Klassische Risikomodelle

Stochastische Eingangsprüfung,

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen

Datenstrukturen & Algorithmen

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Risikomessung und Value at Risk Wintersemester 2013/14

SLAM. Simultaneous Localization and Mapping. KogSys-Sem-M2: Reading Club - SLAM - Andreas Habermann

Vorläufiger Modulkatalog Informatik für die Lehrämter an Hauptschulen, Realschulen und Gymnasien

Algorithmen und Datenstrukturen 2

Statistik. R. Frühwirth. Statistik. VO Februar R. Frühwirth Statistik 1/536

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Modul: Stochastik. Zufallsexperimente oder Wahrscheinlichkeit relative Häufigkeit Variation Permutation Kombinationen Binomialverteilung

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

= = = 3 10 = = 33

1. Grundlagen Sortieren Vertauschen Selektion Einfügen Quicksort Suchen...

Bei vielen Zufallsexperimenten interessiert man sich lediglich für das Eintreten bzw. das Nichteintreten eines bestimmten Ereignisses.

SOI Die Schweizer Informatikolympiade

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / Vorlesung 9, Dienstag 18.

Programmiertechnik II

Spezialvorlesung Online-Algorithmen. Matthias Westermann Berthold Vöcking Christian Sohler

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Grenzen der Berechenbarkeit

WS 2008/09. Diskrete Strukturen

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Bestimmen der Wahrscheinlichkeiten mithilfe von Zählstrategien

MATHEMATIK 3 STUNDEN. DATUM: 8. Juni 2009

Vorkurs Informatik WiSe 15/16

Messgeräte: Mess-System-Analyse und Messmittelfähigkeit

Betriebsarten für Blockchiffren

Lineare Programmierung

Grundkursabitur 2011 Stochastik Aufgabe III

Analytische Energiebedarfsbestimmung von Intralogistiksystemen in der Planungsphase

Ein Algorithmus für die

1 Von den Ereignissen U und V eines Zufallsexperiments kennt man die Eigenschaften (1) bis (3) :

MAXIMUM2.STR Struktogramme. Aufgabe: 3 Zahlen eingeben, größte Zahl ermitteln und ausgeben.

Aufgabe 2.1. Ergebnis, Ergebnismenge, Ereignis

Proseminar "Pattern Matching"

Grundlagen und Basisalgorithmus

Unsupervised Kernel Regression

Data Mining-Modelle und -Algorithmen

Transkript:

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

2 Inhaltsverzeichnis Ein Zufallsexperiment InsertionSort: erwartete bzw. Durchschnittslaufzeit Das Geburtstagsparadoxon

3 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 2 n + 1 2 n 2 +1 1 2 n

4 Modellierung Ein Ergebnis unseres Experiments entspricht einer Permutation der Zahlen 1, 2,..., 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]??

5-16 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 0 sonst. laut Def. E[M i ] 0 Pr[M i 0] + 1 Pr[M i 1] Pr[M i 1] Beispiel: Zahlenfolge (7, 2, 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

5-24 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 0 sonst. laut Def. E[M i ] 0 Pr[M i 0] + 1 Pr[M i 1] Pr[M i 1] Beispiel: Zahlenfolge (7, 2, 8, 5, 9, 1, 4, 6, 3) Pr[F i 1] WK, dass i. Zahl größer als n+1 2 ist Anz. der guten Ergebnisse Anz. aller Ergebnisse Anz. Perm., bei denen i. Zahl > n/2 Anz. aller Permutationen von n Zahlen i (n 1)! n 2 n! 1 2

6 Zurück zum Erwartungswert M i { 1, falls Münchner nach dem i. Essen zufrieden, 0 sonst. 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 2 n 2 M.a.W.: man kann erwarten, dass der Franke exponentiell zufriedener ist als der Münchner! ;-)

7 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, 2,..., n? Wissen: n 1 V IS n(n 1)/2 Beob. Vergleiche Statt Vergleiche können wir auch die Anzahl der Verschiebungen T IS zählen, denn wenn wir ein Element einfügen (innere Schleife von InsertionSort), gilt: # Verschiebungen # Vergleiche # Verschiebungen +1 Verschiebungen d.h. insg. gilt: T IS V IS T IS + (n 1).

8 Average-Case-Laufzeit vs. erwartete Laufzeit Beob. Statt der durchschnittlichen Laufzeit über alle Permutationen können wir auch die erwartete Laufzeit einer zufälligen Permutation betrachten. Warum? Betrachte Definition: E[T ] n 2 i0 i Pr[T i] hier: # Verschiebungen (d.h. Laufzeit) Anteil der Permutationen, die i Verschiebungen verursachen.

9 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, 2,..., 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. 0 sonst. T j j 1 i1 T ij Anz. Pos., um die A[j] n. li. verschoben wird. T n j2 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 2 E[T ] n j2 j 1 i1 E[T ij ] n j2 j 1 2 1 2 n 1 j1 j n(n 1) 4

10 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)/2 Θ(n 2 ) Vergleiche/Verschiebungen. [neu] Im Durchschnitt benötigt InsertionSort n(n 1)/4 Θ(n 2 ) Verschiebungen und zwischen n(n 1)/4 und n(n 1)/4 + (n 1), d.h. Θ(n 2 ), Vergleiche. Bei InsertionSort gilt Average Case asymptotisch Worst Case!

11 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 : 0 sonst. } 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

12 Geburtstagserwartungen Es gilt: X ij : { 1 falls G i G j 0 sonst. } 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 2 1/n. E[X ] E ( ) k 2 Ereignisse schließen sich gegenseitig aus! 1 i<j k 1 n X ij k(k 1) 2n 1 i<j k E[X ij ] Linearität des Erwartungswerts! 1 k(k 1) 2n. Für ein Jahr mit n 365 Tagen braucht man also nur k 28 Personen um ein Pärchen mit gleichem Geburtstag erwarten zu können. (Geht auch einfacher!)