Prognostiziert Pseudozufallszahlen basierend auf einer Folge von beobachteten Zahlen.
Geben Sie eine Zahlenfolge ein, die Sie von einem Pseudozufallszahlengenerator erhalten haben, z. B. den Java-Standard-Pseudozufallszahlengenerator oder den Mersenne Twister MT19937. Die App versucht dann, die folgenden Zahlen vom Generator vorherzusagen.
Die App erwartet, dass alle Zahlen als Ganzzahlen oder Gleitkommazahlen zwischen null und eins eingegeben werden. Momentan werden Gleitkommazahlen nur für den Mersenne Twister unterstützt. Drei Eingabemodi werden unterstützt:
1.
Textfeld können Sie die Zahlen direkt auf dem Gerät eingeben.
2.
Datei ermöglicht die Auswahl einer Datei mit durch Zeilentrennzeichen getrennten Zahlenfolgen.
3.
Socket öffnet einen Server-Socket auf dem Gerät. Sie können dann über einen Client-Socket eine Verbindung mit einem benutzerdefinierten Client herstellen und dem Server Zeilentrennzeichen mit getrennten Zeilen senden. Nach jeder Nummer sendet der Server die nächsten Newline-getrennten Vorhersagen zurück. Jeder Block von Vorhersagen ist durch einen zusätzlichen Zeilenvorschub getrennt.
Um die App zu testen, geben Sie die folgenden Zahlen in das
Textfeld ein:
1412437139
1552322984
168467398
1111755060
-928874005
Diese Zahlen wurden aus dem linearen linearen Kongruenzgenerator von Java
Random.nextInt () entnommen. Daher sollte die App
LCG: Java nach der Eingabe der dritten Zahl erkennen, und Zahlen in der Vorhersagehistorie sollten grün statt rot erscheinen, was darauf hinweist, dass diese Zahlen korrekt vorhergesagt wurden.
Der Quellcode dieser App wird auf GitLab veröffentlicht. Dort finden Sie auch ein Python-Programm zum Testen der Socket-Eingabe: https://gitlab.com/asnelt/derandom/blob/HEAD/README.md