Nonconformist Propaganda Machine

    monty-hall-simulator

    1.0.0 • Public • Published

    Monty Hall Problem Simulator

    Simulates the Monty Hall Problem over a given number of iterations, with an arbitrary number of doors.

    Uses a cryptographically secure pseudorandom number generator. Returns the results or prints them to console.

    For a more convincing demonstration, you can play a game with 100 doors, when Monty opens 98 doors before offering to switch. This results in a 99% winning chance when switching.

    async monty(iterations, doors, print)

    • iterations - Number of games for each scenario (player switches / player stays). Default 1000.
    • doors - Number of doors in the game. Default 3.
    • print - Whether to print results to console (default: true). If false, returns results in the format:
    {
      "iterations": 1000,
      "wins": {
        "kept": 333,
        "switched": 667,
      }
    }

    Examples

    Classical Monty Hall game:

     
    const monty = require('monty-hall-simulator');
     
    monty();
     
    //  ---------------------------------
    //  |                               |
    //  |  Monty Hall Problem Simulator |
    //  |                               |
    //  ---------------------------------
    //
    //  Played 1000 iterations
    //  for each game scenario.
    //
    //  Wins when player keeps the initial bet: 354/1000 (35.40%)
    //  Wins when player switches their bet:    657/1000 (65.70%)
     

    Play more iterations - to get more precise results

    const monty = require('monty-hall-simulator');
     
    monty(1000000);
     
    //  ---------------------------------
    //  |                               |
    //  |  Monty Hall Problem Simulator |
    //  |                               |
    //  ---------------------------------
    //
    //  Played 1000000 iterations
    //  for each game scenario.
    //
    //  Wins when player keeps the initial bet: 334154/1000000 (33.42%)
    //  Wins when player switches their bet:    666065/1000000 (66.61%)

    Play with more doors

    const monty = require('monty-hall-simulator');
     
    monty(10000, 100);
     
    //  ---------------------------------
    //  |                               |
    //  |  Monty Hall Problem Simulator |
    //  |                               |
    //  ---------------------------------
    //
    //  Played 10000 iterations
    //  for each game scenario.
    //
    //  Wins when player keeps the initial bet: 97/10000 (0.97%)
    //  Wins when player switches their bet:    9898/10000 (98.98%)

    Install

    npm i monty-hall-simulator

    DownloadsWeekly Downloads

    4

    Version

    1.0.0

    License

    Unlicense

    Unpacked Size

    6.71 kB

    Total Files

    4

    Last publish

    Collaborators

    • anton-ivanov