Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как работает генератор случайных чисел?

МатематикаИнформатика+1
Простыми словами
  ·   · 80,4 K
Математик, аналитик, автоматизатор.  · 18 дек 2020

Обожаю такие вопросы, особенно учитывая, что сюда можно вписать кучу нешкольной математики, но она будет понятна, если совсем чуть-чуть посидеть.

Есть простейшие методы, например:

Конгруэнтный метод

Смысл в том, что каждое следующее число генерируется из предыдущего, причем первое - можно задать случайно

формула выглядит так: v_(i+1) = (v_(i) * a + c)mod(m) (нижнее подчеркивание обозначает индекс, символы a,c,m можно выбирать произвольно, но чем больше эти значения, тем больше элементов поля можно построить, соответственно. Для лучшего эффекта можно выбрать a,m - взаимнопростыми). Для перехода к равномерному случаю [0,1] - дели все выражение на m.

Есть и кое-что более сложное:

Метод инверсий

Этот алгоритм построен на решении задачи обращения заданной функции. При желании можно углубиться, но скажу сразу, вычислительная сложность тут в худшем случае O(n), а в случае применения метода бинарного поиска - O(log(n)), что все равно достаточно сложно, поэтому предлагается следующий:

Метод смеси

Он основывается на утверждении, что

любое дискретное распределение можно представить в виде смеси k равновероятных двухточечных распределений.

Несложный алгоритм, состоящий всего из 2х пунктов, в каждом из которых- генерация случайного значения из равномерного распределения на [0,1], это простая задача, это делать мы уже умеем(обрати внимание на первый метод ответа)

Сложность алгоритма, кстати O(1) - достаточно просто в плане вычислений.

Так что дерзай, если правда хочешь разобраться - уйдет минут 20-30 от силы, а генерировать случайные значения будешь, как орешки щелкать.

Очень интересно.. 🥰👍
младший научный сотрудник ФТИ им. Иоффе  · 28 апр 2020  ·
astropolytech
Большинство использующихся генераторов случайных чисел на самом деле псевдо-случайные. В них генерируется последовательность чисел со свойствами, близкими к тем, какими должна обладать последовательность настоящих случайных... Читать далее
астрофизическое образованиеПерейти на vk.com/astropolytech
2 эксперта согласны

можно еще использовать данные полученные от атмосферных шумов. рандом орг так делает.

Официальный представитель компании МегаФон  · 27 нояб 2020
Забавно, но генераторы случайных чисел на самом деле генерируют совсем не случайное число. Корректнее будет называть их «генераторы ПСЕВДОслучайных чисел». Самый распространённый способ получения псевдослучайных чисел... Читать далее
Первый
Поставляем камень для ландшафтного дизайна по...  · 8 окт 2020  · kamportal.ru
Отвечает
Игорь Шевков

В компьютере генерация случайных цифр связана со временем. В тот момент когда делался запрос фиксировалось время. Брались доли секунды сотые или тысячные в зависимости от диапазона в запросе.

Каталог камня для ландшафтаПерейти на kamportal.ru
Инженер электронной техники, программист.  · 25 июн 2021
Лучший генератор шума - pn переход, шумы с которого подаются на аналого - цифровой преобразователь, выход с которого и есть случайное число с нормальным распределением. В ОС linux функция rand может возвращать CRC32 из... Читать далее
Первый
Генератор истинно случайных чисел (Радио шум) https://2qbit.com/true-random-number-generator/ Для получения истинно случайных чисел, web-приложение 2qBit.com использует “аппаратный генератор случайных чисел”, представляющий... Читать далее
"Генератором случайных чисел" практически всегда называется "генератор ПСЕВДОслучайных чисел". По факту, они выглядят как случайные, хотя на практике такими не являются. Работает довольно просто: идет привязка к нескольким... Читать далее
Не понимаю, но стремлюсь понять, Мат статистику, забыл теорию вероятности, тоже .А изучать по новой нет ни сил не... Читать дальше