Me gustaría restablecer secuencias aleatorias mediante el uso de diferentes números de inicialización. Cuando se ejecuta este código de prueba:Configuración del aumento de semilla :: aleatorio
boost::mt19937 gener(1);
boost::normal_distribution<> normal(0,1);
boost::variate_generator<boost::mt19937&,boost::normal_distribution<> > rng(gener, normal);
cout << rng() << endl;
cout << rng() << endl;
cout << rng() << endl;
gener.seed(2);
cout << rng() << endl;
cout << rng() << endl;
gener.seed(1);
cout << rng() << endl;
gener.seed(2);
cout << rng() << endl;
gener.seed(3);
cout << rng() << endl;
me sale el siguiente resultado:
# seed(1) via constructor
-2.971829031
1.706951063
-0.430498971
# seed(2)
-2.282022417
-0.5887503675
# seed(1)
0.2504171986
# seed(2)
-0.5887503675
# seed(3)
0.2504171986
Obviamente estoy haciendo algo muy mal. ¿Cómo puedo superar este problema?
¡Me alegro de que funcionó! Por cierto, se te permite (y se te alienta) aceptar tu propia respuesta, especialmente si se necesita una combinación de ideas de varias personas para resolver tu problema. –