Skip to content

ichko/monte-carlo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monte Carlo experiments

Simulation runner

let simulation = new Simulation()
    .setParameters(() => ({
        hits: 0
    }))

    .setExperiment((params, { random }) => {
        let [ x, y ] = random(2)();
        params.hits += Math.sqrt(x ** 2 + y ** 2) < 1;
    })

    .setAggregate(({ hits }, { iterations }) => {
        let pi = hits / iterations * 4;
        console.log(`${ pi.toFixed(4) } - estimated value of PI`);
    })

    .setIterations(30000)

    .runWhile((_, { experimentCount }) =>
        experimentCount < 10);

Useful links