Example usage for org.apache.commons.math3.random MersenneTwister MersenneTwister

List of usage examples for org.apache.commons.math3.random MersenneTwister MersenneTwister

Introduction

In this page you can find the example usage for org.apache.commons.math3.random MersenneTwister MersenneTwister.

Prototype

public MersenneTwister(long seed) 

Source Link

Document

Creates a new random number generator using a single long seed.

Usage

From source file:com.anhth12.models.featuredetectors.rbm.run.App.java

public static void main(String[] args) {
    try {//  w  w  w  .j  a va 2  s  . co  m
        String path = "D:\\1.Source\\LogisticRegression\\src\\resources\\mnist_784_1000.txt";
        FilleDatsetIterator dsi = new FilleDatsetIterator(path);
        DataSet d = dsi.next();
        RandomGenerator rng = new MersenneTwister(123);

        NeuralNetworkConfiguration conf = new NeuralNetworkConfiguration();
        conf.setWeightInit(WeightInit.VI);
        conf.setDropOut(0.3f);
        conf.setHiddenUnit(RBM.HiddenUnit.SOFTMAX);
        conf.setVisibleUnit(RBM.VisibleUnit.SOFTMAX);
        conf.setLossFunction(LossFunctions.LossFunction.RECONSTRUCTION_CROSSENTROPY);
        conf.setRng(rng);
        conf.setnIn(d.numInputs());
        conf.setnOut(d.numOutcomes());
        conf.setNumIterations(10);
        conf.setActivationFunction(new Sigmoid());

        LayerFactory rbmFactory = LayerFactories.getLayerFactory(RBM.class);
        RBM rbm = rbmFactory.create(conf);
        //            RBM rbm = new RBM(conf);
        rbm.fit(d.getFeatureMatrix());

    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:com.github.rinde.rinsim.ui.PanelTest.java

public static void main(String[] args) {

    final Simulator sim = new Simulator(new MersenneTwister(123), Measure.valueOf(1000L, SI.MILLI(SI.SECOND)));
    sim.register(new PlaneRoadModel(new Point(0, 0), new Point(10, 10), 10));
    sim.configure();// w w w  . jav a2 s.  c o m

    View.create(sim)
            .with(new RoadUserRenderer(), new PlaneRoadModelRenderer(),
                    new TestPanelRenderer("LEFT", SWT.LEFT, 200),
                    new TestPanelRenderer("RIHGT BOEEE YEAH", SWT.RIGHT, 300),
                    new TestPanelRenderer("RIHGT BOEEE YEAH", SWT.TOP, 100),
                    new TestPanelRenderer("TOP2", SWT.TOP, 100), new TestPanelRenderer("LEFT2", SWT.LEFT, 100),
                    new TestPanelRenderer("LEFT3", SWT.LEFT, 150))
            .show();

}

From source file:com.github.rinde.dynurg.PoissonDynamismExperiment.java

public static void main(String[] args) {
    final RandomGenerator rng = new MersenneTwister(123L);
    final TimeSeriesGenerator nonHomogPoissonGenerator = TimeSeries.nonHomogenousPoisson(LENGTH_OF_DAY,
            IntensityFunctions.sineIntensity().area(NUM_EVENTS / (LENGTH_OF_DAY / INTENSITY_PERIOD))
                    .period(INTENSITY_PERIOD).height(StochasticSuppliers.uniformDouble(-.99, 1.5d))
                    .phaseShift(StochasticSuppliers.uniformDouble(0, INTENSITY_PERIOD))
                    .buildStochasticSupplier());

    final TimeSeriesGenerator homogPoissonGenerator = TimeSeries.homogenousPoisson(LENGTH_OF_DAY, NUM_EVENTS);

    final TimeSeriesGenerator normalGenerator = TimeSeries.normal(LENGTH_OF_DAY, NUM_EVENTS, 2.4 * 60 * 1000);

    final StochasticSupplier<Double> maxDeviation = StochasticSuppliers.normal().mean(1 * 60 * 1000)
            .std(1 * 60 * 1000).lowerBound(0).upperBound(15d * 60 * 1000).buildDouble();
    final TimeSeriesGenerator uniformGenerator = TimeSeries.uniform(LENGTH_OF_DAY, NUM_EVENTS, maxDeviation);

    createDynamismHistogram(nonHomogPoissonGenerator, rng.nextLong(),
            new File(FOLDER + "non-homog-poisson-dynamism.csv"), REPETITIONS);

    createDynamismHistogram(homogPoissonGenerator, rng.nextLong(),
            new File(FOLDER + "homog-poisson-dynamism.csv"), REPETITIONS);

    createDynamismHistogram(normalGenerator, rng.nextLong(), new File(FOLDER + "normal-dynamism.csv"),
            REPETITIONS);/*from  w  ww  . ja  v a 2 s .  c  o m*/

    createDynamismHistogram(uniformGenerator, rng.nextLong(), new File(FOLDER + "uniform-dynamism.csv"),
            REPETITIONS);

}

From source file:edu.oregonstate.eecs.mcplan.domains.ipc.tamarisk.IpcTamariskTest.java

/**
 * @param args/* w  w w . j a  v a2 s . co m*/
 */
public static void main(final String[] args) {
    final File domain = new File("final_comp_2014/rddl_domains/tamarisk_mdp.rddl");
    final File instance = new File("final_comp_2014/rddl/tamarisk_inst_mdp__1.rddl");
    final IpcTamariskState s0 = IpcTamariskDomains.parse(domain, instance);

    final RandomGenerator rng = new MersenneTwister(42);

    final IpcTamariskFsssModel model = new IpcTamariskFsssModel(rng, s0.params, s0,
            new IpcTamariskReachRepresenter(s0.params));

    IpcTamariskState s = model.initialState();
    for (int t = 0; t < s.params.T; ++t) {
        System.out.println(s);
        final IpcTamariskAction a = Fn.uniform_choice(rng, model.actions(s));
        System.out.println(a);
        s = model.sampleTransition(s, a);
    }

    System.out.println(s);
}

From source file:edu.oregonstate.eecs.mcplan.domains.firegirl.FireGirlTest.java

/**
 * @param args//w  w w.ja  v a2  s  .c  o  m
 * @throws IOException
 */
public static void main(final String[] args) throws IOException {
    final int T = 200;
    final double discount = 0.9;
    final RandomGenerator episode_rng = new MersenneTwister(42);
    final RandomGenerator iid_rng = new MersenneTwister(43);
    final FireGirlParameters params = new FireGirlParameters(T, discount,
            new FireGirlLocalFeatureRepresenter());

    double min_suppress_cost = 0;
    final MeanVarianceAccumulator mv_suppress_cost = new MeanVarianceAccumulator();

    final ch.qos.logback.classic.Logger Log = LoggerManager.getLogger("log.domain");
    Log.setLevel(Level.WARN);

    final int Ntrials = 1;
    for (int trial = 0; trial < Ntrials; ++trial) {
        System.out.println("trial: " + trial);
        final FireGirlState s = new FireGirlState(params);
        s.setRandomInitialState(episode_rng);
        for (int t = 0; t < T; ++t) {
            Log.info(" === Year {} === ", t);
            final FireGirlAction a = (iid_rng.nextBoolean() ? FireGirlAction.LetBurn : FireGirlAction.Suppress);
            final FireGirlState.YearResult result = s.doOneYear(episode_rng, a);
            if (a == FireGirlAction.Suppress) {
                mv_suppress_cost.add(result.fire.sup_cost);
            }
            if (result.fire.sup_cost < min_suppress_cost) {
                min_suppress_cost = result.fire.sup_cost;
            }

            //            final File f = new File( "FireGirlTest_" + (t+1) + ".png" );
            //            s.writePng( f );
        }
    }

    System.out.println("min suppress cost: " + min_suppress_cost);
    System.out.println("sup_cost mean: " + mv_suppress_cost.mean());
    System.out.println("sup_cost var: " + mv_suppress_cost.variance());
}

From source file:edu.oregonstate.eecs.mcplan.domains.ipc.crossing.IpcCrossingTest.java

/**
 * @param args//from w  w  w . j  a v a 2 s.c o m
 */
public static void main(final String[] args) {
    final File domain = new File("final_comp_2014/rddl_domains/crossing_traffic_mdp.rddl");
    final File instance = new File("final_comp_2014/rddl/crossing_traffic_inst_mdp__4.rddl");
    final IpcCrossingState s0 = IpcCrossingDomains.parse(domain, instance);

    final RandomGenerator rng = new MersenneTwister(42);

    final IpcCrossingFsssModel model = new IpcCrossingFsssModel(rng, s0);

    IpcCrossingState s = model.initialState();
    for (int t = 0; t < s.params.T; ++t) {
        System.out.println(s);
        final IpcCrossingAction a = Fn.uniform_choice(rng, model.actions(s));
        System.out.println(a);
        s = model.sampleTransition(s, a);
    }

    System.out.println(s);
}

From source file:math.test.TestDimpleRandom.java

/**
 * Measures speed of Apache vs Colt generators
 *//*  w  w  w. jav a  2 s .c o m*/
public static void main(String[] args) {
    RandomGenerator apacheGenerator = new MersenneTwister(42);
    cern.jet.random.engine.RandomEngine cernGenerator = new cern.jet.random.engine.MersenneTwister();

    final int N = 100000;
    long start, end;

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        apacheGenerator.nextDouble();
    }
    end = System.nanoTime();
    long apacheTime = end - start;

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        cernGenerator.nextDouble();
    }
    end = System.nanoTime();

    long cernTime = end - start;

    System.out.format("MersenneTwister.nextDouble() x %d apache/cern %f\n", N, (double) apacheTime / cernTime);

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        BetaDistribution apacheBeta = new BetaDistribution(apacheGenerator, 1.0, 1.0);
        apacheBeta.sample();
    }
    end = System.nanoTime();
    apacheTime = end - start;

    cern.jet.random.Beta cernBeta = new cern.jet.random.Beta(1, 1, cernGenerator);

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        cernBeta.nextDouble();
    }
    end = System.nanoTime();
    apacheTime = end - start;

    System.out.format("Beta x %d apache/cern %f\n", N, (double) apacheTime / cernTime);

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        GammaDistribution apacheGamma = new GammaDistribution(apacheGenerator, 1.0, 1.0);
        apacheGamma.sample();
    }
    end = System.nanoTime();
    apacheTime = end - start;

    cern.jet.random.Gamma cernGamma = new cern.jet.random.Gamma(1, 1, cernGenerator);

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        cernGamma.nextDouble();
    }
    end = System.nanoTime();
    apacheTime = end - start;

    System.out.format("Gamma x %d apache/cern %f\n", N, (double) apacheTime / cernTime);

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        BinomialDistribution apacheBinomial = new BinomialDistribution(apacheGenerator, 1, .5);
        apacheBinomial.sample();
    }
    end = System.nanoTime();
    apacheTime = end - start;

    cern.jet.random.Binomial cernBinomial = new cern.jet.random.Binomial(1, .5, cernGenerator);

    start = System.nanoTime();
    for (int i = N; --i >= 0;) {
        cernBinomial.nextInt();
    }
    end = System.nanoTime();
    apacheTime = end - start;

    System.out.format("Binomial x %d apache/cern %f\n", N, (double) apacheTime / cernTime);
}

