In meinem Programm muss ich N separate Threads mit jeweils einem eigenen RNG ausführen, mit dem ein großer Datensatz abgetastet wird. Ich muss in der Lage sein, diesen gesamten Prozess mit einem einzigen Wert zu versehen, damit ich Ergebnisse reproduzieren kann.
Reicht es aus, den Startwert für jeden Index einfach nacheinander zu erhöhen?
Derzeit verwende ich numpy
‚s , RandomState
die einen Mersenne - Twister Pseudo-Zufallszahlen - Generator verwendet.
Codeausschnitt unten:
# If a random number generator seed exists
if self.random_generator_seed:
# Create a new random number generator for this instance based on its
# own index
self.random_generator_seed += instance_index
self.random_number_generator = RandomState(self.random_generator_seed)
Im Wesentlichen beginne ich mit einem vom Benutzer eingegebenen Startwert (falls vorhanden) und füge für jede Instanz / jeden Thread nacheinander den Index (0 bis N-1) der ausgeführten Instanz hinzu. Ich weiß nicht, ob dies eine gute Praxis ist oder ob es einen besseren Weg gibt, dies zu tun.