AuK/Probabilistische Algorithmen SS09

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Scheme</language>
===Einführung in proballistische Algorithmen===
[[Einführung in probalistische Algorithmen]]

[["Zufallszahlen"]]

===Algorithmen===
[[Las-Vegas-Algorithmen]]

====Monte-Carlo-Algorithmus Gruppe 2====




=====Multimengenvergleiche=====
<code>
(define random
 (lambda (n)
  (cond (= 0 (modulo n 124)) n)
  (else 
     (random (modulo (+(* 15485867 n) 32452843 ) 13)))))

</code>
<eval>()</eval>

=====Buffons Nadel=====

===Ausblick===
====Genetische Programmierung====
[[Schwarmalgorithmen]]




===Aufgaben===
===1===

Implementieren Sie einen Generator für Pseudozufallszahlen nach der Kongruenzmethode. (Buch S. 124)

<math>z_{n}=(a*z_{n-1}+b)mod\ c</math>

mit

<math>z_0=4567\\a=9749\\b=0\\c=2^{18}=262144</math>


<code>  (define seed1 0)

;Erzeugen des Seed

(define randomize

;Systemzeit wird Seed zugewiesen.

(lambda ()

(set! seed1 (real-time))))

(define zn2

;Kongruenzmethode in Scheme

(lambda (a b c )

(let ((seed2 (modulo (+ (* a seed1) b) c)))

(set! seed1 seed2)

seed2)))

<eval></eval>



























[[Aufgabenverteilung]]

===Quellen===
http://www.riskglossary.com/link/monte_carlo_method.htm

Oliver Lau "Faites vos jeux! - Zufallszahlen erzeugen, erkennen und anwenden" (c't 2009, Heft 2)

http://www.addison-wesley.de/Service/Krueger/kap12006.htm