Yahweh revealed his code to solve the problem, let me reveal the code which I think defines the problem:
<PRE>
BOOLEAN monty_hall_problem(PARAM host_strategy, PARAM contestant_strategy,
BOOLEAN host_must_offer_choice, BOOLEAN host_might_reveal_car)
{
Integer winningdoor=nextRandomInteger(3);
Integer firstguess=nextRandomInteger(3);
Integer revealed_prize;
Integer finalguess=firstguess;
if (host_must_offer_choice OR
host_decides_to_offer_choice(winningdoor,
firstguess,host_strategy))
{
revealed_prize=openDoor(winningdoor,firstguess,
host_might_reveal_car);
if (revealed_prize==winningdoor) return LOSE;
if (contestant_switches(contestant_strategy) )
finalguess=anythingbut(firstguess,revealed_prize);
}
if (finalguess==winningdoor) return WIN;
return LOSE;
}
</pre>
Now if I were to ask what was the probability of this function returning WIN given that the contestant_switches function always returns TRUE then you would not be able to answer. It would depend on the results of the functions that are not given.
The true critical thinker would ask for the missing information to be supplied and not jump at one conclusion or the other.
I am prepared to confess I jumped at one conclusion, are the "it depends on the intentions of the host" crowd prepared to admit they jumped at the other?
(Incidentally, here are the results again of the program when it is run: )<table border=1>
<tr><td align=center colspan=5>Host Never Reveals Prize</td></tr>
<tr><td rowspan=2 valign=center>Contestant Strategy</td><td align=center colspan=4>Host Behaviour</td></tr>
<tr><td>Bad Monty</td><td>Fair Monty</td>
<td>Good Monty</td><td>Rules say offer change</td></tr>
<tr><td>1. Never switch even if offered</td>
<td>0.33</td><td>0.33</td><td>0.33</td><td>0.33</td></tr><tr><td>2. Toss a coin if offered</td>
<td>0.17</td><td>0.42</td><td>0.66</td><td>0.50</td></tr><tr><td>3. Always switch if offered</td>
<td>0.00</td><td>0.50</td><td>1.00</td><td>0.67</td></tr><tr><td align=center colspan=5>Host May Reveal Prize</td></tr>
<tr><td rowspan=2 valign=center>Contestant Strategy</td><td align=center colspan=4>Host Behaviour</td></tr>
<tr><td>Bad Monty</td><td>Fair Monty</td>
<td>Good Monty</td><td>Rules say offer change</td></tr>
<tr><td>1. Never switch even if offered</td>
<td>0.33</td><td>0.33</td><td>0.33</td><td>0.33</td></tr><tr><td>2. Toss a coin if offered</td>
<td>0.17</td><td>0.33</td><td>0.50</td><td>0.33</td></tr><tr><td>3. Always switch if offered</td>
<td>0.00</td><td>0.33</td><td>0.67</td><td>0.33</td></tr></table>