На рисунке 1 ниже показаны два графика, полученные из двух разных непериодических псевдослучайных последовательностей +1 и -1 примерно в равных пропорциях, распределенных, по-видимому, случайным образом. Левый связан с простыми числами, которые, как предполагается, распределены несколько случайным образом. Правильный основан на двоичных цифрах квадратного корня из 2, также предполагается, что они распределены несколько случайным образом.

Предлагаемый здесь тест явно увеличивает отсутствие случайности в первой последовательности, но не может найти закономерности во второй. Последствия значительны: простые числа не распределяются так случайно, как думает большинство людей. Следствием этого является то, что почти все конгруэнтные генераторы псевдослучайных чисел, которые так или иначе полагаются на свойства простых чисел, не производят совершенно случайных последовательностей и могут быть взломаны. Сюда входит твистер Мерсенна, реализованный на Python и других языках программирования. Это делает многие криптографические системы небезопасными, если они не усилены.

Я рассказываю на простом английском, как обнаруживать слабые отклонения от случайности и обходные пути, чтобы получить более случайные и неразрывные последовательности. Теоретическая основа связана со знаменитой нерешенной гипотезой Римана в теории чисел. В этой статье также предлагается четкий, современный обзор по этой теме, доступный для практиков или новичков в области машинного обучения, а также для лиц, принимающих решения в этой области. Тема обычно объясняется непонятным жаргоном или бессмысленными обобщениями. Наоборот, эта статья заинтригует вас красотой и силой этой теории.

Полную статью с кодом на Python читайте здесь.