140 likes | 328 Views
Pseudo-Zufallszahlengeneratoren und ihre Eigenschaften. Literatur. [1] Mathar/Pfeifer : Stochastik für Informatiker, B. G. Teubner Verlag, Stuttgart 1990 [2] Afflerbach, L. / Lehn, J. : Kolloquium über Zufallszahlen und Simulationen, B. G. Teubner Verlag, Stuttgart 1986
E N D
Literatur • [1] Mathar/Pfeifer : Stochastik für Informatiker, B. G. Teubner Verlag, Stuttgart 1990 • [2] Afflerbach, L. / Lehn, J. : Kolloquium über Zufallszahlen und Simulationen, B. G. Teubner Verlag, Stuttgart 1986 • [3] Siegert, H.-J. : Simulation zeitdiskreter Systeme, R. Oldenbourg Verlag, München Wien 1991 • [4] www.uni-koblenz.de/~hassan/zufall/node1.html
Was ist Zufall? • Das Eintreten unvorhergesehener und unbeabsichtigter Ereignisse
Erzeugung von Zufallszahlen • „Guter“ Würfel liefert Zufallszahlen zur Basis 6 • Zähler: - zählt innerhalb menschlicher Reaktionszeiten mehrfach durch - willkürliche Ablesezeitpunkte • Würfel aufgrund der Einbeziehung von Menschen zu langsam • Zähler: - vollständig in Hardware realisierbar - bei großer Menge gewünschter Zahlen jedoch unpraktisch • Idee: - „Gute“ Zufallszahlen in einer Datei für den späteren Gebrauch speichern • Problem: - hoher Speicherbedarf - unhandlich • Seit den 50er Jahren entwickelt man für Rechenanlagen Verfahren zur Erzeugung von Zufallszahlen • Forderungen: - extrem einfach und damit schnell
Anwendung • Da die erzeugten Zufallszahlen nicht „echt“ sein können bezeichnet man sie als Pseudozufallszahlen • Anwendung: - Testen von mathematischen Algorithmen - Simulationen - Unterhaltungsindustrie • Probleme: - Folgen …,0,0,0,0,0,0,0,0,0,0,0,0,0,0,… …,1,0,0,1,1,0,0,1,0,1,0,1,1,1,… treten mit gleicher Wahrscheinlichkeit auf, wobei bei Simulationen die obere Folge offensichtlich ungünstiger ist - Rechner können nur endliche Zahl an rationalen Zahlen darstellen • Zielstellung: - im Intervall [0,1[ gleichverteilte und stochastisch unabhängige Zahlen
Verfahren von D. H. Lehmer • Lineare Kongruenzgeneratoren: - Gut überblickbar und einfach realisierbar • Definition: Man wähle ganze Zahlen (Modul) , (Faktor), (Inkrement), (Startwert). Das Verfahren einer rekursiven Erzeugung von Pseudozufallszahlen durch und , heißt lineare Kongruenzmethode oder linearer Kongruenzgenerator (im Fall multiplikative Kongruenzmethode).
Periodenlänge • Beispiel: Glieder der Folge : 3, 18, 15, 3, 18, 15, 3, … Folge setzt sich periodisch mit Periodenlänge 3 fort ungünstige Wahl der Parameter führt zu keinen brauchbaren Zufallszahlen • Jede erzeugte Folge besitzt eine Periode deren Länge kleiner oder gleich m ist. • Beweis: Für gilt , da der Rest einer Division nie größer oder gleich dem Nenner ist.
Periodenlänge • Folgerung: Damit können nur m verschiedene Ergebnisse für z auftreten und spätestens nach Iterationen ist der Startwert z0 wieder erreicht. Wähle m möglichst groß (in Nähe der größten auf dem Rechner verfügbaren Integer Zahl). Wenn m eine Zweierpotenz ist kann die Modulo-Rechnung durch Schieben erfolgen. • Definition: Die Periodenlänge eines Kongruenzgenerators ist definiert durch: Da alle Rechner eine endliche Zahlendarstellung besitzen ist auch L eine endliche natürliche Zahl. • Ziel: Periodenlänge bei m=konst. unabhängig von z0 zu maximieren
Periodenlänge • Optimale Parameterwahl (maximale Periodenlänge): (a) r ist relativ prim zu m, d.h. m und r haben nur 1 als gemeinsamen Teiler (b) für jeden Elementarteiler q von m (c) falls 4 Teiler von m • Minimale Korrelation: Fishman/Greenberger: Die Korrelation aufeinanderfolgender Zahlen wird minimiert, falls gilt: • Beispiel: 1) Primfaktorzerlegung von m: 2) Suchen von r relativ prim zu m, d.h. Primfaktoren von m teilen r nicht mögliche Zahlen: Zahlen die auf 1, 3, 7 oder 9 enden (a) 3) Suchen nach möglichen Werten von a. Bedingungen: (b) (b) oder 2, 4 und 5 teilen (c)
Periodenlänge 4) Auswahl eines geeigneten Paares (a, r) zur Minimierung der Korrelation: a) b) Mit ergeben sich folgende Zahlen für die zn: a) b)
Weitere Generatoren • Fibonacci-Generatoren: , Permutationen und treten nie auf • Mid-Square-Methode (Quadratmittenverfahren): • ältestes Verfahren • wähle beliebige 4stellige Zahl und quadriere sie • Quadrat sei 8-stellige Zahl (gegebenenfalls 0 ergänzen) • 4 mittleren Ziffern ergeben neue Zufallszahl • Beispiel : 5401²=29170801 • erhebliche Abweichungen von der Gleichverteilung • 163-Generator: Beispiel: • physikalische Generatoren
Qualifizierung über die Struktur • Eintragung der n-Tupel in ein Koordinatensystem - üblicherweise ohne überlappende Tupel - d.h. z.B. a) b)
Qualifizierung über statistische Tests • Anpassungstests: • Test auf Abweichung von der erwarteten Verteilung • Anpassungstest: - Aufteilung des Intervalls [0,1) in k gleichlange Teilintervalle der Länge 1/k - z.B. [0,0.1),[0.1,0.2),… - relative Häufigkeiten für Zahlen in jedem Intervall ca. 1/k - Testgröße misst Abweichung zwischen erwarteten und eingetretenen Häufigkeiten • Kolmogoroff-Smirnov-Test: - Vermeidung von Informationsverlust durch die Klasseneinteilung
Qualifizierung über statistische Tests • Test auf stochastische Unabhängigkeit: • Aufteilen der Zahlenfolge in Runs, z.B.: 2 | 1 7 9 | 4 5 7 | 1 2 8 | 1 • Wahrscheinlichkeit für das Auftreten eines Runs der Länge r: