Interesting way of evaluating it. The problem is that you have assigned two possibilities for each time they pick they car on their first go, when in reality there is only one - the only difference is that Monty has a choice of doors to pick in that situation (which doubles the possibilities in you scenario, but not in reality). The correct matrix is as follows: $ -> user's chosen door that has a car behind it ! -> user's chosen door with a goat behind it. * -> non-chosen door with a car . -> non-chosen door with a goat $.. -> Switcher score : 0 Sticker score : 1 !*. -> Switcher score : 1 Sticker score : 1 !.* -> Switcher score : 2 Sticker score : 1 *!. -> Switcher score : 3 Sticker score : 1 .$. -> Switcher score : 3 Sticker score : 2 .!* -> Switcher score : 4 Sticker score : 2 *.! -> Switcher score : 5 Sticker score : 2 .*! -> Switcher score : 6 Sticker score : 2 ..$ -> Switcher score : 6 Sticker score : 3 You can essentially ignore what Monty does, as if you pick a goat he has only one choice, if you pick the car it doesn't matter what he does. He doesn't add to the possibilities. On Dec 5, 2007 7:19 PM, Rolf wrote: > Michael Rigby-Jones wrote: > > > >> -----Original Message----- > >> From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On > Behalf > >> Of Ruben J=F6nsson > >> Sent: 05 December 2007 14:51 > >> To: Microcontroller discussion list - Public. > >> Subject: Re: [OT] The Monty Hall problem > >> > >> Put another way: > >> > >> If you switch doors you win if you initially picked one of the two > goats. > >> 2/3 > >> chance of winning the car. > >> > >> If you don't switch doors you win if you pick the car. 1/3 chance of > >> winning > >> the car. > >> > > > > Thanks, that's by far the best description I have seen. It clicked in my > head as soon as I read it! > > > > Mike > > > > =3D=3D=3D=3D=3D=3D > > Right, since everyone now apparently understands why you 'must' switch, > and I thought I understood too. I decided to write a program to test the > probabilities. As Rob Robson said: "We're techies! Simulate, observe, > record, _then_ argue about one another's methods." The program I wrote > tests each possible outcome.... > > Well, the results are surprising (to me... because I thought I > understoold), and well, here they are: > > First, the legend.... > $ -> user's chosen door that has a car behind it > ! -> user's chosen door with a goat behind it. > o -> the open door. > X -> switched door with a car. > . -> switched door with nothing. > > Then the results... > > $o. -> Switcher score : 0 Sticker score : 1 > $.o -> Switcher score : 0 Sticker score : 2 > !Xo -> Switcher score : 1 Sticker score : 2 > !oX -> Switcher score : 2 Sticker score : 2 > X!o -> Switcher score : 3 Sticker score : 2 > o$. -> Switcher score : 3 Sticker score : 3 > .$o -> Switcher score : 3 Sticker score : 4 > o!X -> Switcher score : 4 Sticker score : 4 > Xo! -> Switcher score : 5 Sticker score : 4 > oX! -> Switcher score : 6 Sticker score : 4 > o.$ -> Switcher score : 6 Sticker score : 5 > .o$ -> Switcher score : 6 Sticker score : 6 > > But, then, I thought, well, there appear to be only 12 possible > outcomes, but do they have equal probibility of happening? > > Rolf > > and here's the program. > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > #!/usr/bin/perl -w > > use strict; > > sub printscen ($$$) { > my $chosen =3D shift; > my $open =3D shift; > my $car =3D shift; > my $msg =3D ""; > my $pos; > foreach $pos ( 1 .. 3 ) { > if ($open =3D=3D $pos) { > $msg .=3D "o"; > } elsif ($chosen =3D=3D $pos) { > $msg .=3D $car =3D=3D $pos ? "\$" : "X"; > } else { > $msg .=3D $car =3D=3D $pos ? "!" : "."; > } > } > print "$msg -> "; > } > > my $switchscore =3D 0; > my $stayscore =3D 0; > > my $car; > foreach $car (1 .. 3) { > my $choose; > foreach $choose (1 .. 3) { > my $open; > foreach $open (1 .. 3) { > # Cant't open door if it is the one the contestant chooses. > next if $open =3D=3D $choose; > # Can't open door if car is behind it... > next if $open =3D=3D $car; > if ($car =3D=3D $choose) { > $stayscore++; > } else { > $switchscore++; > } > printscen ($choose, $open, $car); > print " Switcher score : $switchscore Sticker score : > $stayscore\n"; > } > } > } > > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- = http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist