public DefaultRandom(long seed) { this.seed = seed; this.randomGenerator = new SynchronizedRandomGenerator(new MersenneTwister(seed)); }
@Override public void setRngSeed(long rngSeed) { rng.setSeed(rngSeed); } }
@Override public Candidate getCandidate() { double[] randomValues = new double[parameterSpace.numParameters()]; for (int i = 0; i < randomValues.length; i++) randomValues[i] = rng.nextDouble(); Object value = null; Exception e = null; try { value = parameterSpace.getValue(randomValues); } catch (Exception e2) { log.warn("Error getting configuration for candidate", e2); e = e2; } return new Candidate(value, candidateCounter.getAndIncrement(), randomValues, dataParameters, e); }
@Override public void setRngSeed(long rngSeed) { rng.setSeed(rngSeed); } }
@Override public Candidate getCandidate() { double[] randomValues = new double[parameterSpace.numParameters()]; for (int i = 0; i < randomValues.length; i++) randomValues[i] = rng.nextDouble(); Object value = null; Exception e = null; try { value = parameterSpace.getValue(randomValues); } catch (Exception e2) { e = e2; } return new Candidate(value, candidateCounter.getAndIncrement(), randomValues, dataParameters, e); }
public DefaultRandom(long seed) { this.seed = seed; this.randomGenerator = new SynchronizedRandomGenerator(new MersenneTwister(seed)); }
/** * Sets the seed to the given value. * * @param seed A long value. Once this seed is set, the behavior of the random number generator is deterministic, so * setting the seed can be used to repeat previous behavior. */ public void setSeed(long seed) { // Do not change this generator; you will screw up innuerable unit tests! randomGenerator = new SynchronizedRandomGenerator(new Well44497b(seed)); seedsToGenerators.put(seed, randomGenerator); normal = new NormalDistribution(randomGenerator, 0, 1); this.seed = seed; }