Известно, что любой закон работает именно так, как должно работать, вопрос!

Как получают случайных чисел в компьютерной программе?
6 года назад от Анатолий Усольцев

2 Ответы



0 голосов
Обычно так. Инициализируют датчик мусором (не очень быстро, но качественно) . Потом с помощью этого мусора строят псевдослучайную последовательность (быстро) - это то, о чем написано выше. Как получить хороший мусор: Ну, возьми, например, логи за прошедшие сутки, сконкатенируй их с текущим временем UTC, с серийником проца, с переменной, в которой хранишь, сколько раз уже делал эту операцию, посчитай криптоустойчивый хэш от полученного и юзай в качестве случайных байт. Там этих байт слишком много и не надо. Или почитай, например, здесь чуть побольше:
6 года назад от Рачик Петросян
0 голосов
.

С помощью рекурентных формул.

Эти числа на самом деле являются псевдо-случайными.

Через какое-то время они зацикливаются и начинают повторятся.
Просто период повторения этих чисел такой огромный, что компьютеру надо непрерывно работать сотни лет непрерывно генерируя эти случайные числа, чтобы началось зацикливание. (А точне, это сильно зависит от количества знаков в числах, с которыми работает компьютер. )

Но самое главное в этих генераторах случайных чисел то, что внутри периода функция автокореляции этих чисел ведет себя с очень хорошей точностью, как функция автокореляции белого шума.

.
6 года назад от andrei

Связанные вопросы

1 ответ