Во-первых, этот вопрос вырвался из этого вопроса. Я сделал это, потому что я думаю, что эта часть больше, чем часть более длинного вопроса. Если это оскорбляет, прошу простить меня.
Предположим, что у вас есть алгоритм, который генерирует случайность. Теперь как вы его протестируете? Или быть более прямым - предположим, у вас есть алгоритм, который перетасовывает колоду карт, как вы проверяете, что это совершенно случайный алгоритм?
Чтобы добавить некоторую теорию к проблеме - Палубу карт можно перетасовать в 52! (52 факториала) разными способами. Возьмите колоду карт, перетасуйте ее вручную и запишите порядок всех карт. Какова вероятность того, что вы получили бы именно эту перетасовку? Ответ: 1/52!.
Какова вероятность того, что после перетасовки вы получите A, K, Q, J... каждого костюма в последовательности? Ответ 1/52!
Итак, просто перетасовывая один раз и глядя на результат, вы не получите абсолютно никакой информации о вашей случайности. Два раза, и у вас есть дополнительная информация, еще три...
Как бы вы черным ящиком испытали алгоритм перетасовки для случайности?