Closed joaquimg closed 2 years ago
I was shuffling variables in PBF terms during quadratization to look for differences in the output's number of slack variables and the non-deterministic ordering of the Set
type seems random enough. We can drop this dependency.
That is interesting. The ordering in Set should be deterministic, although not the same as the user added. If we run the same code twice and get different results we are in a bad spot. There exist the OrderedCollections.jl with OrderedSet to consider it the current runs are non deterministic
That's not a problem for us, we rely mainly on term-by-term quadratization now.
Random is now used to generate states for our RandomSampler
Where is Random used? Only in
shuffle
?Usage of Random should be accompanied by an explicit random number generator like
Random.MersenneTwister
that requires a seed. This is necessary to ensure reproducibility.