28.03.2014 Aufrufe

Informatik 1 - Mitschriften von Klaas Ole Kürtz

Informatik 1 - Mitschriften von Klaas Ole Kürtz

Informatik 1 - Mitschriften von Klaas Ole Kürtz

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

x2 = (zufall-aktuell x1)<br />

x3 = (zufall-aktuell x2)<br />

...<br />

Mit Verwendung <strong>von</strong> set!:<br />

(define zufall (let ((x zufall-init))<br />

(lambda () (set! x<br />

(zufall-aktuell x))<br />

x)))<br />

Vorteil: Programm weiß aktuellen Zufallswert, kein Durchreichen notwendig.<br />

4.1.1 Anwendung: Monte-Carlo-Simulation<br />

• große Megen <strong>von</strong> Experimenten<br />

• zufällige Auswahl <strong>von</strong> Stichproben<br />

• Tabellierung der Ergebnisse<br />

⇒ Wahrscheinlichkeiten erlauben Schlußfolgerungen<br />

• konkret: Wahrscheinlichkeit, daß zwei zufällig gewählte ganze Zahlen<br />

6<br />

keinen gemeinsamen Teiler größer als 1 besitzen: (Cesero-Test),<br />

π 2<br />

daraus kann man einen Schätzwerk für π berechnen:<br />

(define (schaetzwert-pi versuche)<br />

(sqrt (/ 6 (monte-carlo versuche<br />

cesaro-test))))<br />

(define (cesaro-test)<br />

(= (ggt (zufall) (zufall)) 1))<br />

(define (monte-carlo versuche experiment)<br />

(define (iter versuche-uebrig versuche-erfolgreich)<br />

(cond ((= versuche-uebrig 0)<br />

(/ versuche-erfolgreich versuche))<br />

((experiment)<br />

(iter (- versuche-uebrig 1)<br />

(+ versuche-erfolgreich 1)))<br />

(else<br />

(iter (- versuche-uebrig 1)<br />

versuche-erfolgreich))))<br />

(iter versuche 0))<br />

46

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!