Prinzipien zur Erzeugung von Zufallszahlen in der Informatikhinze/fv-hinze.pdf · Prinzip...
Transcript of Prinzipien zur Erzeugung von Zufallszahlen in der Informatikhinze/fv-hinze.pdf · Prinzip...
Technische Universitat Dresden Fakultat Informatik
Prinzipien zur Erzeugung von
Zufallszahlen in der Informatik
Vortragender: Dipl.-Inform. Thomas Hinze
1. Motivation
2. Grundlegende Begriffe und Zusammenhange
3. Klassifikation der Prinzipien
4. Prinzipien zur Erzeugung echter Zufallszahlen
5. Pseudozufallszahlengeneratoren
6. Statistische Tests zur Bewertung der einzelnen Prinzipien
7. Zusammenfassung, Literatur
T. Hinze 1/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Motivation
Zufallszahlen
� besitzen mannigfaltige Anwendungen in der Informatik
� ermoglichen den effizienten computergestutzten Einsatz und
� beschleunigte Bearbeitung zahlreicher Aufgabenstellungen
wichtige Anwendungsgebiete und -beispiele in der Informatik
� probabilistische Algorithmen
� z.B. Monte-Carlo- und Las-Vegas-Methoden
� Simulation
� Generierung zufalliger Ereignisse entsprechend statistischerVorgaben
� Kryptographie / Kryptoanalyse
� z.B. Schlussel- und Parametererzeugung, Verschlusselungsver-fahren, Verfahren zur digitalen Signatur, Dummy Traffic, Angriffeauf kryptographische Verfahren
� Test
� Generierung von Testsatzen
T. Hinze 2/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Grundlegende Begriffe und Zusammenhange
zufalliges Ereignis
� Ereignis, dessen Eintrittszeitpunkt und Wirkung nicht mitabsoluter Sicherheit vorhergesagt werden kann
� setzt eine unvollstandige Beschreibung des Systems, in demdas zufallige Ereignis stattfinden kann, voraus
� Zufall � � Ausdruck von Unwissenheit
Zufallsgroße
� meßbare / analysierbare Reprasentation der Gesamtheit allerzufalligen Ereignisse der zugrundeliegenden Systemkomponente
� Wertebereich, Wertevorrat
diskret � � endlicher oder abzahlbar unendlicher Wertevorrat
Zufallszahl
� Wert, den eine Zufallsgroße bei ihrer Bestimmung annimmt
Zufallszahlenfolge
� Folge voneinander moglichst unabhangiger Zufallszahlen, dieeiner gegebenen statistischen Verteilung genugen
T. Hinze 3/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Vereinbarungen und Forderungen in der Informatik� Verarbeitung der Zufallszahlen (ZZ) in jedem Fall durch Computer
� Erzeugung der ZZ entweder durch Computer oder extern
Grundanforderungen an Zufallszahlengeneratoren
� Uniformitat – Gleichvert. der ZZ innerhalb jeder erzeugten Folge
� Unabhangigkeit – keine Autokorrelation zwischen den ZZinnerhalb jeder erzeugten Folge
zusatzliche Wunsche/Erfordernisse fur Anwendungen der Informatik
� diskrete Zufallsgroßen
� anwendungsabhangig: Reproduzierbarkeit/Irreproduzierbarkeitder Zufallszahlenfolgen
� Gleichvert. der Zufallszahlen oft im Intervall � � ��� � , � � �� � , � � ��� � � � �
� Schnelligkeit, Effizienz, Unvorhersagbarkeit des Generators
Bemerkungen
� Transformation Gleichverteilung � andere bekannte Verteilungenmathematisch herleitbar und berechenbar
� Intervall � � ��� � gequantelt entspr. computerinterner Zahlendarst.
T. Hinze 4/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Definitionen aus der mathematischen Statistik
diskret gleichverteilte ZufallsgroßeEine diskrete Zufallsgroße � heißt gleichverteilt auf den Ereignissen
� � � � � � � � � , wenn fur ��� � ��� � � ��� gilt:
� Gleichwahrscheinlichkeit der Ereignisse: � � � � � � ��
� Erwartungswert: � � � ���
� �� �
� Streuung: ��� � � ���
� � � � � � � ��
Korrelation
� Grad des Zusammenhangs zwischen Zufallsgroßen
Korrelationskoeffizient
� zweier Zufallsgroßen � und � : � � � � ��� � � ��� � � ��� � � � � �
�� � �� �
� Es gilt: � � � � � �!
"#
� � $% &' ( $) � � � � � � � � � � � unkorreliert
*� � � � � � � voneinander abhangigAutokorrelation
� Korrelation einer Zufallsgroße � mit sich selbst � � � � � �T. Hinze 5/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Rauschgrößen−messung
Rand Corporation
ZiffernfolgentranszendenterZahlen
e,
linear
gemischt linear
multiplikativ
nichtlinear
x mod n
mehrfach rek.
allgemein
π
binär
dual (Galois)Laufzähler mitStoppereignis
Glücksspiele 2
Generatoren fürechte Zufallszahlen
Pseudozufallszahlen−generatoren
Zufallszahlen−generatoren
Tabellen−werke
Kongruenz−generatoren
Linear rückgek.Schieberegister
PhysikalischeGeneratoren
Klassifikation der Prinzipien
T. Hinze 6/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
a(t i)
t1 t2 t3 t4 t5 t6 t7t
physikalischeZufallsgröße
Meßzeitpunkte
Zufallszahlenfolge 0 1 0 0 1 0
Rauschgroßenmessung
Prinzip
� zeitquantisierte Erfassung einer zugrundeliegenden physikali-schen Zufallsgroße und Transformation in Zufallszahlenfolge
� Transformation z.B.: � �� � � � � �� �� � �
� � Ausgabe � � � � � �
� �� � ��� � �� �� � �
� � Ausgabe � � � � � �
Vorteile
� optimale statistische Eigenschaften
� ohne Speich. keineReproduzierbarkeit
Nachteile
� Auswirkungen vonMeßfehlern
� Verfugbarkeit undmax. Abtastrateabhangig vonphys. Zufallsgroße
T. Hinze 7/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
t
Zählerstand
Stoppereignisse
Zufallszahlenfolge 5 1
12
0
3456789
Laufzahler mit Stoppereignis
Prinzip
� Zahler modulo� , der in schneller Folge fortlaufend von � bis� � �
zahlt und jeweils bei Eintreten des zufalligen zahlerunabhangigenStoppereignisses sofort den aktuellen Zahlerwert als Zufallszahlbereitstellt
Vorteile
� optimale statistischeEigenschaften
� ohne Speich. keineReproduzierbarkeit
Nachteile
� Organisation derStoppereignisse
� Stoppereignisse nicht zeitlich aquidistant
� mehrfaches vollstandiges Durchzahlen zwischen aufeinander-folgenden Stoppereignissen sicherzustellen
T. Hinze 8/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Rand Corporation
Prinzip
� Tabellenwerk (Buch) von Zufallszahlen, entstanden 1955
� enthalt 1.000.000 Zufallszahlen
� 400 Seiten zu 50 Zeilen mit je 50 Zufallszahlen (Dezimalziffern)
� Buch zufallig aufschlagen, Folge wahlen und
� als genutzt kennzeichnen
� Zufallszahlen mittels physikalischem Generator erzeugt
Vorteile
� leichte Verfugbarkeit
� optimale statistische Eigenschaften
� Reproduzierbarkeit/Irreproduzierbarkeitleicht vom Anwender steuerbar
Nachteile
� endlicher Vorrat an Zufallszahlen
� Ubertragung Buch � � Computer
� Bekanntheit des Buches
T. Hinze 9/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
3, 141 592 6532, 718 281 828
589 793 238 ......
Ziffernfolgen transzendenter Zahlen
Definition transzendente ZahlenZahlen, die nicht algebraisch sind, d.h. die nicht als Nullstellen beliebi-ger Polynome � �� � � � � � �� � � � � � � � � � �� � � � mit � �� � und
� � � � ��� � � ��� � ,� � � � � � � vorkommen konnen. (z.B. � , � )
Prinzip
� Berechnung und Tabellierung der gewunschten transzendentenZahl auf hinreichend viele zuverlassige Nachkommastellen(z.B. mittels Spigotalgorithmen)
� zufallige Auswahl einer Ziffernfolge, Nutzung als Zufallszahlenfolgeund Kennzeichnung als bereits genutzt
Vorteile
� leichte rechnergestutzte Realisierbarkeit
� leichte Vorabgen. fur spatere Nutzung
Nachteile
� keine gesicherten statistischen Eigenschaften, nur Annahmen
� hoher Bekanntheitsgrad der Ziffernfolgen
T. Hinze 10/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Pseudozufallszahlengeneratoren� Gewinnung der Zahlenfolgen durch deterministische Berechnung
� Zufall � � Pseudozufall: Wegfall der generellen Unvorhersagbarkeit
gemeinsames Prinzip
� ausgehend von einem zufallig gewahlten Startwert undgeeigneten Parameterbelegungen erfolgt Bestimmung derPseudozufallszahlenfolge durch spezifische rekursiveBerechnungsvorschrift
Forderung fur perfekten Pseudozufallszahlengenerator
� Es soll keinen effizienten (polynomiellen) Algorithmus geben, dereine Pseudozufallszahlenfolge ohne Kenntnis der Berechnungs-vorschrift, des Startwertes und der Parameterbelegungen signifi-kant von einer echten Zufallszahlenfolge unterscheiden kann.
gemeinsame Eigenschaft
� Periodizitat: zyklische Wiederholung der Pseudozufallszahlen-folge (PZZ-Folge) nach endlicher Lange
� Ziel: Maximierung der Periodenlange
T. Hinze 11/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Multiplikativer Kongruenzgenerator
PrinzipParameter: � ��� � � mit � ��� , � � � ,� � �
Startwert: � � � � � ��� � � ��� � � �
Rekursion: � �� ��� � �� � � � $% �
PZZ-Folge: �� � � � Es gilt: �� � � �� �
maximale Periodenlange
� � unter folgenden Bedingungen (Kobayashi):
� � � � � oder� � � � � mit � ungerade Primzahl, �� � � � � �
� ��� � � � � � $% �
� � ��� � � ��� � � �
� Minimierung der Autokorrelation: �� � �Vorteile
� Schnelligkeit des Verfahrens und leichte Implementierbarkeit
Nachteile
� keine optimalen statistischen Eigenschaften, kleine Periodenlange
� leichte Vorhersagbarkeit der PZZ-Folge (nicht perfekt)
T. Hinze 12/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Gemischt linearer Kongruenzgenerator
PrinzipParameter: � ��� ��� � � mit � � � , � �� ,� � � ,� � � ,� � �
Startwert: � � � � � ��� � � ��� � � �
Rekursion: � �� ��� � �� � � � � � $% �
PZZ-Folge: �� � � � Es gilt: �� � � �� �
maximale Periodenlange
� � unter folgenden Bedingungen (Lehmer):
� � ��� � ��� � � �
� � � � � $% � fur jeden Elementarteiler � von�
� � � � � $% � falls � Teiler von� ist
� Minimierung der Autokorr. (Fishman/Greenb.): � � � � �� �� � �
Vorteile
� Schnelligkeit des Verfahrens und leichte Implementierbarkeit
Nachteile
� keine optimalen statistischen Eigenschaften, kleine Periodenlange
� leichte Vorhersagbarkeit der PZZ-Folge (nicht perfekt)
T. Hinze 13/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Mehrfach rekursiver Kongruenzgenerator
PrinzipParameter: �� � � � � � � � � � � � � mit � � , � �� � � ��� � � �� � � � ,� � �
Startwerte: � � � � � � � � � � � � ��� � � � � � � � mit � � � � � ��� � � � � � �� *� �
Rekursion: � ��
�� �
� �� � �� � � $% �
PZZ-Folge: �� � � � Es gilt: �� � � �� �
� Spezialfall: Fibonacci-Generator
maximale Periodenlange
� � � � �
Belegungsvorschrift der Parameter fur max. Periodenlangeandert sich mit jedem Vorgabewert fur , keine geschl. Darst.
Vorteile
� großere maximale Periodenlange, schwierigere Vorhersagbarkeit
� Schnelligkeit des Verfahrens und leichte Implementierbarkeit
Nachteile
� keine optimalen statistischen Eigenschaften, nicht perfekt
� hoher Aufwand zum Finden geeigneter Parameterbelegungen
T. Hinze 14/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
��� � �� � Generator� Verfahren nach Blum, Shub
PrinzipParameter: � � � � � � � mit � � � prim, � � � , � � � � � � $% � ,
� � � � � � , � ��� � � � � � � �
Startwert: � � � �� � $% � � �
Rekursion: � �� �� �� � � $% � � �
PZZ-Folge: �� � � � $% � Es gilt: �� � � �� �
maximale Periodenlange
� � �
Vorteile
� perfekter Pseudozufallszahlengenerator
� leichte Implementierbarkeit
� leichte Wahl geeigneter Parameterbelegungen
Nachteile
� nur ein Bit pro Rekursionsschritt � � langsam
� kleine Periodenlange
T. Hinze 15/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Schieberegister
Initialbelegung entspricht Startwert
Rückkopplungsfunktion
f : {0,1}r {0,1}
rk
... PZZ−Folge
Parameter
zk−zk−r+zk−r+zk−r zk
(Rückkopp−lungspolynom)
121
Linear ruckgekoppeltes Schieberegister
Prinzip
� Schieberegister mitBitfolge *� � �
initialisiert
� jede Zelle spei-chert ein Bit fureinen Takt (D1)
� Bits schiebensich taktweisedurch die Kaskade
� Bit der letzten Zelle als Pseudozufallsbit taktweise ausgegeben
� Bit der ersten Zelle mittels Ruckkopplungsfunktion berechnet
� Ruckkopplungsfunktion und ihre Parameter bestimmen wesentlichdie Qualitat der statistischen Eigenschaften der PZZ-Folge
� gleichwertige Notation auch als Rekursionsschema moglichmaximale Periodenlange
� � � � � Bit, unabhangig von der gewahlten zulassigen Initialisierung
T. Hinze 16/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
1
& & & & &
Schieberegister
Initialbelegung entspricht Startwert
2 2 1
rk
zk−r
br br−
... �� � � � �� ���zk−zk−r+zk−r+ zk
br− b b
...
121
Binares linear ruckgekoppeltes Schieberegister
Prinzip
� Ruckkopplungs-funktion ist mitden Parametern
�� � � � � � mit
� � � � ��� � � � �
behaftet
� Parameter � bil-den Koeffizienten descharakt. Polynoms
� � � �� � � � � �� �
� � � �� � � � � � � � � �� � � � � � �
� zum Erreichen der maximalen Periodenlange� � � � mußcharakteristisches Polynom irreduzibel sein
Vorteile Nachteile
� leicht in Hardware implementierbar � nicht perfekt
� sehr schnell, einfache Parameterwahl
T. Hinze 17/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
& 1 &2&
Schieberegister
Initialbelegung entspricht Startwert
bbbr
zk−r
rkzkzk−
......
�� � � �� � ���
...
1
Duales linear ruckgekoppeltes Schieberegister
Galois-Schieberegister
Prinzip
� entspricht dembinaren linearruckgekoppel-ten Schiebe-register (SR)
� Einsparungeiner � -Operation
� zum Erreichen dermaximalen Perioden-lange� � � � muß charakteristisches Polynom irreduzibel sein
� Transformation duales binares linear ruckgek. SR moglich
Vorteile Nachteile
� leicht in Hardware implementierbar � nicht perfekt
� sehr schnell, einfache Parameterwahl
T. Hinze 18/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Statistische Tests zur Bewertung der Prinzipien� basieren auf konkreten erzeugten (Pseudo)Zufallszahlenfolgen
� Generatoren selbst nicht herangezogen
� Aufschluß daruber, ”wie gut“ Unabhangigkeit und Uniformitat eingehalten werden
� Hypothese (Vorliegen Gleichverteilung, keine Autokorrelation) auf definiertemSignifikanzniveau (z.B. � � , � � Fehlertoleranz) akzeptiert oder verworfen
� Tests als Algorithmen der mathematischen Statistik notiert und angewendet, z.B.:
� -Test (u.a. auf Gleichverteilung)
� Standardverfahren der mathematischen Statistik
� fur lange (Pseudo)Zufallszahlenfolgen ( � 50 Zahlen) empfohlenKolmogorov-Smirnov-Test (auf Gleichverteilung)
� Standardverfahren der mathematischen Statistik
� i.a. genauer als � -Test, aber aufwendiger, auch fur kurze (Pseudo)Zufallszahlenfolgen
Gap-Test (auf Autokorrelation)
� Uberprufung der Intervallangen bis zum Wiedererscheinen der gleichen Zahl unter
� Anwendung des Kolmogorov-Smirnov-TestsPoker-Test (auf Autokorrelation)
� analysiert die Haufigkeit, mit der sich die Ziffern in der (Pseudo)ZZ-Folge wiederholenMustersuche (auf Autokorrelation)
� graphische Darstellung und Auswertung der (Pseudo)Zufallszahlenfolge
� Gibt es wiederkehrende regelmaßige Muster oder zyklische Variationen?
T. Hinze 19/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Zusammenfassung
Resumee
� vorgestellte Prinzipien i.a. seit mehreren Jahrzehnten bekannt und
� im praktischen Einsatz bewahrt
� Prinzipien decken ein großes Spektrum nutzbarer undeigenstandiger Strategien ab
� Repertoire umfaßt Prinzipien, die bevorzugt hardware- odersoftwarebasiert implementiert werden konnen
� Pseudozufallszahlengeneratoren, die ublicherweise inProgrammiersprachen oder von Computer-Algebra-Systemenbereitgestellt werden, sind vorgestellt worden undspezialisieren sich durch ihre Parameterbelegungen
Ausblick
� weiterfuhrende aufbauende Arbeiten beschaftigen sich u.a. mitder Untersuchung
� von Zufallsfunktionen (Orakeln)
� von chaotischen Systemen
T. Hinze 20/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik
Technische Universitat Dresden Fakultat Informatik
Ausgewahlte Literatur
L. Blum, M. Blum, M. Shub. A Simple Unpredictable Pseudo-RandomNumber Generator. SIAM J. on Computing 15(2):364–383, 1986
W. Gohler. Hohere Mathematik. Deutscher Verlag fur Grundstoff-industrie Leipzig, 1986
A. Grube. Moderne Erzeugung von Zufallszahlen.S.-Toeche-Mittler-Verlag Darmstadt, 1975
D. Knuth. The Art of Computer Programming. Vol. 2: SeminumericalAlgorithms. Addison-Wesley Ontario, 1998
N. Schmitz, F. Lehmann. Monte-Carlo-Methoden I.Verlag Anton Hain Meisenheim, 1976
B. Schneier. Applied Cryptography. John Wiley and Sons Inc.New York, 1994
R. Zielinski. Erzeugung von Zufallszahlen. Verlag Harri Deutsch
Frankfurt/M., 1978
T. Hinze 21/21 Prinzipien zur Erzeugung von Zufallszahlen in der Informatik