Парадокс Монти Холла

Как-то гуляя по статьям на википедии я наткнулся на одну интересную статью - Парадокс Монти Холла. Это задача теории вероятностей, решение которой, на первый взгляд, противоречит здравому смыслу.

Хотя я отлично понял доказательство этой теории, но было интересно проверить распределение результатов на практике. Простенький скрипт на PHP, который показывает результаты под катом.

function get_krol($mod)
   {
       // Три пустые двери
       $arr=array(0,0,0,);

       // Кладем кролика за одну из них.
       $i=rand(0,2);
       $arr[$i]=1;

       // Делаем первый выбор
       $i=rand(0,2);

       // Убираем 1 дверь без кролика
       $y=0;
       while($y<3)
           {
               if($i!=$y)
                   {
                       $arr_tmp[]=$arr[$y];
                   }
               $y++;
           }

       // Смотрим какую именно дверь убрать
       if($arr_tmp[0]==0 and $arr_tmp[1]==0)
           {
           $arr_final[1]=0;
           }
       if($arr_tmp[0]==1 OR $arr_tmp[1]==1)
           {
           $arr_final[1]=1;
           }

       // Первоначальное решение
       $arr_final[0]=$arr[$i];

       // Не меняет решение
       if($mod==0)
           {
           if($arr_final[0]==1){return 1;}
           if($arr_final[0]==0){return 0;}
           }
       //Меняет  решение
       if($mod==1)
           {
           if($arr_final[1]==1){return 1;}
           if($arr_final[1]==0){return 0;}
           }
   }

// Не меняем решение
$u=0;
while($u<100000)
   {
   $total=$total+get_krol(0);
   $u++;
   }
$total = ($total / 100000) *100;
echo "Не меняя $total% 
";

// Меняем решение
$u=0;
$total=0;
while($u<100000)
   {
   $total=$total+get_krol(1);
   $u++;
   }
$total = ($total / 100000) *100;
echo "Меняя: $total%";