Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Technische Universität München Hauptseminar: Einfache Monte Carlo-Algorithmen Zufallszahlen (Kapitel 1.1 & 1.3, Müller-Gronbach, T., Novak & Ritter, K.

Ähnliche Präsentationen


Präsentation zum Thema: "Technische Universität München Hauptseminar: Einfache Monte Carlo-Algorithmen Zufallszahlen (Kapitel 1.1 & 1.3, Müller-Gronbach, T., Novak & Ritter, K."—  Präsentation transkript:

1 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) , Vincent Höhn

2 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öhn2

3 Technische Universität München , Vincent Höhn 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 3

4 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

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

6 Technische Universität München Vincent Höhn, 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

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

8 Technische Universität München Vincent Höhn, 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

9 Technische Universität München Worum gehts?: 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 Beispiel9

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

11 Technische Universität München Vincent Höhn, 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

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

13 Technische Universität München Vincent Höhn, 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

14 Technische Universität München 2.2 Arten von Zufallsgeneratoren14 Zufallsgenerator deterministisch (Pseudozufallszahlen) nichtdeterministisch (echte Zufallszahlen) Physikalisch z.B.: radioaktiver Zerfallsvorgang quasizufällige Ereignisse z.B.: Systemzeit 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.

15 Technische Universität München Vincent Höhn, 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

16 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|= 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 Mersenne Twister: |B|=

17 Technische Universität München Zwei Möglichkeiten zur Wahl des Startwerts (=seed): »Benutzer gibt ihn vor (R: set.seed() ) »System erzeugt ihn 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 MATLAB: resettet Startwert bei jedem Start von MATLAB. R: generiert Startwert basierend auf der Systemzeit

18 Technische Universität München Vincent Höhn, 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

19 Technische Universität München Mersenne Twister & Generator TT800: »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 TT800: Periodenlänge: - 1 gleiches Funktionsprinzip, weniger Startwerte 2.4 Beispiele für Zufallsgeneratoren19

20 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 Zufallsgeneratoren20

21 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, …(www.mathisfun.com) Anschließend Simulation als Random-Walk »Färbung anhand der Position der Dezimalstelle »gigapan.com/gigpans/ ersten 100 Mrd. Stellen (rot, orange, grün, kurz vor 100 Mrd.ster Stelle blau violett) 2.4 Beispiele für Zufallsgeneratoren21

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

23 Technische Universität München Vincent Höhn, 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

24 Technische Universität München Zufallszahlen aus [0;1]: – d-dim. Zufallsvektor X ist gleichverteilt auf falls er die Lebesgue- Dichte besitzt. & – 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 von jeweils auf [0;1] gleichverteilten Zufallsvariablen. 3 Zufallszahlen und gleichverteilte Zufallsvariablen24

25 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 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 Zufallsvariablen25

26 Technische Universität München Q&A26


Herunterladen ppt "Technische Universität München Hauptseminar: Einfache Monte Carlo-Algorithmen Zufallszahlen (Kapitel 1.1 & 1.3, Müller-Gronbach, T., Novak & Ritter, K."

Ähnliche Präsentationen


Google-Anzeigen