Генератор случайных чисел

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Генерация случайных чисел — процесс, который с помощью устройства генерирует последовательность чисел или символов, которая может быть предсказана разумным образом только на основании случайности. Генераторы случайных чисел подразделяются на «аппаратные генераторы случайных чисел» (HRNGS), которые генерируют случайные числа в зависимости от текущего значения какого-либо атрибута физической среды, который практически невозможно смоделировать при текущем уровне знаний, и генераторы псевдослучайных чисел (PRNGS), которые генерируют числа, которые выглядят случайными, но на самом деле являются детерминированными и могут быть воспроизведены, если известна модель (шаблон), на основании которой работает генератор псевдослучайных чисел.

Существует множество методов генерации случайных данных, некоторые из которых существуют с древних времён. Хорошо известные классические примеры — бросание игральной кости, подбрасывание монеты, тасование игральных карт, использование стеблей тысячелистника (для гадания) в «И Цзин», а также бесчисленное множество других техник. Из-за механического характера этих методов генерация большого количества достаточно случайных чисел (что важно в статистике) требовала много труда и времени, поэтому такие числа иногда собирались в таблицы случайных чисел[en]. В наше время на смену таблицам пришли генераторы случайных чисел.

Вычислительные методы генерации псевдослучайных чисел не достигают цели истинной случайности, хотя они могут с переменным успехом соответствовать некоторым тестам на статистическую случайность[en], предназначенным для измерения непредсказуемости их результатов (то есть, в какой степени распознаваемы их шаблоны). Обычно это делает вычислительные методы непригодными для таких областей применения, как криптография. Однако существуют также тщательно разработанные «криптографически стойкие генераторы псевдослучайных чисел» (CSPRNGS) со специальными функциями, специально разработанными для использования в криптографии[1].

Примечания[править | править код]

  1. RNG in Video Games. Дата обращения: 23 декабря 2020. Архивировано 23 декабря 2020 года.