вот скажите тестировщики.
есть программа, выдаёт рандом, допустим от 1 до 5.
сколько нужно запусков, чтобы определить, что она однозначно выдаёт рандом? точный ответ не нужен, скорее как решать будете.
для реальности можете считать, что программу писал уебан-фронтендер.
по збч распределение всех вариантов должно быть примерно одинаковым. то есть на 100к прогонах если это честный генератор, он должен выдать +- равно встречаемые результаты по каждой цифре
далее, последовательность, она может инициализироваться внутри очень большой строкой, которая тупо следующее число тебе отдает, тут важно 2 мя запусками проверить, что результаты не повторяются.
далее, вдруг строка (от которой псевдорандомное число берется) закончилась (количество вызовов больше, чем ответов в исходной строке ответоа) и она по какому-то паттерну обновляется/замыкается.
тут поможет только анализ ответов на большом массиве и различные методы эвристические которые будут кусочно находить паттерны в ответах.
ну то есть чтобы считать что-то рандомным оно должно: давать тебе случайный ответ и ты не должен уличить программу в том, что с какой-то периодичностью ответ будет неслучайным, когда следующее значение можно угадать за счет предыдущего.