Skip to content

anton-bot/monty-hall-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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%)

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published