Die Zwölferregel beschreibt eine Methode, um näherungsweise normalverteilte (Pseudo-)Zufallszahlen zu erzeugen. Sie besagt, dass die Zufallsvariable näherungsweise normalverteilt ist, wenn sie mit zwölf voneinander unabhängigen, über dem Intervall [0,1] gleichverteilten Zufallszahlen erzeugt wird. hat den Erwartungswert 6 und die Standardabweichung 1.
Die Verteilung von ist eine Irwin-Hall-Verteilung, die sich mit wachsendem schnell einer Normalverteilung annähert. Grundlage für diese Aussage ist der zentrale Grenzwertsatz.
Um Normalverteilungen mit anderen Parametern zu erhalten, subtrahiert man von den erhaltenen Werten s den Erwartungswert , multipliziert mit der neuen Standardabweichung und addiert den neuen Mittelwert :
- .
Die Bedeutung der Zwölferregel liegt darin, dass mit geringem Programmieraufwand und überschaubarem Rechenaufwand passable Ergebnisse erzielt werden können. Sie benötigt keine komplexen mathematischen Funktionen wie etwa den Logarithmus. Heute sind jedoch bessere Methoden bekannt, z. B. die Polar-Methode. Diese liefert wesentlich besser normalverteilte Ergebnisse mit deutlich geringerem Rechenaufwand, wenn der Prozessor eine Gleitpunkt-ALU integriert hat.
Wichtig ist bei der Anwendung der Zwölferregel die Unabhängigkeit der summierten . Bei vielen Pseudozufallszahlengeneratoren ist jedoch die Unabhängigkeit von zwölf aufeinanderfolgenden Zufallszahlen nicht gegeben. In Standardbibliotheken werden häufig Lineare Kongruenzgeneratoren eingesetzt. Der Spektraltest, der berechnet, wie viele hintereinander generierte Zufallszahlen als unabhängig betrachtet werden können, garantiert für diese nur die Unabhängigkeit von maximal sieben der , meistens weniger. Für numerische Simulationen ist es daher sehr bedenklich, die Zwölferregel mit einem nicht näher bekannten Zufallsgenerator aus der Standardbibliothek anzuwenden. Auch aus diesem Grund sind andere Verfahren wie die Polar-Methode vorzuziehen. Es gibt allerdings auch Zufallsgeneratoren, die eine sehr gute Unabhängigkeit von 12 aufeinanderfolgenden Zahlen garantieren, z. B. den Mersenne-Twister.
Beispiel von 8 Simulationen (die Abbildung basiert auf 6000): 1 2 3 4 5 6 7 8 9 10 11 12 Sum1-12 Std1-12 0,82 0,46 0,58 0,48 0,44 0,84 0,51 0,24 0,19 0,38 0,83 0,67 6,43 0,21 0,19 0,1 0,76 0,67 0,59 0,43 0,03 0,58 0,24 0,71 0,36 0,43 5,08 0,24 0,01 0,93 0,53 0,29 0,91 0,97 0,56 0,44 0,62 0,69 0,77 0,74 7,46 0,27 0,61 0,13 0,27 0,83 0,53 0,95 0,65 0,62 0,02 0,67 0,44 0,69 6,41 0,26 0,55 0,79 0,01 0,97 0,54 0,06 0,62 0,44 0,24 0,35 0,23 0,24 5,06 0,27 0,8 0,22 0,67 0,76 0,9 0,55 1 0,19 0,3 0,58 0,5 0,22 6,68 0,27 0,84 0,45 0,14 0,19 0,17 0,78 0,03 0,48 0,7 0,27 0,64 0,35 5,03 0,26 0,09 0,97 0,27 0,16 0,87 0,05 0,72 0,1 0,28 0,8 0,43 0,29 5,01 0,32 Mittelwert: 5,9 Standardabw: 0,96 Die Simulationswerte liegen in der Nähe der berechneten Parameter: Standardabweichung von Xi: 0,24 (berechnet: 1/sqrt(12)= 0,29) Mittelwert von Xi: 0,49 (berechnet: 0,5) Mittelwert der Verteilung von sn: 5,9 (berechnet: 6) Standardabweichung von sn: 0,96 (berechnet: 1)
Weblinks
- Zwölfer-Algorithmus
- Seite 256 C.2.2.2 Zwölferregel tu-dresden.de