Умные вопросы
Войти
Регистрация
Известно, что любой закон работает именно так, как должно работать, вопрос!
Как получают случайных чисел в компьютерной программе?
6 года
назад
от
Анатолий Усольцев
2 Ответы
▲
▼
0
голосов
Обычно так. Инициализируют датчик мусором (не очень быстро, но качественно) . Потом с помощью этого мусора строят псевдослучайную последовательность (быстро) - это то, о чем написано выше. Как получить хороший мусор: Ну, возьми, например, логи за прошедшие сутки, сконкатенируй их с текущим временем UTC, с серийником проца, с переменной, в которой хранишь, сколько раз уже делал эту операцию, посчитай криптоустойчивый хэш от полученного и юзай в качестве случайных байт. Там этих байт слишком много и не надо. Или почитай, например, здесь чуть побольше:
6 года
назад
от
Рачик Петросян
▲
▼
0
голосов
.
С помощью рекурентных формул.
Эти числа на самом деле являются псевдо-случайными.
Через какое-то время они зацикливаются и начинают повторятся.
Просто период повторения этих чисел такой огромный, что компьютеру надо непрерывно работать сотни лет непрерывно генерируя эти случайные числа, чтобы началось зацикливание. (А точне, это сильно зависит от количества знаков в числах, с которыми работает компьютер. )
Но самое главное в этих генераторах случайных чисел то, что внутри периода функция автокореляции этих чисел ведет себя с очень хорошей точностью, как функция автокореляции белого шума.
.
6 года
назад
от
andrei
Связанные вопросы
2
ответов
Что делать если я решил загадку тысячелетия? Куда идти за нобелевской?
7 года
назад
от
Игорь Белый
1
ответ
Физика, 9 класс, реактивное движение.
6 года
назад
от
UlrichBoucha
2
ответов
Какой из ныне существующих европейских языков самый старый?
8 года
назад
от
ира