Сегодня - 09.07.2020

Как получают случайные числа?

Отвечает: 
директор Института вычислительной математики и математической геофизики СО РАН доктор физико-математических наук Михаил Александрович Марченко
 

Существуют генераторы псевдослучайных чисел и действительно случайных чисел. К какому типу относятся онлайн-генераторы, часто используемые для розыгрышей призов? Можно ли назвать числа, которые они выдают, случайными? Возможно ли предугадать результат, зная количество участников (диапазон чисел)?

 

Как правило, при численном моделировании случайных величин с некоторым сложным распределением с помощью метода Монте-Карло используются базовые псевдослучайные числа с простым распределением (равномерным в интервале от нуля до единицы). Базовые числа получают с помощью специального компьютерного алгоритма — генератора псевдослучайных чисел. Начальное число такой периодической последовательности принято называть зерном (англ. seed). Такие генераторы иногда определяют как детерминированные.
 
Получаемая последовательность чисел всегда является периодической, хотя современные генераторы имеют астрономически большой период. К примеру, для одного популярного генератора он составляет 1038, но есть и бо′льшие значения. У такого подхода много достоинств при вычислениях по методу Монте-Карло. В частности, свойство повторяемости последовательности базовых псевдослучайных чисел очень важно при отладках сложных компьютерных программ. Также оно нужно при изучении влияния значений параметров алгоритма на результат (говорят, что при этом используется процедура коррелирования результатов различных вычислительных экспериментов). Некоторые детерминированные генераторы обоснованно и очень удачно используются при параллельных вычислениях по методу Монте-Карло.
 
Помимо класса детерминированных генераторов, существуют также физические генераторы случайных чисел. Например, в современных настольных персональных компьютерах и ноутбуках пользователю доступен встроенный в процессор Intel физический генератор. Среди его достоинств — настоящая случайность получаемых чисел, высокая производительность. Однако у такого рода генераторов есть и существенные недостатки: неуверенность в правильном вероятностном распределении чисел, непроверенность при длительном счете, потенциальная неустойчивость в работе, невозможность повторить последовательность чисел в целях повторения расчетов или коррелирования результатов различных вычислительных экспериментов.
 
Описанную выше процедуру получения детерминированной последовательности чисел можно приблизить к настоящей случайности, выбирая зерно некоторым случайным образом, например с помощью физического генератора. Этот процесс называется рандомизацией.
 
Не зная код компьютерной программы, используемой для розыгрыша призов, сложно сказать, к какому виду генераторов она относится. Как правило, при написании приложений используются стандартные среды программирования, а в них зашиты как раз детерминированные генераторы псевдослучайных чисел.
 
Числа, получаемые с помощью детерминированного генератора, нельзя назвать по-настоящему случайными, потому что они повторяются, если начинаются в разных экспериментах с одного и того же зерна. Критерием адекватности генерации псевдослучайных чисел является удовлетворение весьма сложных процедур статистической проверки их качества и решение комплексных вычислительных задач. Поэтому если в экспериментах с лотереей не менять зерно и условия проведения лотереи (например, количество разыгрываемых призов), то результат розыгрыша призов будет одинаковый при различных его повторениях. Но можно менять зерно, например, как указано выше, и всё с результатами будет в порядке — они на самом деле будут случайными для зрителей и предсказать их будет невозможно.
 
Фото из открытых источников
 
Поделись с друзьями: 

Система Orphus