49

Gott würfelt nicht - KITtkuhr/HauptseminarWS0910/Kunz.pdf · Monte-Carlo-Methode mit Pseudo- und Quasizufallszahlen David Kunz Einführung Zufallszahlen verteilte Zufallszahlen Integration

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Gott würfelt nicht

Monte-Carlo-Methodemit Pseudo- und Quasizufallszahlen

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Inhaltsverzeichnis

● Einführung● Pseudo- und Quasizufallszahlen● verteilte Zufallszahlen● Monte-Carlo-Integration● Monte-Carlo-Simulation

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Einführung

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Monte-Carlo-Methode● Bekannt nach Stadt Monte Carlo (wegen Casino) ● verwendet Prinzipien der Wahrscheinlichkeitsrechnung und Statistik● benutzt Zufallszahlen → „Methode der statistischen Versuche“● Fähigkeit, komplexe Probleme näherungsweise zu lösen● Schwierigkeitsgrad relativ gering

Fähigkeiten:● numerische Lösung von Problemen (Integrale, DGL, usw.) → deterministisch

● Simulation von Systemen mit Unsicherheiten → stochastisch

Einsatzgebiete:● Teilchenphysik● Astrophysik● Risikomanagement● ...

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Zufallszahlen

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Pseudozufallszahlen● Zufallszahlen ϵ [0,1] „zufällig“ durch Computer erzeugt ● linear kongruenter Generator:

I j=a⋅I j−1c mod m Bsp: 7 mod 2 = 1weil: 7/2=3 Rest 1

● Zufallszahl durch:● benötigt 3 ganzzahlige Konstanten:

z. B.

● und eine Saat:

a , c ,m ϵ ℤx j x j=I j /m

m=231−1, c=0, a=16807 (Park Miller Generator)

I 0

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Pseudozufallszahlen

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Quasizufallszahlen● gleichförmig verteilte zahlentheoretische Punktfolgen● nicht mehr unabhängig → systematisch konstruiert

● Richtmyer-Generator:

k-te Koordinate des i-ten Punkts:

mit : k-te Primzahl

● n Zufallsgeneratoren der n Dimensionen voneinander unabhängig

xik=ipk mod 1

pk

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Quasizufallszahlen

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Beispiel: Berechnung von Pi● erzeuge Punkte mittels zwei Pseudozufallszahlen und ϵ [0,1]

● Zähle Punkte innerhalb von Kreis (Radius 1)

● Pi erhält man dann aus:

N totx1 x2

N ac

x12x2

2≤1

pi=4N ac

N tot

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

pi=3,13vgl.

=3,14

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Gitter, Pseudozufallszahlen oder Quasizufallszahlen?

Simulation● Pseudozufallszahlen

Integration● Entscheidung durch Fehlerabschätzung:

=∣QN f − If ∣≤V f D∗∞ PN

Koksma-Hlawka-Ungleichung für Integrationsfehler

Diskrepanz (Maß für Ungleichverteilung)

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Gitter, Pseudozufallszahlen oder Quasizufallszahlen?

Diskrepanz∣n−N vol J ∣ klein für alle J

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Gitter, Pseudozufallszahlen oder Quasizufallszahlen?

Integration● Für Dimensionen : Quasizufallszahlen bessere Diskrepanz als Pseudozufallszahlen

● Für Dimensionen : Kleinere Diskrepanz → kleinerer Fehler

→ Vorteil von Quasizufallszahlen mit größeren

● kleine N: Gitter so genau wie Quasizufallszahlen

● große N (ca. 2000): Gitter schlechtere Ergebnisse als Quasizufallszahlen

● Für : Gitter schlechter als Pseudozufallszahlen

● weiterer Nachteil von Gitter: Keine kontinuierliche Steigerung von N

s≤20

s≤10

s≥4

s

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

verteilte Zufallszahlen

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

