Derandom 應用程式
根據觀察到的數字序列預測偽隨機數字。輸入您從偽隨機數字生成器獲得的數字序列,例如 Java 標準偽隨機數字生成器或 Mersenne Twister MT19937。然後應用程序將嘗試從生成器預測後續數字。
應用程序期望所有數字以整數或介於零和一之間的浮點數形式輸入。目前,僅對 Mersenne Twister 支持浮點數。支持三種輸入模式:
1. 文本框 讓您可以直接在設備上輸入數字。
2. 文件 讓您選擇一個包含以換行符分隔的數字字符串的文件。
3. 套接字 在設備上打開一個服務器套接字。然後,您可以通過客戶端套接字連接自定義客戶端並向服務器發送以換行符分隔的數字字符串。在每個數字之後,服務器將返回下一組以換行符分隔的預測。每組預測之間用額外的換行符分隔。
要測試應用程序,請在 文本框 中輸入以下數字:
1412437139
1552322984
168467398
1111755060
-928874005
這些數字是從 Java 線性同餘生成器 Random.nextInt() 中抽樣的。因此,應用程序應在第三個數字輸入後檢測到 LCG: Java,並且預測歷史中的數字應以綠色顯示而不是紅色,表示這些數字被正確預測。
這個應用程序的源代碼已在 GitLab 上發布。您還可以找到用於測試套接字輸入的 Python 程序:https://gitlab.com/asnelt/derandom/blob/HEAD/README.md







