www.wikidata.de-de.nina.az
Der Spektraltest ist eine Methode mit der uberpruft werden kann ob gegebene Zufallszahlen tatsachlich stochastisch voneinander unabhangig sind oder ob das Gegenteil der Fall ist d h bereits gewurfelte Werte die folgenden Werte beeinflussen und letztere somit mehr oder minder vorhersagbar werden Fur den Spektraltest werden jeweils i displaystyle i gewonnene Zufallszahlen zu i displaystyle i Tupeln zusammengefasst und uberpruft wie gut sich diese Vektoren in ihrem Wertebereich des i displaystyle i dimensionalen Raumes verteilen und wie gut diese Verteilung der theoretisch geforderten entspricht Anwendung findet der Test bei der Bewertung von Pseudo Zufallszahlengeneratoren Noch immer haufig verwendet werden beispielsweise lineare Kongruenzgeneratoren LKG die je nach Wahl der Parameter sehr unterschiedlich gut bzw schlecht sind Ein wesentlich besserer Generator ist etwa der Mersenne Twister Eine Alternative zu Generatoren ware die Messung physikalischer Phanomene Radioaktivitat echter Wurfel Inhaltsverzeichnis 1 Grundidee 2 Durchfuhrung 3 Beispiele 3 1 Beispiel 1 3 2 Beispiel 2 RANDU 4 Literatur 5 Weblinks 6 EinzelnachweiseGrundidee Bearbeiten nbsp Abbildung 1 Mit RANDU generierte Zufallszahlen Tripel sind nicht zufallig verteilt sondern konzentrieren sich samtlich in einer kleinen Anzahl Flachen Abbildung 1 visualisiert die mit dem RANDU Algorithmus generierten Zufallszahlen auf eine der Grundidee des Spektraltests entsprechende Art und Weise Jeweils drei Zufallszahlen wurden zu einem 3 Tupel Tripel zusammengefasst welches man als Punkt im dreidimensionalen Raum interpretiert und grafisch darstellt Der Algorithmus sollte eigentlich gleichverteilte Zufallszahlen erzeugen im Sinne von gleichmassig verteilt Da ein Tripel von drei gleichverteilten Zufallsvariablen wieder gleichverteilt ist wurde man in der Grafik eine vollig einformige Verteilung erwarten Es ist jedoch gut zu erkennen dass diese Punkte ganz und gar nicht gleichmassig verteilt sind sondern einem Muster folgen Kennt man nun bspw zwei aufeinanderfolgende Zahlen ist die dritte nicht mehr zufallig sondern nimmt einen von hochstens 15 verschiedenen Werten an wodurch man eine siebenprozentige Chance hat den richtigen zu erraten Fur einen guten Zufallsgenerator sollten es jedoch nicht nur 15 Werte sein sondern so viele wie moglich Eine obere Grenze setzt hier die Anzahl m displaystyle m nbsp der vom Generator erzeugbaren Zahlen Werden diese Zahlen gleichmassig uber den gesamten Raum moglicher Tupel einen Wurfel mit Kantenlange m displaystyle m nbsp verteilt bekommt man etwa m i displaystyle sqrt i m nbsp Punkte entlang jeder Raumrichtung Fur den abgebildeten dreidimensionalen Test von RANDU ergibt dies 2 31 3 1290 displaystyle sqrt 3 2 31 approx 1290 nbsp Die tatsachliche Zahl von 15 bleibt also weit hinter dem theoretisch Moglichen zuruck Durchfuhrung BearbeitenFur die mathematische bzw rechnerische Analyse betrachtet man Familien aus parallelen Hyper Ebenen die alle denselben Abstand haben und samtliche Tupel enthalten fur ein bestimmtes i displaystyle i nbsp Es wird dann die Familie mit dem grossten Abstand ausgewahlt Dieser Abstand wird mit 1 n i displaystyle 1 nu i nbsp bezeichnet Der Kehrwert n i displaystyle nu i nbsp wird Accuracy genannt Mathematisch ist es nicht exakt aber grob kann man sich die Accuracy wieder als ungefahre Anzahl der Flachen vorstellen i displaystyle i nbsp bezeichnet weiterhin die Lange der untersuchten Tupel bzw Sequenzen Fur das RANDU Beispiel haben wir bisher den Fall i 3 displaystyle i 3 nbsp betrachtet anschaulich Punkte in einem Wurfel die sich in parallelen Flachen anordnen 1 n 3 displaystyle 1 nu 3 nbsp bezeichnet den Abstand zwischen diesen Flachen 2 Tupel hingegen sind Punkte in der Ebene die sich in parallelen Linien anordnen konnen 1 n 2 displaystyle 1 nu 2 nbsp bezeichnet den Abstand zwischen diesen Linien Die fur i 2 displaystyle i 2 nbsp und i 3 displaystyle i 3 nbsp verwendeten geometrischen Konzepte sind fur 4 und mehr Dimensionen nicht mehr anschaulich die verwendete Mathematik lasst sich dennoch problemlos weiterverwenden Je grosser die Accuracy n i displaystyle nu i nbsp also je kleiner 1 n i displaystyle 1 nu i nbsp ist umso besser sind die Vektoren in ihrem Wertebereich verteilt Um die Qualitat eines Zufallsgenerators zu beurteilen berechnet man die n i displaystyle nu i nbsp fur i von 2 bis vielleicht 5 oder 6 und vergleicht die Ergebnisse mit denen anderer zur Verfugung stehender Generatoren oder dem theoretischen Wert von zirka m i displaystyle sqrt i m nbsp Die praktische Schwierigkeit besteht darin einen Algorithmus zu finden der die benotigte Familie mit dem grossten Abstand findet Fur manche Generatoren z B LKGs wie RANDU existieren Algorithmen die das exakte Ergebnis mit relativ geringem Rechenaufwand liefern Ein allgemeinerer Ansatz ist die Verteilung der Punkte im Raum als Dichte zu interpretieren Periodische Veranderungen entsprechen dann i dimensionalen Wellen was eine Analyse des Frequenzspektrums nahelegt um Hauptrichtung und Amplitude der Wellenfronten zu ermitteln Daher auch der Name Spektraltest Bei Generatoren die nur endlich viele verschiedene Zahlen liefern periodische Generatoren kann der Test uber die gesamte Periode durchgefuhrt werden Beispiele BearbeitenDie folgenden Beispiele sind lineare Kongruenzgeneratoren Sie generieren Zufallszahlen mittels der Formel x n 1 a x n c mod m displaystyle x n 1 a cdot x n c textrm mod m nbsp und festen Konstanten a displaystyle a nbsp c displaystyle c nbsp m displaystyle m nbsp sowie dem Startwert x0 Fur diese gibt Knuth 1 einen konkreten Algorithmus zur Durchfuhrung des Spektraltests an Die Werte in den Tabellen sind ebenfalls von dort Beispiel 1 Bearbeiten m 10000000000 1010 a 3141592621 c 1 x0 0 Der Spektraltest liefert n 2 displaystyle nu 2 nbsp n 3 displaystyle nu 3 nbsp n 4 displaystyle nu 4 nbsp n 5 displaystyle nu 5 nbsp n 6 displaystyle nu 6 nbsp n 7 displaystyle nu 7 nbsp 67654 1017 249 42 23 23Der Generator wurde hier als Beispiel ausgewahlt weil er ein fur viele gute Generatoren typisches Ergebnis liefert Die Zahlen sagen direkt etwas uber die Genauigkeit der erhaltenen Zufallszahlen aus Wenn man in einer Rechnung immer zwei Zufallszahlen benotigt etwa weil man Zufallspunkte in der Ebene benotigt kann man die Ergebnisse maximal mit einer Genauigkeit von 1 n 2 1 67654 0 000 0148 lt 10 4 4 Dezimalstellen displaystyle 1 nu 2 1 67654 0 0000148 lt 10 4 Rightarrow 4 text Dezimalstellen nbsp angeben Wenn man drei pro Rechnung benotigt sind das 1 n 3 1 1017 0 000 938 lt 10 3 3 Dezimalstellen displaystyle 1 nu 3 1 1017 0 000938 lt 10 3 Rightarrow 3 text Dezimalstellen nbsp Bei vier pro Rechnung ergibt sich 1 n 4 1 249 0 004 02 lt 10 2 2 Dezimalstellen displaystyle 1 nu 4 1 249 0 00402 lt 10 2 Rightarrow 2 text Dezimalstellen nbsp Die Box Muller Methode zur Generierung von normalverteilten Zufallszahlen benotigt pro Auswertung zwei Zufallszahlen Ihre Ergebnisse sind also mit diesem Zufallsgenerator besser als vierstellig Der im Beispiel verwendete Generator ist brauchbar Es gibt zwar bessere Generatoren aber auch viel schlechtere wie das nachste Beispiel zeigt Beispiel 2 RANDU Bearbeiten Das Horrorbeispiel in diesem Zusammenhang ist der fruher gern verwendete Generator RANDU 2 m 2147483648 231 a 65539 216 3 c 0 x0 1 und dem Spektraltestergebnis n 2 displaystyle nu 2 nbsp n 3 displaystyle nu 3 nbsp n 4 displaystyle nu 4 nbsp n 5 displaystyle nu 5 nbsp n 6 displaystyle nu 6 nbsp n 7 displaystyle nu 7 nbsp n 8 displaystyle nu 8 nbsp n 9 displaystyle nu 9 nbsp 23171 10 10Genauer n 3 118 10 n 4 n 9 116 10 displaystyle nu 3 sqrt 118 approx 10 quad nu 4 ldots nu 9 sqrt 116 approx 10 nbsp Alle i tupel mit i gt 2 haben maximal 1 Dezimalstelle Genauigkeit Literatur BearbeitenDonald E Knuth The Art of Computer Programming 3 Edition 23 Printing Volume 2 Seminumerical Algorithms Addison Wesley Boston MA u a 2008 ISBN 978 0 201 89684 8 S 93ff Weblinks Bearbeiten nbsp Commons Spektraltest Sammlung von Bildern Videos und AudiodateienEinzelnachweise Bearbeiten Donald E Knuth The Art of Computer Programming 3 Edition 23 Printing Volume 2 Seminumerical Algorithms Addison Wesley Boston MA u a 2008 ISBN 978 0 201 89684 8 S 93ff RANDU in der englischsprachigen Wikipedia Abgerufen von https de wikipedia org w index php title Spektraltest amp oldid 204112784