verteilte Zufallszahlen● benötigt bei Integration und Simulation● gegeben: Homogen verteilte Zufallszahlen● gesucht: Zufallszahlen, die einer Wahrscheinlichkeitsdichte folgen

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wegwerfmethode (von Neumann's Acceptance-Rejection Method)

● Wahrscheinlichkeitsdichte f(x)● Eingrenzung (Box zwischen x1, x2 und fmax)● generiere Zufallszahl ϵ [x1,x2]● generiere zweite Zufallszahl u ϵ [0,fmax]● für u<f(x) wird x akzeptiert, ansonsten verworfen● wiederhole Vorgang

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Variablentransformation● gegeben: Wahrscheinlichkeitsdichte f(x) Zufallszahlen u ϵ [0,1] mit g(u)=const.

● Methode: Transformiere u→x:

∫−∞

ug u ' du '=∫−∞

x uf x ' dx '

u=F x u

F−1u= x u

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

VariablentransformationF−1u=x u

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

VariablentransformationBsp: F−1u=x u f x =e−x F x=∫0

xdx ' e−x '=−e−x1

F−1u=−ln 1−u=x u

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Majorantenmethode(importance sampling)

● Kombination: Wegwerfmethode und Variablentransformation● wähle alle x

● generiere Zufallszahlen, die m(x) folgen (Variablentransformation)● generiere pro Zufallszahl x eine Zufallszahl u ϵ [0,m(x)]● verwerfe Zufallszahlen mit u>f(x)

m x f x

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Majorantenmethode(importance sampling)

Bsp: Planck-Verteilung

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Majorantenmethode(importance sampling)

Bsp: Planck-Verteilung

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Monte-Carlo-Integration

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Monte-Carlo-Integration

I=∫xa

xb y x ' dx ' mit y x ' 0

kann auf mehrere Dimensionen verallgemeinert werden

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Primitive Wegwerfmethode● erzeuge 2D-Zufallszahlen in Kasten zwischen , und ● Anzahl Punkte unterhalb y(x): ● Anzahl aller Punkte: ● Fläche des Kastens:

xa xb ymaxN

N 0I 0

I≈ I 0NN 0

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Primitive Wegwerfmethode● Unsicherheit durch Binomialverteilung:

P N =N 0

N N 1−N 0−N

Erfolgswahrscheinlichkeit ≈ NN 0

N=N 01−

II =N

N =1−N

II =1−

N

● Verbesserung durch Erhöhung von

● Verbesserung durch Erhöhung von NN 0

N

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Majorantenmethode● finde Majorante m(x) zu y(x)● erzeuge Punkte x', die Wahrscheinlichkeitsdichte m(x') folgen● dann → Wegwerfmethode:● generiere zu jedem ein mit ● Anzahl der Punkte unterhalb : N

I≈ I 0NN 0

I 0=∫xa

xb mx ' dx '

x ' y ' 0≤ y '≤mx ' y x '

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wichtungsmethode

● mittle Funktionswerte mit Zufallszahlen zwischen und :

● entspricht herkömmlicher numerischer Integration● Unterschied: Stützstellen sind zufällig verteilt

I=∫xa

xb y x ' dx '

xa xb

y=1N ∑i=1

Ny xi

I≈xb− xa y

y 2≈ 1N N−1∑i

y xi−y ² II =y

y

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Wichtungsmethode

y 2≈ 1N N−1∑i

y xi−y ²

● Verbesserung durch Reduzierung der Schwankungen

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Vorteile der Monte-Carlo-Integration

● bessere Konvergenz für s-dimensionale Integrale mit als bei herkömmlicher numerischer Integration

● einfachere Behandlung der Integrationsgrenzen● Genauigkeit kann kontinuierlich gesteigert werden● Fehler leichter abschätzbar

s≥4

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Monte-Carlo-Simulation

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Photomultiplier

● herausgeschlagene Elektronen folgen Poisson-Verteilung

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Photomultiplier

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Photomultiplier

David KunzMonte-Carlo-Methode mit Pseudo- und Quasizufallszahlen Einführung Zufallszahlen verteilte Zufallszahlen Integration Simulation

Fragen? Diskussion