Package org.uncommons.maths.random

Examples of org.uncommons.maths.random.MersenneTwisterRNG


   * Make sure that evaluate() is called as many different populations are
   * passed to getFitness().
   */
  public void testEvaluateDifferentPopulations() {
    STFitnessEvaluatorMock<Integer> mock = new STFitnessEvaluatorMock<Integer>();
    Random rng = new MersenneTwisterRNG();

    // generate a population A
    int size = 100;
    List<Integer> population = randomInts(size, rng);

    List<Double> evaluations = randomFloats(size, rng);
    mock.shouldReturn(evaluations);

    // call with population A
    mock.getFitness(population.get(rng.nextInt(size)), population);

    // generate a new population B
    population = randomInts(size, rng);

    // call with population B
    mock.getFitness(population.get(rng.nextInt(size)), population);

    // getFitness() should be called twice
    assertEquals(2, mock.getNbCalls());
  }
View Full Code Here


  public static void useTestSeed() {
    testSeed = true;
  }

  public static Random getRandom() {
    return testSeed ? new MersenneTwisterRNG(STANDARD_SEED) : new MersenneTwisterRNG();
  }
View Full Code Here

    seedBytes[4] = (byte) (seed >>> 24);
    seedBytes[5] = (byte) (seed >>> 16);
    seedBytes[6] = (byte) (seed >>>  8);
    seedBytes[7] = (byte) seed;
    System.arraycopy(seedBytes, 0, seedBytes, 8, 8);
    return new MersenneTwisterRNG(seedBytes);
  }
View Full Code Here

  public void testTrainingTestingSets() throws IOException {
    int n = 20;

    for (int nloop = 0; nloop < n; nloop++) {
      MersenneTwisterRNG rng = (MersenneTwisterRNG) RandomUtils.getRandom();
      byte[] seed = rng.getSeed();
      double threshold = rng.nextDouble();

      JobConf conf = new JobConf();
      Set<Long> dataset = new HashSet<Long>();
      LongWritable key = new LongWritable();
      Text value = new Text();
View Full Code Here

  public void testStoreJobParameters() {
    int n = 20;

    for (int nloop = 0; nloop < n; nloop++) {
      MersenneTwisterRNG rng = (MersenneTwisterRNG) RandomUtils.getRandom();

      byte[] seed = rng.getSeed();
      double threshold = rng.nextDouble();
      boolean training = rng.nextBoolean();

      DatasetSplit split = new DatasetSplit(seed, threshold);
      split.setTraining(training);

      JobConf conf = new JobConf();
View Full Code Here

    this.threshold = threshold;
    this.training = true;
  }

  public DatasetSplit(double threshold) {
    this(new MersenneTwisterRNG().getSeed(), threshold);
  }
View Full Code Here

      this.reader = reader;

      DatasetSplit split = new DatasetSplit(conf);

      rng = new MersenneTwisterRNG(split.getSeed());
      threshold = split.getThreshold();
      training = split.isTraining();
    }
View Full Code Here

        TreeEvaluator evaluator = new TreeEvaluator(data);
        EvolutionEngine<Node> engine = new GenerationalEvolutionEngine<Node>(factory,
                                                                             new EvolutionPipeline<Node>(operators),
                                                                             evaluator,
                                                                             new RouletteWheelSelection(),
                                                                             new MersenneTwisterRNG());
        engine.addEvolutionObserver(new EvolutionLogger<Node>());
        return engine.evolve(1000, 5, new TargetFitness(0d, evaluator.isNatural()));
    }
View Full Code Here

                                                                                              populationSize,
                                                                                              1);
                EvolutionEngine<Biomorph> engine = new GenerationalEvolutionEngine<Biomorph>(new BiomorphFactory(),
                                                                                             mutation,
                                                                                             selection,
                                                                                             new MersenneTwisterRNG());
                engine.addEvolutionObserver(new GenerationTracker());
                return engine.evolve(populationSize,
                                     0,
                                     new GenerationCount(generationCount));
            }
View Full Code Here

        EvolutionaryOperator<BitString> pipeline = new EvolutionPipeline<BitString>(operators);
        GenerationalEvolutionEngine<BitString> engine = new GenerationalEvolutionEngine<BitString>(new BitStringFactory(length),
                                                                                                   pipeline,
                                                                                                   new BitStringEvaluator(),
                                                                                                   new RouletteWheelSelection(),
                                                                                                   new MersenneTwisterRNG());
        engine.setSingleThreaded(true); // Performs better for very trivial fitness evaluations.
        engine.addEvolutionObserver(new EvolutionLogger<BitString>());
        return engine.evolve(100, // 100 individuals in each generation.
                             0, // Don't use elitism.
                             new TargetFitness(length, true)); // Continue until a perfect match is found.       
View Full Code Here

TOP

Related Classes of org.uncommons.maths.random.MersenneTwisterRNG

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.