From source file:edu.oregonstate.eecs.mcplan.domains.tamarisk.TamariskDataset.java

/**
 * @param args//from   w  w w.  ja v a 2 s  .c  om
 * @throws FileNotFoundException
 */
public static void main(final String[] args) throws FileNotFoundException {
    int idx = 0;
    final int Ninstances = Integer.parseInt(args[idx++]);
    System.out.println("Ninstances = " + Ninstances);
    final int Nreaches = Integer.parseInt(args[idx++]);
    System.out.println("Nreaches = " + Nreaches);
    final int Nhabitats = Integer.parseInt(args[idx++]);
    System.out.println("Nhabitats = " + Nhabitats);
    final int seed = Integer.parseInt(args[idx++]);
    System.out.println("seed = " + seed);
    final String out_filename = args[idx++];
    System.out.println("out_filename = " + out_filename);

    final RandomGenerator rng = new MersenneTwister(seed);

    final Csv.Writer writer = new Csv.Writer(new PrintStream(new File(out_filename)));
    writer.cell("Nreaches").cell("Nhabitats");
    for (int r = 0; r < Nreaches; ++r) {
        for (int h = 0; h < Nhabitats; ++h) {
            writer.cell("r" + r + "h" + h);
        }
    }
    writer.newline();

    for (int i = 0; i < Ninstances; ++i) {
        final TamariskParameters params = new TamariskParameters(rng, Nreaches, Nhabitats);
        final DirectedGraph<Integer, DefaultEdge> g = params.createBalancedGraph(2);
        final TamariskState s = new TamariskState(rng, params, g);

        writer.cell(Nreaches).cell(Nhabitats);
        for (int r = 0; r < Nreaches; ++r) {
            for (int h = 0; h < Nhabitats; ++h) {
                writer.cell(s.habitats[r][h]);
            }
        }
        writer.newline();
    }
}

