2016-06-03 8 views
-1

Angenommen, Sie haben einen Zufallszahlengenerator, der einen vorherigen Datensatz mit 1.000 Zufallszahlen im Bereich von 00.00 bis 99.99 (z. B. 07.81, 84.30) ausgibt. Jede "Rolle" ist diskret und unabhängig von allen vorherigen Rollen.Kann ich vorherige RNG-Daten verwenden, um die Wahrscheinlichkeit, dass der nächste Wurf ein bestimmter Wert ist, vorherzusagen?

Aus diesem Datensatz ist es möglich, die Wahrscheinlichkeit zu berechnen, dass die nächsten '10' Rollen zwei Fälle von 25,00-50,00, drei Fälle von 50,00-75,00 usw. enthalten?

+0

Das ist keineswegs eine Programmierung, sondern eine stochastische Frage. Aber: Wie Sie selbst bemerkt haben, muss Ihr Zufallszahlengenerator einem Modell folgen, um einen Sinn zu ergeben. Wenn Sie dieses Modell nicht kennen, dann machen Sie eine Annahme und leben Sie damit, wenn die Annahme falsch ist. –

+4

Ich stimme ab, diese Frage als off-topic zu schließen, weil dies keineswegs eine Programmierfrage ist, sondern eine selbstbeantwortete Frage nach der bloßen Natur von Zufallszahlen. –

+0

@ MarcusMüller, Wenn er über einen echten RNG spricht, dann hast du recht. Wenn er sich auf einen PRNG bezieht, dann ist es computerbezogen. – riwalk

Antwort

2

Für einen echten RNG ist die Antwort nein - das ist es, was es als RNG auszeichnet. Der Versuch, unabhängige zufällige Ereignisse basierend auf früheren Ergebnissen vorherzusagen, wird Gambler's Fallacy genannt.

Computer verwenden jedoch fast immer PRNG (Pseudozufallszahlengeneratoren), die einen deterministischen Algorithmus (zusammen mit einem Seed) verwenden, um die nächste Zahl in einer Sequenz so zu erzeugen, dass sie zufällig erscheint.

Es tut dies mit einem Algorithmus, der einem "Ring" von Zahlen folgt (denken Sie wie eine enorm lange Spur von Zahlen, die sich selbst wiederholt - es ist deterministisch, aber in einer Weise verstreut, die zufällig erscheint). Der Seed wird verwendet, um zu bestimmen, wo Sie auf diesem Ring beginnen. Jedes Mal, wenn Sie next() aufrufen, um eine neue Zufallszahl zu erhalten, geben Sie wirklich nur die nächste Zahl in der Sequenz zurück (oft ist diese Zahl modulo irgendein Wert, wie 1000, so dass die Zahl zwischen einem bestimmten Bereich liegt).

In diesem Sinne haben Sie die Antwort auf Ihre Frage. Wenn Sie den Samen kennen, dann gibt es nichts Zufälliges - Sie können mit hundertprozentiger Genauigkeit voraussagen, was als nächstes kommt. Wenn Sie den Seed nicht kennen, müssen Sie sich darauf konzentrieren, zu bestimmen, welche Seeds die Sequenz von Zahlen erzeugt haben könnten, die Sie bisher gesehen haben (was ein viel schwierigeres Problem ist).

+0

Das ist ein guter Kommentar. Vielleicht könnten Sie auch die Aufteilung zwischen PRNGs und CryptoPRNGS hinzufügen (+ vielleicht externe Entropiequellen und mögliche Mischungen). Ich bin nicht sicher über den Ursprung dieser Frage, aber wenn er etwas wie Online-Casinos vorhersagen möchte, sind CPRNGS zusammen mit externen Entropie-Quellen ein sehr wichtiges Konzept. Zusätzlich: Das Problem, den internen Zustand des Mersenne-Twisters (als ein Beispiel für Nicht-Krypto-PRNG) zu lernen, ist nicht so schwer, wie man denken könnte (sehr wenige Bits benötigt). Im Moment kann ich keine Referenzen finden. – sascha

Verwandte Themen