Ваш генератор псевдослучайных чисел (PRNG) никогда не был достаточно случайным? - PullRequest
4 голосов
/ 23 февраля 2011

Вы когда-нибудь писали симуляции или рандомизированные алгоритмы, в которых вы столкнулись с проблемами из-за качества (псевдо) -лучайных чисел, которые вы использовали?

Что происходило?

КакВы обнаружили / поняли, что ваша prng была проблемой?

Достаточно ли было переключения PRNG для устранения проблемы, или вам пришлось переключиться на источник истинной случайности?

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

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011
  1. Генератор датированных случайных чисел RANDU был печально известен в семидесятых годах за создание "плохих" случайных чисел. Мой научный руководитель упомянул, что это повлияло на его докторскую степень, и он должен был повторно запустить симуляции. Поиск в Google для RANDU линейного конгруэнтного генератора приводит к другим примерам.
  2. Когда я запускаю симуляции на нескольких машинах, у меня иногда возникает соблазн генерировать «случайные начальные числа», а не просто использовать подходящий параллельный генератор случайных чисел. Например, сгенерируйте начальное значение, используя текущее время в секундах. Это вызвало у меня достаточно проблем, чтобы избежать этого любой ценой.

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

1 голос
/ 23 февраля 2011

Хорошей практикой является запуск вашего prng против DieHard . Очень хороший и быстрый PRNG существует в настоящее время (см. Работу Marsaglia), см. Числовые рецепты издание 3 для хорошего введения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...