Ich habe diese Frage kürzlich bei math.SE gesehen. Es hat mich zum Nachdenken gebracht. Könnte Pi als grober Zufallsgenerator verwendet werden? Ich meine, die Ergebnisse sind bekannt (wie lange wurde pi bis jetzt berechnet?), Aber Pi scheint ziemlich zufällig zu sein, wenn man 1 Ziffer auf einmal nimmt.
Ergibt das überhaupt einen Sinn?
Antworten:
Durchsuchen Sie http://www.befria.nu/elias/pi/binpi.html , um den Binärwert von pi zu erhalten (damit es einfacher war, in Bytes zu konvertieren, als Dezimalstellen zu verwenden) und führen Sie ihn dann durch ent Für eine Analyse der zufälligen Verteilung der Bytes bekomme ich folgendes:
Also ja, wenn Sie pi für zufällige Daten verwenden, erhalten Sie ziemlich zufällige Daten ... und erkennen, dass es sich um bekannte zufällige Daten handelt.
Aus einem Kommentar oben ...
Also habe ich die Quadratwurzel von 2 in binär berechnet, um die gleichen Probleme zu lösen. Mit Wolframs Iteration habe ich ein einfaches Perl-Skript geschrieben
Läuft dies für die ersten 10 übereinstimmenden A095804, so war ich zuversichtlich, dass ich die Sequenz hatte. Der Wert v n, wie er binär geschrieben ist, wobei der Binärpunkt nach der ersten Ziffer liegt, ergibt eine Annäherung an die Quadratwurzel von 2.
Die Verwendung von ent gegen diese Binärdaten erzeugt:
quelle
Nun, neben anderen Eigenschaften eines Zufallszahlengenerators möchten Sie wahrscheinlich, dass es sich um eine normale Zahl handelt . Einige Antworten in der math.SE-Frage, die Ihre Frage inspiriert haben, weisen darauf hin, dass pi derzeit als normal angesehen wird, aber nicht bewiesen wurde.
quelle
Ein solcher Generator wäre ein Pseudozahlengenerator, dh bei gleichem Startwert wäre das Ergebnis immer das gleiche. In den meisten Frameworks gibt es jedoch das gleiche Problem, wenn Sie den Standard-Zufallszahlengenerator verwenden: Pseudozufall.
Die Verteilung der Ziffern scheint den Standard-Zufallszahlengeneratoren ziemlich ähnlich zu sein¹, so dass die Ziffern von π für gewöhnliche Szenarien zur Erzeugung von Zufallszahlen verwendet werden können.
Das Problem ist, dass der Algorithmus im Vergleich zu gewöhnlichen Zufallszahlengeneratoren wahrscheinlich sehr langsam sein wird, sodass er in der Praxis nicht sehr nützlich ist.
¹ Ich glaube, es ist wahr, aber ich habe keinen Beweis. Es wäre interessant (und nicht kompliziert), einen Vergleich auf der Grundlage einer großen Anzahl von Zahlen durchzuführen.
quelle
Die Zufälligkeit der Ziffern von pi (oder auch jeder anderen Sequenz) kann wohl durch sogenannte "Batterietests" überprüft werden. Ein beliebter Batterietest ist der von George Marsaglia Diehard Battery Test von . Es gibt auch die NIST-Sonderpublikation 800-22 , die eine Reihe solcher Tests und die Ergebnisse der Anwendung dieser Tests auf eine Reihe physikalischer Konstanten beschreibt, einschließlich -lo und behold -pi für über eine Million Bits. Das Ergebnis von pi ist in Anhang B des Berichts angegeben und sieht folgendermaßen aus:
Ist pi ein guter Zufallsgenerator? Sehen Sie sich die obigen Ergebnisse an (oder durchsuchen Sie die Bedeutungen der Variablen in der linken Spalte, wenn Sie keine Ahnung haben, was sie bedeuten) und prüfen Sie, ob sie Ihren Anforderungen entsprechen.
quelle