From source file:edu.oregonstate.eecs.mcplan.domains.yahtzee2.YahtzeeClient.java

/**
 * @param args/*from  w w  w. j  a va2 s. co  m*/
 * @throws IOException
 */
public static void main(final String[] args) throws IOException {
    final RandomGenerator rng = new MersenneTwister(42);
    final YahtzeeState s0 = new YahtzeeState(rng);
    final YahtzeeSimulator sim = new YahtzeeSimulator(rng, s0);

    final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    while (!sim.state().isTerminal()) {
        printState(sim.state());
        final String cmd = reader.readLine();
        final String[] parts = cmd.split(" ");
        if ("keep".equals(parts[0])) {
            final int[] keepers = new int[Hand.Nfaces];
            for (int i = 1; i < parts.length; ++i) {
                final int v = Integer.parseInt(parts[i]);
                keepers[v - 1] += 1;
            }
            sim.takeAction(new JointAction<YahtzeeAction>(new KeepAction(keepers)));
        } else if ("score".equals(parts[0])) {
            final YahtzeeScores category = YahtzeeScores.valueOf(parts[1]);
            sim.takeAction(new JointAction<YahtzeeAction>(new ScoreAction(category)));
        } else if ("undo".equals(parts[0])) {
            sim.untakeLastAction();
        } else {
            System.out.println("!!! Bad command");
        }
    }
    System.out.println("********** Terminal **********");
    printState(sim.state());
}

From source file:com.github.rinde.rinsim.examples.demo.swarm.SwarmDemo.java

/**
 * Starts the demo.// w ww.j a  v  a  2s .  c  om
 * @param args No args.
 */
public static void main(String[] args) {
    final String string = "AgentWise";
    final List<Point> points = measureString(string, FONT_SIZE, FONT_SPACING, 0);

    final RandomGenerator rng = new MersenneTwister(RANDOM_SEED);
    final Simulator sim = Simulator.builder()
            .addModel(RoadModelBuilders.plane().withMinPoint(MIN_POINT).withMaxPoint(MAX_POINT)
                    .withDistanceUnit(SI.METER).withSpeedUnit(NonSI.KILOMETERS_PER_HOUR)
                    .withMaxSpeed(MAX_SPEED))
            .addModel(View.builder().with(PlaneRoadModelRenderer.builder()).with(VehicleRenderer.builder())
                    .with(DemoPanel.builder(string)).withSpeedUp(SPEED_UP))
            .build();

    for (final Point p : points) {
        sim.register(new Vehicle(p, rng));
    }
    sim.start();
}