Ich erzeuge eine Sequenz von Zufallszahlen mit Std :: mt19937_64. Ich habe bemerkt, dass ich, wenn ich mit GCC und Clang auf der gleichen Plattform mit dem gleichen Seed laufe, eine andere Sequenz erhalte. Ich habe das Programm über Valgrind ausgeführt und keine nicht initialisierte Speicher gefunden.Mersenne Twister Reproduzierbarkeit über Compiler
Gibt es irgendeine Garantie für die Reproduzierbarkeit über Compiler oder über Plattformen hinweg mit std :: mt19937_64?
Edit: Laufen mit std :: normal_distribution
Wenn Sie Cross-Compiler-Kompatibilität benötigen, können Sie [Boost.Random] (http://www.boost.org/doc/libs/1_57_0/doc/html/boost_random.html) verwenden. –
Vielleicht bin ich hier ein bisschen naiv, aber wenn sie denselben Algorithmus und dieselben Parameter verwenden, sollten sie nicht die gleiche Sequenz reproduzieren? – Rufflewind
Da Sie normale Verteilung verwenden sehen Sie meine Antwort hier (http://stackoverflow.com/a/24554535/1708801) im Grunde ist die Antwort nein, aber die zugrunde liegenden Suchmaschinen sollten konsistent aussehen wie ein Duplikat. –