В django я использую random.random()
. Как часто мне приходится звонить random.seed()
? Один раз для каждого запроса? Один раз на каждый сезон? Один раз во время работы веб-сервера?Посевной случайный случай django
ответ
Звоните random.seed()
редко если вообще.
Чтобы быть случайным, вы должны разрешить запуск генератора случайных чисел, не касаясь семени. Последовательность чисел является случайной. Если вы измените семя, вы начнете новую последовательность. Значения семян могут быть не очень случайными, что приводит к проблемам.
В зависимости от того, сколько цифр вам нужно, вы можете периодически переустанавливать семя от /dev/random
.
Вы должны попытаться сбросить семена непосредственно перед тем, как вы использовали предыдущее семя. Вы не получаете полные 32 бит случайности, поэтому вы можете сбросить семя после генерации 2 ** 28 чисел.
Это действительно зависит от того, для чего вам нужно случайное число. Используйте некоторые эксперименты, чтобы узнать, не имеет значения. Вы также должны учитывать, что на самом деле существует шаблон для псевдослучайных чисел. Имеет ли это значение для вас, если кто-то может догадаться о следующем случайном числе? Если нет, запустите его один раз в начале сеанса или при первом запуске сервера.
Посев один раз в начале сессии, вероятно, имеет наибольший смысл, ИМО. Таким образом, пользователь получит набор псевдослучайных чисел на протяжении всего сеанса. Если вы посеяли каждый раз, когда страница обслуживалась, это не гарантируется.
Не тратьте много времени на экспериментирование. Изменение семени приводит к смещению. Если вам действительно повезло, ваши семена кажутся случайными для нескольких десятков тестов, которые вы хотите запустить. Если у вас нет чего-то волшебного, установка семян беспорядочно не будет ужасно случайной. –
Не устанавливайте семена.
Единственный раз, когда вы хотите установить семена, - это если вы хотите убедиться, что одни и те же события продолжаются. Например, если вы не хотите, чтобы игроки обманывали вашу игру, вы можете сохранить семя, а затем установить его, когда они загружают свою игру. Затем, независимо от того, сколько раз они сохраняют + перезагрузку, он все равно дает те же результаты.
- 1. Действительно ли случайный случай случайный?
- 2. Сплит-массив, случайный случайный случай
- 3. Случайный случай переключения
- 4. Android случай случайный усадка
- 5. Случайный случай AI/Switch?
- 6. Обратный случайный случай()?
- 7. Нужно повторить случайный случайный случай с использованием ключа
- 8. Laravel 5.1 посевной столбец
- 9. Вызывает ли случайный случай ненормальный массив значений?
- 10. PHP - Случайный случай поведения в раунде
- 11. Ошибка посевной таблицы в Laravel?
- 12. Инициализатор базы данных не посевной
- 13. Entity Framework посевной комплекс объектов?
- 14. Тестовый случай Django command PyCharm
- 15. Django - Создать кратчайший случайный пул
- 16. Django: случайный порядок (order_by ('?')) Делает дополнительный запрос
- 17. Django Admin: Случайный ключ в TabularInline повторяющийся, не случайный
- 18. Одноразовый PRNG посевной с последовательными семенами
- 19. как напечатать такой же случайный случай после if/elif?
- 20. Как я могу добавить (обозначить) случайный случай в JFrame?
- 21. php random array - случайный случай, когда делаете while
- 22. Espresso - как найти определенный элемент в представлении ресайклера (случайный случай)
- 23. Почему Babel.js преобразует генератор в случайный случай переключения?
- 24. Выберите случайный случай из таблицы для определенного раздела
- 25. Случайный случайный случайный случай, похоже, дает тот же результат, но только в первых двух случаях. Как мне избежать этого?
- 26. Конкретный случай использования для Django администратора
- 27. Странный случай нечувствительным выбрать поведение Django + MySQL
- 28. Django - случайный файл в jquery в шаблоне
- 29. Django: Render Print Случайный номер и 0
- 30. django for loop случайный порядок определяет
Связано с http://stackoverflow.com/questions/203382/do-stateless-random-number-generators-exist, http://stackoverflow.com/questions/1108780/why-do-i-always-get -последовательно-случайные числа-с-rand, http://stackoverflow.com/questions/976993/issues-with-seeding-a-pseudo-random-number-generator-more-than-once –