Предсказывает псевдослучайные числа на основе последовательности наблюдаемых чисел.
Введите последовательность чисел, полученную от генератора псевдослучайных чисел, например, генератор псевдослучайных чисел Java Java или Mersenne Twister MT19937. Затем приложение попытается предсказать следующие цифры из генератора.
Приложение ожидает, что все числа будут введены как целые числа или числа с плавающей запятой между нулем и одним. В настоящее время числа с плавающей запятой поддерживаются только для Mersenne Twister. Поддерживаются три режима ввода:
1.
Текстовое поле позволяет вводить номера непосредственно на устройстве.
2.
Файл позволяет выбрать файл с номерами строк, разделенных новой строкой.
3.
Socket открывает сокет сервера на устройстве. Затем вы можете подключиться к пользовательскому клиенту с помощью клиентского сокета и отправить на сервер строки с номером строки, разделенные символом новой строки. После каждого номера сервер отправляет обратно следующие предсказания, разделенные новой строкой. Каждый блок прогнозов разделяется дополнительной новой строкой.
Чтобы проверить приложение, введите следующие цифры в текстовое поле
:
1412437139
1552322984
168467398
1111755060
-928874005
Эти числа были отобраны из линейного конгруэнтного генератора Java
Random.nextInt () . Таким образом, приложение должно обнаружить
LCG: Java после ввода третьего номера, а цифры в истории прогнозирования должны появиться зеленым, а не красным, что указывает на правильность предсказания этих чисел.
Исходный код этого приложения публикуется в GitLab. Там вы также можете найти программу Python для тестирования ввода сокетов: https://gitlab.com/asnelt/derandom/blob/HEAD/README.md