Predicts pseudo random numbers based on a sequence of observed numbers.
Enter a sequence of numbers that you obtained from a pseudo random number
generator like, for instance, the Java standard pseudo random number
generator or the Mersenne Twister MT19937. The app will then try to
predict following numbers from the generator.
The app expects all numbers to be entered as integers or floating point numbers
between zero and one. Currently, floating point numbers are supported for the
Mersenne Twister only. Three input modes are supported:
1. Text field lets you enter the numbers directly on the device.
2. File lets you choose a file with newline separated number strings.
3. Socket opens a server socket on the device. You can then connect
with a custom client by means of a client socket and send newline
separated number strings to the server. After each number the server
will send back the next newline separated predictions. Each block of
predictions is separated by an additional newline.
To test the app, enter the following numbers in the Text field:
These numbers were sampled from the Java linear congruential generator Random.nextInt(). Thus, the app should detect LCG: Java after the third number input, and numbers in the prediction history should appear in green instead of red, indicating that those numbers were correctly predicted.
The source of this app is published on GitHub. There you can also find a Python program for testing socket input: https://github.com/asnelt/derandom/blob/HEAD/README.md