Technische Universitt Mnchen Hauptseminar Einfache Monte CarloAlgorithmen Zufallszahlen

  • Slides: 26
Download presentation
Technische Universität München Hauptseminar: Einfache Monte Carlo-Algorithmen Zufallszahlen (Kapitel 1. 1 & 1. 3,

Technische Universität München Hauptseminar: Einfache Monte Carlo-Algorithmen Zufallszahlen (Kapitel 1. 1 & 1. 3, Müller-Gronbach, T. , Novak & Ritter, K. (2012). Monte Carlo-Algorithmen) 17. 10. 2013, Vincent Höhn

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen 17. 10. 2013, Vincent Höhn 2

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen 17. 10. 2013, Vincent Höhn 3

Technische Universität München Definition (randomisierter Algorithmus): „Ein Algorithmus, der im Laufe seiner Ausführung gewisse

Technische Universität München Definition (randomisierter Algorithmus): „Ein Algorithmus, der im Laufe seiner Ausführung gewisse Entscheidungen zufällig trifft, heißt randomisierter Algorithmus" Ø Algorithmen, die neben den „normalen“ Befehlen auch Befehle der Art • Wähle x [0, 1] zufällig • Wähle x {0, . 1, …, N-1} zufällig erlauben Definition (Monte Carlo Algorithmus): „Monte Carlo-Algorithmen sind randomisierte Algorithmen, die mit einer kleinen Wahrscheinlichkeit ein falsches Ergebnis liefern dürfen. “ 1. 1 Was sind Monte Carlo-Algorithmen? 4

Technische Universität München Literatur: ‚stochastische Algorithmen‘ = ‚Monte Carlo Algorithmen‘ = ‚randomisierte Algorithmen‘ Randomisierter

Technische Universität München Literatur: ‚stochastische Algorithmen‘ = ‚Monte Carlo Algorithmen‘ = ‚randomisierte Algorithmen‘ Randomisierter Algorithmus Las Vegas-Algorithmus Monte Carlo-Algorithmus Suchprobleme Entscheidungsprobleme Einseitiger Fehler 1. 1 Was sind Monte Carlo-Algorithmen? Zweiseitiger Fehler 5

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen Vincent Höhn, 17. 10. 2013 6

Technische Universität München Vor- & Nachteile von Monte Carlo-Algorithmen + - Einfachheit: Unkorrektheit: Implementierung

Technische Universität München Vor- & Nachteile von Monte Carlo-Algorithmen + - Einfachheit: Unkorrektheit: Implementierung & Verständnis Ergebnis nicht zwangsläufig richtig 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 7

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen Vincent Höhn, 17. 10. 2013 8

Technische Universität München Worum geht‘s? : • Zufällige, aber gleichverteilte Erzeugung von Punkten innerhalb

Technische Universität München Worum geht‘s? : • Zufällige, aber gleichverteilte Erzeugung von Punkten innerhalb eines Quadrats • Wie viele Punkte sind innerhalb des vom Quadrat eingeschlossenen Kreises? • z. B. pro Durchlauf jeweils drei Punkte • Startsituation: 1. 3 Kurzes motivierendes Beispiel 9

Technische Universität München Ablauf/Durchführung: Treffer: 3 Gesamt: 3 Treffer: 4 Gesamt: 6 Treffer: 7

Technische Universität München Ablauf/Durchführung: Treffer: 3 Gesamt: 3 Treffer: 4 Gesamt: 6 Treffer: 7 Gesamt: 9 Laufzeit: • 3000 erzeugte Punkte: 0. 000446 s • 3. 000 erzeugte Punkte: 3 m 31 s Treffer: 9 Gesamt: 12 Treffer: 12 Gesamt: 15

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen Vincent Höhn, 17. 10. 2013 11

Technische Universität München Enrico Fermi John von Neumann Stanislaw Ulam • 1930 er: Erste

Technische Universität München Enrico Fermi John von Neumann Stanislaw Ulam • 1930 er: Erste signifkante wissenschaftliche Verwendung von MCSimulationen durch Enrio Fermi zum Neutronentransport in spaltbarem Material. • 1940 er: Entwicklung des ersten numerischen Verfahrens zur Lösung hyperbolischer partieller Differentialgleichungen durch John von Neumann und Stanislaw Ulam. 2. 1 Pioniere der randomisierten Algorithmen 12

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen Vincent Höhn, 17. 10. 2013 13

Technische Universität München Zufallsgenerator nichtdeterministisch (‚echte‘ Zufallszahlen) Physikalisch quasizufällige Ereignisse z. B. : radioaktiver

Technische Universität München Zufallsgenerator nichtdeterministisch (‚echte‘ Zufallszahlen) Physikalisch quasizufällige Ereignisse z. B. : radioaktiver Zerfallsvorgang z. B. : Systemzeit deterministisch (Pseudozufallszahlen) Ein deterministischer Zufallsgenerator erzeugt eine Zahlenfolge, die zwar zufällig aussieht, es aber nicht ist. Die Folgen sind periodisch und bei selbem Startwert liefert der Generator immer dieselbe Folge. => Reproduzierbarkeit => Für M. C. Algorithmen werden deterministische Pseudozufallsgeneratoren verwendet. 2. 2 Arten von Zufallsgeneratoren 14

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen Vincent Höhn, 17. 10. 2013 15

Technische Universität München Bestandteile eines Pseudozufallszahlengenerator in Z=[0; 1] oder Z={0, …, N-1}: »

Technische Universität München Bestandteile eines Pseudozufallszahlengenerator in Z=[0; 1] oder Z={0, …, N-1}: » Endliche Menge A und B » Abbildungen g: A B f: B B h: B Z Typischer Wert für Kardinalität von B: |B|= Mersenne Twister: |B|= Vorgehen: » Wahl eines Startwerts » definiert Folge in B » Sukzessive Aufrufe des Generators (x: =rand(), werden Pseudo-Zufallszahlen erzeugt » Stets Startwert s und verwendeten Generator angeben 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 16

Technische Universität München Zwei Möglichkeiten zur Wahl des Startwerts (=‚seed‘): » Benutzer gibt ihn

Technische Universität München Zwei Möglichkeiten zur Wahl des Startwerts (=‚seed‘): » Benutzer gibt ihn vor (R: set. seed() ) » System erzeugt ihn MATLAB: resettet Startwert bei jedem Start von MATLAB. R: generiert Startwert basierend auf der Systemzeit Es sollten nur Zufallszahlengeneratoren benutzt werden, die sich für ähnliche Probleme bereits gut bewährt haben. Darüber hinaus sollten wichtige Rechnungen nach Möglichkeit mit verschiedenen Generatoren durchgeführt werden. 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 17

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen Vincent Höhn, 17. 10. 2013 18

Technische Universität München • Mersenne Twister & Generator TT 800: » 1997 entwickelt von

Technische Universität München • Mersenne Twister & Generator TT 800: » 1997 entwickelt von Makoto Matsumoto und Takuji Nishimura » Extrem lange Periode: » Algorithmus: Startwerte » » » Zählt zur Gruppe der linearen Generatoren Nicht für kryptographische Zwecke geeignet Sehr schnell & Zufallszahlen hoher Güte Standard-Generator in MATLAB, R und MAPLE „kleiner Bruder“ TT 800: Periodenlänge: -1 gleiches Funktionsprinzip, weniger Startwerte 2. 4 Beispiele für Zufallsgeneratoren 19

Technische Universität München • Advanced Encryption Standard (AES) » 1997/1998 entwickelt von Joan Daemen

Technische Universität München • Advanced Encryption Standard (AES) » 1997/1998 entwickelt von Joan Daemen und Vincent Rijmen » Nachfolger des ‚Data Encryption Standard‘ » Basiert auf dem Rijndael-Verschlüsselungsalgorithmus » Sehr sicherer Kryptologie-Algorithmus » Verwendung für Dokumente höchster Geheimhaltungsstufe 2. 4 Beispiele für Zufallsgeneratoren 20

Technische Universität München • Betrachtung der Nachkommastellen einer irrationalen Zahl: » Betrachtung von ,

Technische Universität München • Betrachtung der Nachkommastellen einer irrationalen Zahl: » Betrachtung von , e, ln(2) oder » Nicht-periodische Zahlenfolge(!) » Gleichverteilung wird vermutet, aber ist nicht bewiesen • Kurzer Exkurs: Normalität von : » Sequenzen jeglicher Länge sind jeweils gleichverteilt (P(1)=P(2), P(1 2 3)=P (3 8 5)) » David Bailey: Umrechnung in quartäres Zahlensystem = 3, 0210033…(www. mathisfun. com) Anschließend Simulation als Random-Walk » Färbung anhand der Position der Dezimalstelle » gigapan. com/gigpans/106803 ersten 100 Mrd. Stellen (rot, orange, grün, kurz vor 100 Mrd. ster Stelle blau violett) 2. 4 Beispiele für Zufallsgeneratoren 21

Technische Universität München 1. 1 Was sind Monte Carlo-Algorithmen? 22

Technische Universität München 1. 1 Was sind Monte Carlo-Algorithmen? 22

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor-

Technische Universität München 1 Allgemeines 1. 1 Was sind Monte Carlo-Algorithmen? 1. 2 Vor- & Nachteile von Monte Carlo-Algorithmen 1. 3 kurzes motivierendes Beispiel 2 Zufallszahlengeneratoren 2. 1 Pioniere der randomisierten Algorithmen 2. 2 Arten von Zufallsgeneratoren 2. 3 Wie funktioniert ein Pseudozufallszahlengenerator? 2. 4 Beispiele für Zufallsgeneratoren 3 Zufallszahlen und gleichverteilte Zufallsvariablen Vincent Höhn, 17. 10. 2013 23

Technische Universität München Zufallszahlen aus [0; 1]: – d-dim. Zufallsvektor X ist gleichverteilt auf

Technische Universität München Zufallszahlen aus [0; 1]: – d-dim. Zufallsvektor X ist gleichverteilt auf Dichte besitzt. falls er die Lebesgue& – Konstruktion eines d-dim. auf gleichverteilten Zufallsvektor durch Zusammenfassen von d unabhängigen auf [0; 1] gleichverteilten Zufallsvariablen. – Zerlegungssatz: „Unterteilt man eine unabhängige Folge von n*d reellwertigen auf [0; 1] gleichverteilten Zufallsvariablen in die disjunkten Blöcke , so erhält man eine unabhängige Folge von n Zufallsvektoren der Dimension d, die jeweils auf gleichverteilt sind. – idealer Generator auf [0; 1]: unabhängige Folge [0; 1] gleichverteilten Zufallsvariablen. 3 Zufallszahlen und gleichverteilte Zufallsvariablen von jeweils auf 24

Technische Universität München • Zufallszahlen aus {0, …, N-1}: – Zufallsvariable X gleichverteilt auf

Technische Universität München • Zufallszahlen aus {0, …, N-1}: – Zufallsvariable X gleichverteilt auf endlicher Menge B mit N Elementen, falls alle Elemente aus B dasselbe Gewicht 1/N besitzen. – Idealer Generator auf {0, …N-1}: unabhängige Folge von jeweils auf B gleichverteilten Zufallsvariablen. n-maliger Aufruf des Generators liefert uns n Zufallszahlen aus B. – Konstruktion von auf {0, …, N-1} gleichverteilten Zufallszahlen durch auf [0; 1] gleichverteilten Zufallszahlen mit Hilfe der floor-Funktion. 3 Zufallszahlen und gleichverteilte Zufallsvariablen 25

Technische Universität München Q&A 26

Technische Universität München Q&A 26