Die Anzahl der Methoden um Pi zu berechnen ist riesig und auch unter den Monte Carlo Methoden gibt es mehrere Algorithmen, um zu einem Ergebnis zu kommen. Die folgende Methode lässt sich, wie wir sehen werden, auf andere Aufgabenstellungen verallgemeinern.
Denken wir uns einen kreisrunden Teich, der in einen quadratischen Teich bündig eingepasst ist und die voneinander nur durch eine (möglichst) dünne Wand getrennt sind. Beide Teiche sind zunächst leer und wir warten darauf, dass es anfängt zu regnen. Nicht nur so ein paar Tropfen, sondern ordentlich. Wenn der Regen aufgehört hat, messen wir die Wassermenge in beiden Teichen: des äußeren (V
a) und des inneren (V
i). Die Gesamtmenge des Regenwassers entspricht der Fläche des Quadrates, die Menge des Wassers im kreisförmigen Teich der Fläche des Kreises, genauer: bildet man den Quotienten V
i / (V
i + V
a) kürzt sich die in beiden Teichen gleichgroße Höhe h des Wasserstandes heraus:
$\frac{V_i}{V_i + V_a} = \frac{hF_i}{hF_i + hF_a} = \frac{F_i}{F_i + F_a}$
Nun ist aber F
i ja gerade die Fläche des Kreises. Da F
i andererseits gleich π r
2 ist und r = 0,5 (das Quadrat wird mit der Seitenlänge 1 angenommen), so berechnet sich π zu
$4 \frac{F_i}{F_i + F_a} = 4 \frac{V_i}{V_i + V_a}$
Den Bau zweier solcher Teiche ersetzen wir nun durch ein zweidimensionales Modell und statt des Regens lassen wir Zufallstropfen aufs Blatt fallen. Außerdem reduzieren wir den Vollkreis auf einen Viertelkreis. Schreiben wir nun die Randbedingungen nochmals übersichtlich auf:
Quadrat der Seitenlänge 1 (in einem kartesischen Koordinatensystem [0, 1) x [0, 1)).
Darin einbeschrieben ein Viertelkreis mit Radius r = 1.
Ein Zufallstropfen ist ein Koordinatenpaar (x, y) zweier reeller Zufallszahlen jeweils zwischen 0 und 1.
Nun lässt man die Zufallstropfen regnen und zählt, wie viele im Kreis landen (innen) und wieviele außerhalb (außen). Genauso wie im obigen Beispiel kann man so π näherungsweise berechnen, nämlich:
$\pi = 4 \frac{innen}{innen + aussen}$
Die Zählung innen versus außen erfolgt programmtechnisch über einen Vergleich am "Kreisrand" der Form x² + y² <= r²; erfüllt ein Zufallspunkt diesen Vergleich, liegt er innerhalb des Kreises (oder auf seinem Rand), sonst außerhalb.
Auch hierzu entstand ein kleines Programm, das ich mit einer Visualisierung des "Regnens" verbunden habe.
Das erste Bild, zeigt eine vergleichsweise geringe Anzahl von Regentropfen, nämlich 50000, sie sind hier zunächst in schwarzer Farbe dargestellt:
Da die Anzahl der Zufallspunkte in [0, 1) x [0, 1) (im nächsten Bild 1.000.000) allgemein um ein Vielfaches größer ist als die Anzahl der Bildschirmpixel, kommt es sehr schnell dazu, dass auf ein Bildschirmpixel mehrere Zufallsregentropfen fallen. Dies wird in der nächsten Darstellung durch eine immer dunklere Färbung der Pixel visualisiert:
Zum Vergleich dazu die Ausgabe von 100000 Regentropfen:
Auch bei diesem Beispiel hängt die Genauigkeit der Näherung an π von der Anzahl der Zufallspunkte ab. Folgende Tabelle zeigt einige Ergebnisse:
Der Vergleich zur Methode von Buffon wäre an dieser Stelle verfrüht, da einerseits keine Aussagen über den Zeitaufwand der Berechnungen gemacht wurden und andererseits hier nur punktuelle Ergebnisse, d.h. Ergebnisse einzelner Programmaufrufe aufgeschrieben wurden. Statt dessen sollte man Durchschnittswerte mehrerer Aufrufe bilden und dann vergleichen.
Im Anhang steht das benutzte Programm für eigene Versuche zum Herunterladen bereit.
MC_Pi_Regen.pas