Насколько отличающийся случайные семена должны быть?

Право преимущественной покупки: не волнуйтесь о "чрезмерном увеличении размера" - устанавливают все, что приходит на ум.

С постоянно доступным интернет-соединением, я также взял "как раз вовремя" подход - установщик Cygwin облегчает загружать и устанавливать независимо от того, что Вам нужно, как и когда Вы обнаруживаете необходимость в нем.

13
задан David D 12 October 2009 в 14:39
поделиться

6 ответов

Краткий ответ: Избегайте повторного посева, так как он вам здесь ничего не даст. Подробный ответ ниже.


Все зависит от того, что именно вам нужно. В Общие дефекты инициализации генераторов псевдослучайных чисел указывается, что линейно зависимые начальные числа (которыми определенно являются 1, 2, 3, 4) являются плохим выбором для инициализации нескольких PRNG, по крайней мере, при использовании для моделирования и желая получить некоррелированные результаты.

Если все, что вы делаете, это бросает несколько кубиков или генерирует псевдослучайный ввод для чего-то некритичного, то это, скорее всего, не имеет значения.

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

10
ответ дан 1 December 2019 в 23:47
поделиться

Если ваш генератор случайных чисел высокого качества, не имеет значения, как вы его засеваете. Фактически, лучше всего будет засеять его только один раз. Генераторы случайных чисел спроектированы так, чтобы иметь определенное статистическое поведение после запуска . Частое повторное заполнение эффективно создает другой генератор случайных чисел, который может быть не так хорош.

Случайный выбор семян кажется хорошей идеей, но это не так. Фактически, из-за «парадокса дня рождения» есть удивительно высокая вероятность, что вы дважды выберете одно и то же семя.

4
ответ дан 1 December 2019 в 23:47
поделиться

Сами начальные числа должны быть случайными, чтобы результат был непредсказуемым. Могут возникнуть проблемы, если начальные числа различаются только одним или двумя битами (как показывает этот вопрос ).

0
ответ дан 1 December 2019 в 23:47
поделиться

В общем, вы заполняете свой генератор случайных чисел только тогда, когда вам нужно , чтобы случайные числа генерировались идентичным образом каждый раз. Это полезно, когда у вас есть случайный компонент для обработки, но вам нужно его протестировать, и поэтому вы хотите, чтобы он был согласован между тестами. В противном случае вы позволяете системе заполнять сам генератор.

Другими словами, заполняя генератор случайных чисел определенными заранее заданными начальными числами, вы фактически уменьшаете случайность системы в целом. Случайные числа, сгенерированные при использовании начального числа 1, действительно псевдослучайно отличаются от таковых с начальным значением 2, но жестко закодированные начальные числа приведут к повторяющимся случайным последовательностям при каждом запуске программы.

2
ответ дан 1 December 2019 в 23:47
поделиться

Похоже, вам нужны псевдослучайные числа, которые не являются псевдослучайными, с более высокой вероятностью того, что последовательные числа будут «значительно» отличаться от того, что требует псевдослучайность. Я сомневаюсь, что любой распространенный prng сделает это, независимо от вашей стратегии посева.

1
ответ дан 1 December 2019 в 23:47
поделиться

Это зависит от приложения, для которого вы используете ГПСЧ. Если вы используете что-то, что должно быть криптографически надежным, то семена, как правило, должны быть чрезвычайно сложными для вывода на основе вывода, разных при каждом запуске приложения, их сложно просто угадать и невозможно определить путем обратного проектирования приложения. (т.е. они не могут быть жестко закодированы.)

Если ваша цель - игра, ваши требования могут быть другими. Например, если вы управляете компьютерной стратегией, но компьютерная стратегия остается одинаковой для всех запусков игры, у вас может быть игра, в которой легко пройти. Опять же, вам может понадобиться это для "легкого" режима.

0
ответ дан 1 December 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: