Seminar Numerik stochastischer Modelle Low-Discrepancy Folgen (Low-Discrepancy Sequences) und die quasi Monte Carlo Methode Mathematisch-Naturwissenschaftlichen Fakultät I Humboldt-Universität zu Berlin von Hermann Schwarz Inhaltsverzeichnis 1 Einführung 1 2 Koksma-Hlawka Ungleichung [3] 2 3 Folgen kleiner Diskrepanz 3.1 Halton Folge [3] . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Van der Corput, Basis 2 . . . . . . . . . . . . . . . . . . . . . 3.3 Faure Folge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Simulation [3] . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Vergleich der Monte Carlo und Quasi-Monte Carlo Methoden . 6 6 7 7 9 9 i Kapitel 1 Einführung Als erstes möchte ich, dass wir uns an die Monte Carlo Mathode erinnern. Es handelt sich hierbei um eine Methode zur numerischen Integration mit Hilfe einer Folge von Zufallszahlen: Z1 0 N 1 X f (ξi ) f (u)du ≈ N i=1 (1.1) Die Funktion f ist eine bekannte Funktion, deren Integral wir approximieren möchten. Dafür wird die Summe der Funktionswerte dieser Funktion in den zufällig gewählten Punkten, multipliziert mit einem N-tel, berechnet. N ist dabei die Anzahl der zufälligen Punkte, und ξ1 , ..., ξN sind diese zufällig gewählte Punkte aus dem Intervall [0, 1]. Wenn die Punkte mit Hilfe folgender Regel gewählt werden: ξi = Ni heißt die Methode Trapezregel. Wenn die Punkte randomisiert oder pseudorandomisiert ausgewählt werden, handelt es sich um die Monte Carlo Methode. Wenn die Punkte aber aus der sogenannten Low-Discrepancy Folgen ausgewählt werden, wird die Methode als quasi-Monte Carlo Methode bezeichnet. Es wird heute also wieder um die Monte Carlo Methode gehen, allerdings in einer speziellen Form. Welche Motivation steckt hinter der quasi-Monte Carlo Methode? Die Folgen kleiner Diskrepanz, die auch quasi-random Folgen genannt werden, erlauben in vielen Fällen eine Verbesserung der Performanz der Monte Carlo Methode, also Kürzere Rechenzeiten und auch größere Genauigkeit. Die Genauigkeit der Berechnung des Integrals wird dadurch erhöht, dass eine Folge kleiner Diskrepanz gleichmäßiger über das Intervall zerstreut ist, über dem Integral berechnet werden soll. 1 Kapitel 2 Koksma-Hlawka Ungleichung [3] Diese Ungleichung ist ein bemerkenswertes Ergebnis, das uns zeigt, dass der Fehler, der bei der Verwendung der quasi Monte Carlo Methoden auftritt begrenzt ist, und zwar durch das Produkt zweier Terme. Einer der beiden Terme ist von der Funktion f abhängig, deren Intergral wir mit Hilfe der quasi Monte Carlo Methode approximieren. Der andere Term ist die Diskrepanz der Menge ξ1 , ..., ξN . Bevor ich die Ungelichung zeige, muss definiert werden, was eine Funktion endlicher Variation ist. Notation Für x ∈ [0, 1]s bezeichnen wir mit x̌ den Punkt, der sich symmetrisch bzgl. zum Zentrum vom Hyperwürfel [0, 1]s . Wenn eine Funktion auf diesem Hyperwürfel definiert ist, f : [0, 1]s → R, bezeichnen wir mit fˇ den Funktionswert dieser Funktion im Punkt x̌ (fˇ(x) = f (x̌)). Definition (Funktionen endlicher Variation) Eine Funktion f : [0, 1]s → R besitzt endliche Variation, falls ein Maß µ auf der σ-Algebra der Borelmengen des Intervalls [0, 1]s mit dem Träger in [0, 1]s \ 0 existiert, so dass fˇ(x) = fˇ(0) + µ[[0, x]] ∀x ∈ [0, 1]s Die Norm dieses Masses ||µ|| wird als Variation von f bezeichnet und wird mit V (f ). Da ich den Begriff der Diskrepanz einer Folge mehrmals verwenden werde, möchte ich ihn nochmal formulieren: 2 3 Definition (Diskrepanz) [2] Diskrepanz ist ein Maß dafür, wie weit die durch Folge ξ1 , ..., ξN gegebene empirische Verteilung von der Gleichverteilung auf [0, 1] entfernt ist. Formal: ∗ (ξ, N ) = sup | D∞ R∈J ∗ A(R; ξ) − λs (R)| N (2.1) wo ξ die Folge ξ1 , ..., ξN ist, λs ist s-dimensionales Lebesgue Maß, A(R; ξ) ist die Anzahl der Punkte aus ξ, die in R liegen. J ∗ ist die Menge der Intervalle der Form: s Q [0, ui ) , wobei ui im halboffenen Intervall [0, 1) liegt. i=1 Definition (Koksma-Hlawka Ungleichung) [3] Sei f eine Funktion mit endlicher Variation auf [0, 1]s und sei ξ = (ξn ) eine Folge in [0, 1]s , dann gilt für irgendein N Z N X 1 ∗ f (ξn ) ≤ V (f ) · D∞ (ξ, N ) (2.2) f (u)du − N n=1 [0,1]s Bevor wir diesen Satz Beweisen, müssen wir folgendes Lemma voraussetzen: Wir Bezeichnen mit µ̌ die Abbildung µ(x̌), wobei x̌ der bezüglich des Zentrums des Einheitswürfels [0, 1]s symmetrische Punkt ist. Lemma Sei µ ein Maß auf [0, 1]s , mit Verteilungsfunktion F . Dann gilt mit der Bezeichnung aus dem ersten Vortrag: Z Z π(x)dµ̌(x) = F (x)dx (2.3) Der Beweis der Koksma-Hlawka Ungleichung: Wir bezeichnen F := fˇ − fˇ(0) Dann Z Z N N 1 X 1 Xˇ ˇ f (ξn ) − f (x)dx = f (ξn ) − f (x̌)dx = N n=1 N n=1 ! Z Z N N X 1 X 1 F (ξˇn ) − F (x̌)dx = 1 ˇ − π(x) dµ̌(x) = N n=1 N n=1 x̌≤ξn 4 Z ! N 1 X 1ξ ≤x − π(x) dµ̌(x) N n=1 n Daraus folgt: Z N 1 X ∗ ∗ f (ξn ) − f (x)dx ≤ D∞ (ξ, N )||µ̌|| = D∞ (ξ, N )||µ|| N n=1 Diese Ungleichung stellt die Basis für die Überlegenheit der Quasi-Monte Carlo gegenüber der Monte Carlo Methode, weil der Fehler der Berechnung )s des Integrals gegen Null strebt, und zwar mit Geschwindigkeit O( (logN ). N Allerdings, wie in einem Paper von zwei Japanischen Mathematikern Hozumi Morohoshi und Masanori Fushimi über Fehlerabschätzung von quasi-Monte Carlo Methode beschrieben wurde, ist es fast unmöglich, Fehlerabschätzung mit Hilfe dieser Ungleichung zu machen, weil die Berechnung der Variation der Funktion f normalerweise unmöglich ist. Für die Fehlerabschätzung der quasi-Monte Carlo Methode gibt es deswegen Methoden, die für die Praxis mehr geeignet sind [1].) Für den Fall, wenn es doch möglich ist, die Variation der Funktion auszurechnen, kann man zur Erleichterung der Berechnung folgende Ungleichungen benutzen [3]. Sie können versuchen, diese Ungleichungen zu beweisen: Seien f, g : [0, 1]s → R, und sei λ ∈ R Dann gilt: V (f + g) ≤ V (f ) + V (g)V (λf ) = |λ|V (f )||f ||∞ ≤ |f (1)| + V (f ) Man kann auch folgende Eigenschaft der Variation benutzen: Seien f : [0, 1]s → R, f ∈ Cs Dann gilt: δ s f V (f ) = δx1 ....δxs 1 An der Ungleichung sieht man, dass die Größe des Fehlers von der Diskrepanz abhängt. Um den Fehler zu minimieren ist es also sinnvoll, Mengen von Punkten zu konstruieren, die möglichst gleichverteilt sind, d.h. mit möglichst kleiner Diskrepanz. Allerdings ist es unmöglich, die Diskrepanz beliebig klein 5 zu halten. Sie hat eine untere Schranke, die vom einem britischen Mathematiker Klaus Friedrich Roth entdeckt wurde: Theorem von Roth [3] Sei s ≥ 2 und sei ξ eine Folge aus dem Intervall [0, 1]s . ∀N ≥ 1 gilt: (s−1) (logN ) 2 ≥ > C(s) N wo C(s) > 0 eine Konstante ist, die nur von s abhängt. ∗ D∞ (ξ, N ) D2∗ (ξ, N ) (2.4) Falls s ≥ 1 ∀N ≥ 1 gilt: ∗ D∞ (ξ, N ) (logN ) > C (s) N 1 (s) 2 (2.5) Bemerkung Für die Logaritmen zur Basis 2, die beiden Ungleichungen sind gültig mit s−1 C(s) = (22s+4 (s − 1) 2 )−1 und C 1 (s) = C(s + 1) − Kapitel 3 Folgen kleiner Diskrepanz 3.1 Halton Folge [3] Sei p ≥ 2 eine natürliche Zahl. Wenn nun n = a0 + a1 p + ... + ak pk die p-adische Entwicklung von n ∈ N ist, wobei ai ∈ {0, ...., p − 1}, i = 0, ...., k (k+1 ist die Anzahl der Stellen der benutzten Zahl unter benutzten Basis). Dann ist die Zahl ϕp (n), eine Komponente eines Elements der Halton Folge, folgendermassen definiert: ak ϕp (n) = ap0 + ap21 + ... + pk+1 Die Halton Folge x1 , ..., xN mit xn ∈ [0, 1]s ist dann definiert durch: xn = (ϕp1 (n), ....., ϕps (n)) Die Zahlen p1 bis ps sind natürliche Zahlen größer Eins und paarweise relativ prim. Wir erhalten also N Folgenglieder, die s-dimensionale Vektore sind. Beispiel: wir möchten das 15. Glied der Halton Folge in einem 3-dimensionalen Raum ausrechnen. Wählen wir als erstes die Zahlen p1 , p2 und p3 aus. Da sie paarweise relativ prim sein müssen, können wir z.B. 2,3 und 5 nehmen. p-adische Entwicklungen von 15 mit Basen 2,3 und 5: Basis 2: 15 = 1 · 20 + 1 · 21 + 1 · 22 + 1 · 23 = 11112 Basis 3: 15 = 0 · 30 + 2 · 31 + 1 · 32 = 1203 Basis 5: 15 = 0 · 50 + 3 · 51 = 305 6 7 Nun berechnen wir die drei Komponenten des 15. Gliedes der Halton Folge: ϕ2 (15) = 12 + 212 + 213 + 214 = 0.11112 = 15 16 ϕ3 (15) = 0 3 + 2 32 + ϕ5 (15) = 0 5 + 3 52 = 0.035 = 1 33 = 0.0213 = 7 27 3 25 Diese drei Komponenten kann man auch als Spiegelung der Darstellung von der Zahl n (in unserem Fall die 15) in Basis p (in unserem Beispiel 2,3 und 5) am Komma bezeichnen. Das 15. Glied der Haltonfolge: 15 7 3 , 27 , 25 ) x15 = (ϕp1 (15), ϕp2 (15), ϕp3 (15)) = (ϕ2 (15), ϕ3 (15), ϕ5 (15)) = ( 16 Die Beschränkung der Diskrepanz: ! s s Y 1 X (pi − 1) ∗ s D∞ (x, N ) ≤ (3.1) pi + (2 log N ) N i=1 logpi i=1 s ∗ (x, N ) = O( (logNN ) ) Kurz geschrieben: D∞ Was man vielleicht noch zu Halton Folge sagen könnte, dass bei den Folgen ab der Dimension 14 klare Strukturen zu erkennen sind. 3.2 Van der Corput, Basis 2 Die eindimensionale Haltonfolge mit Basis 2 hat einen eigenen Namen, van der Corput Folge und gilt als die elementare Folge kleiner Diskrepanz und wird als Baustein für viele andere Folgen kleiner Diskrepanz verwendet. Da die Folge eindimensional ist, möchte ich mit Hilfe dieser Folge veranschaulichen, nach welchem Prinzip sie und die Halton Folge sich in einem Intervall bzw. in einem s-dimensionalen Würfel verteilen. (an der Tafel die ersten 8 Elemente der folge zeigen, als eine Übung anbieten, die ersten 8 Elemente auszurechnen ) 3.3 Faure Folge Bei der Erzeugung der Faure Folgen, wie auch bei vielen anderen, wie z.B. Hammerslay Folgen, wird die Spiegelung der Darstellung von der Zahl n in 8 Basis p benutzt, wenn wir das n-te Glied einer Folge kleiner Diskrepanz ausrechnen möchten. Faure Folgen sind also den Halton Folgen sehr ähnlich, und haben mit denen nur zwei Unterschiede. Erstens für die Konstruktion dieser Folge wird nur eine Basis für alle Dimensionen verwendet. Und zweitens werden hier für jede Dimension durch Permutationen gebildet. Sei s ≥ 1 und wir wählen eine Primzahl p ≥ s. Sei ∆p Menge der p-adischen Entwicklungen rationaler Zahlen aus dem Intervall [0, 1[ Wir definieren eine Abbildung Cp : ∆p → ∆p , die die Menge der p-adischen Entwicklungen rationaler Zahlen auf sich selbst abbildet. Hier ist noch einmal die p-adische Entwicklung der rationalen Zahl n: ak ϕpi (n) = ap0i + ap21 + ... + pk+1 i i Diese Entwicklung, wie wir schon wissen, ist die Darstellung der i-ten Komponente eines Elements der Halton Folge. k k k P P P (ki )ai mod p (0i )ai mod p (1i )ai mod p i=0 i=1 i=k Cp (ϕp (n)) = + + ... + p p2 pk+1 Wenn wir die Abbildung Ci j-mal Anwenden, setzen wir sie gleich Null, wir schreiben Cij = 0, falls j>i≥0 j i Falls i ≥ j ≥ 0, Ci = j Die Abbildung Cp ist injektiv und es gilt: (Cp )p = Id, wenn man also die Abbildung p-mal anwendet, bildet man die p-adische Entwicklung einer rationaler Zahl auf sich selbst ab. Es gilt auch (Cp )−1 = (Cp )p−1 . Sei nun s ≥ 2 und p ≥ 3 ist eine Primzahl, so dass p ≥ s. Die Faure Folge x1 , ..., xN mit xn ∈ [0, 1]s ist dann definiert durch: xn = (ϕp (n), Cp (ϕp (n)), Cp2 (ϕp (n)), ....., Cps−1 (ϕp (n))) Die Basis der Faure Folge ist also die kleinste Primzahl, die größer gleich der Dimensionzahl ist. Das erweist sich als vorteilhaft bei Problemen mit großer Dimensionszahl. Z.B. wenn das Problem Dimensionsgröße 50 hat, würden wir für die 50. Dimension eines Elements der Halton Folge die 50. Primzahl verwenden, nämlich 229. Für die Faure Folge müssten wir aber an dieser Stelle die Primzahl 53 nehmen. Damit werden die leeren Stellen mit Faure besser als mit Halton Folgen ausgefüllt, wenn das Problem hochdimensional ist. Die Diskrepanz wird vom folgenden Term begrenzt: s 1 1 p−1 s s−1 ∗ (log N ) + O((log N ) ) D∞ (x, N ) ≤ N s! 2 log p (3.2) 9 3.4 Simulation [3] Angenommen, X ist eine gleichverteilte Zufallsvariable auf [0, 1]s und f ist eine Riemann-integrierbare Funktion definiert auf disem s-dimensionalen Intervall [0, 1]s . Anstatt nun den Erwartungswert folgendermassen zu berechnen: N 1 X f (Un )f.s. (3.3) E [f (X)] = lim N →∞ N n=1 wo (Un ) Folge von Borelmengen in [0, 1]s , können wir nun (Un ) durch die gleichverteilte Folge (xn ) in [0, 1]s ersetzen. Der Vorteil dieser Methode ist, dass sie schneller ist, vorausgesetzt, die Folge (xn ) ist geeignet und die Funktion f ist nicht zu irregulär. Außerdem gibt es ein deterministisches Abbruchkriterium der Berechnung, und zwar die Koksma-Hlawka ungleichung. 3.5 Vergleich der Monte Carlo und Quasi-Monte Carlo Methoden Die Benutzung der pseudo-zufälligen Zahlen (damit sind die Zahlen gemeint, die mit Zufalsgeneratoren erzeugt werden) für Berechnung von Erwartungswerten ist eine ziemlich gängige Methode (Monte Carlo). Es funktioniert aber mit einer Durchschnittlichen Fehlerfreiheit. Exaktheit des Ergebnisses ist aber ein sehr wichtiger Aspekt, wenn beispielsweise Ingenieure die wahrscheinlichkeitstheoretischen Modelle benutzen. Wir müssen trotzdem e inige Punkte im Kopf behalten: 1. Für keine Folge, die explizit angegeben werden kann, kann bewiesen werden, dass sie wirklich zufälligen Charakter haben. Es gibt tiefliegende theoretische Gründe dafür. (unter anderem von Donald Knuth, in seinem Lebenswerk „The Art of Computer Programming“ beschrieben). 2. Wir können nicht verlangen, dass jede Eigenschaft aus der Mengentheorie von der Folge erfüllt ist, die wir konstruiert haben, aber wenigstens die wichtigsten Eigenschaften, wie Eigenschaft einer Normalen Folge im Sinne von Borel (wenn die Teilfolgen gleicher Länge sich mit gleicher Frequenz wiederholen), oder χ Quadrat Regel (zeigt, wie gut eine 10 statistisches Modell (unsere Folge) der erwartete Folge entspricht). Allerdings gibt es viele Folgen, die diese Eigenschaften erfüllen, aber in wirklichkeit keine guten pseudo-zufälligen Folgen sind. 3. In der Praxis bekommt man die pseudo-zufälligen Folgen auf folgende Weise: Familien von Zufallsgeneratoren werden durch statistische Tests überprüft und die erzeugten Folgen, die nicht so gut sind, werden eliminiert. Es gibt eine breite Vielfalt an Tests. (Beschrieben unter anderem von D.Knuth). Dadurch erhält man Folgen, die als brauchbar angesehen werden können. Die meisten von ihnen sind endlich (z.B. periodische Folgen), aber es ist auch möglich unendliche Folgen zu konstruieren. Die gleichverteilten Folgen, die in der quasi-Monte Carlo Methode verwendet werden, sind anders in ihrer Natur als die pseudozufälligen Folgen in der Monte Carlo Methode. Über diese gleichverteilten Folgen kann man sagen, dass ihre Eigenschaft der gleichverteilung bleibt bestehen. 4. Was man noch bei beiden Methoden vergleichen kann, sind die Geschwindigkeiten der Berechnung. Dieser Vergleich wurde von Sarkar und Prasad (USA) 1987 gemacht. Die beiden Mathematiker haben gezeigt, dass für alle zur Zeit bekannten Folgen kleiner Diskrepanz, die auf einem s-dimensionalen Intervall [0, 1]s definiert sind, wächst die Anzahl der benötigten Simulationen in Abhängigkeit von s sehr schnell, wenn sich die Genauigkeit der quasi-Monte Carlo Methode von der Genauigkeit der Monte Carlo Methode nicht unterscheiden soll. Daher nutzt man die quasi-Monte Carlo Methode eher für Probleme kleiner Dimension. Literaturverzeichnis [1] Hozumi Morohosi, Masanori F.: A Practical Approach to the Error Estimation of Quasi-Monte Carlo Integrations. (1998). – URL http: //www.keisu.t.u-tokyo.ac.jp/Research/METR/1998/METR98-10.pdf [2] Kainhofer, Reinhold: Quasi-Monte Carlo Methoden. (2005). – URL http://reinhold.kainhofer.com/Papers/Kainhofer_Talk_ QMC_Wissenswertes_20-06-2005.pdf [3] N. Bouleau, D. L.: Numerical Methods for Stochastic Processes. New York : Wiley, 1994. – Kapitel 2C S 11