montyhall

1.0.1 • Public • Published

Monty Hall Problem

a node package that models the Monty Hall Problem from probability

Build Status

Imgur

The Problem

Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice?

Taken from the wikipedia article: The Monty Hall problem is a brain teaser, in the form of a probability puzzle (Gruber, Krauss and others), loosely based on the American television game show Let's Make a Deal and named after its original host, Monty Hall. The problem was originally posed in a letter by Steve Selvin to the American Statistician in 1975 (Selvin 1975a), (Selvin 1975b). It became famous as a question from a reader's letter quoted in Marilyn vos Savant's "Ask Marilyn" column in Parade magazine in 1990 (vos Savant 1990a):

Installing Monty Hall

$ npm install montyhall

Methods

/**
 * @param numberOfDoors {Integer} - The number of doors you want to simulate
 * @param willSwitch {Boolean} - Whether or not you decide to switch
 * @param numberOfIterations (Integer) - Amount of times you want to simulate it
 */
montyhall.simulateIterations(numberOfDoors, willSwitch, numberOfIterations)
$ var montyhall = require('montyhall')
$ montyhall.simulateIterations(3, true, 100)
$ With 100 iterations and by switching
  With 3 doors
 
  You succeeded 67 times
  With a success percentage of 67%
/**
 * @param numberOfDoors {Integer} - The number of doors you want to simulate
 * @param willSwitch {Boolean} - Whether or not you decide to switch
 * @return {Boolean} - Whether or not you succeeded
 */
montyhall.simulate(numberOfDoors, willSwitch)
$ var montyhall = require('montyhall')
$ montyhall.simulate(3, true)
true

Development

Want to contribute? Great! Please submit a pull request and I'll review it and integrate it as fast as I can. Write up some tap tests for your implementation before submitting.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i montyhall

Weekly Downloads

2

Version

1.0.1

License

MIT

Last publish

Collaborators

  • rauljordan