Skip to content

Instantly share code, notes, and snippets.

@kopiro
Created October 12, 2011 19:11
Show Gist options
  • Save kopiro/1282217 to your computer and use it in GitHub Desktop.
Save kopiro/1282217 to your computer and use it in GitHub Desktop.
Monty Hall resolution by Javascript
var g = { change:0, dontchange:0 };
var p = 3;
var i = 1;
rnd = function(max) { return Math.floor(Math.random()*max); }
setInterval(function(){
var doors = [];
for (var j=0; j<p; j++) doors.push(0);
doors[rnd(p)] = 1;
var my_ch = rnd(p);
var pr_chs = [];
for (var j=0; j<p; j++) {
if (j==my_ch) continue;
if (doors[j]==0) pr_chs.push(j);
}
var pr_ch = pr_chs[rnd(pr_chs.length)];
var ports_av = [];
for (var j=0; j<p; j++) {
if (j==my_ch) continue;
if (j==pr_ch) continue;
ports_av.push(j);
}
my_new_ch = ports_av[rnd(ports_av.length)];
g.dontchange += doors[my_ch];
g.change += doors[my_new_ch];
g.dontchangep = g.dontchange/i;
g.changep = g.change/i;
i++;
}, 0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment