Генератор случайных чисел Mersenne Twister - два VS2010, работающие параллельно

0

Надуманно ли предположить, что, когда два экземпляра VS2010 работают параллельно, семена для случайного генератора (Mersenne Twister) берутся из одной и той же последовательности?

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

  • 0
    Вы знаете, что можете запускать программы без VS, верно? Это не связано удаленно с IDE / компилятором, а с тем, как вы начинаете. Скажите нам, что вы используете в качестве семян, и мы можем вам помочь. О: пожалуйста, примите решение и скажите нам, если вы используете C ++ или C, вы определенно не используете оба.
  • 0
    MSVC - это компилятор C ++, он не полностью поддерживает C99 и вряд ли это сделает.
Теги:
visual-studio-2010
random

1 ответ

1
Лучший ответ

Различные генераторы случайных чисел не засевают себя, вы должны предоставить семя.
Если вы этого не сделаете, вы, скорее всего, получите 0. Реализация Мерсенн Твистер и др. Не
делиться данными между экземплярами, поэтому несколько параллельных процессов будут работать независимо.

  • 1
    Хотя это правда, что они работают независимо, важно подчеркнуть, что они будут независимо генерировать точно такую же последовательность, если используется одно и то же семя.
  • 1
    Движки <random> имеют 5489u значения по умолчанию, а для std::mersenne_twister_engine значение по умолчанию - 5489u не 0 .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню