associate random seed with each model
Opened this issue · 1 comments
riastradh-probcomp commented
Rather than use a random seed in the `engine', Crosscat should store a random seed in each model, and the state transitions performed by LocalEngine and MultiprocessingEngine should be the same given the same seed in the model. That way, the only source of nondeterminism in Crosscat will be the initial selection of random seeds, which can be provided entirely by the caller, and LocalEngine and MultiprocessingEngine will yield exactly the same results for the same inputs.
riastradh-probcomp commented
Crosscat currently uses the boost Mersenne Twister for most everything. Should be replaced by a small-state PRNG, e.g. one built on ChaCha.