Derandom

Android pseudo random number predictor

Search similar apps

    License

    Apache License 2.0

    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. <em>Text field</em> lets you enter the numbers directly on the device.

    2. <em>File</em> lets you choose a file with newline separated number strings.

    3. <em>Socket</em> 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 <em>Text field</em>:

    <code>

    1412437139

    1552322984

    168467398

    1111755060

    -928874005

    </code>

    These numbers were sampled from the Java linear congruential generator <em>Random.nextInt()</em>. Thus, the app should detect <em>LCG: Java</em> 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 code of this app is published on GitLab. There you can also find a Python program for testing socket input: https://gitlab.com/asnelt/derandom/blob/HEAD/README.md

    User

    Related apps