Интересно
November 20, 2021
Парадокс Монти Холла
Как-то гуляя по статьям на википедии я наткнулся на одну интересную статью - Парадокс Монти Холла. Это задача теории вероятностей, решение которой, на первый взгляд, противоречит здравому смыслу.
Хотя я отлично понял доказательство этой теории, но было интересно проверить распределение результатов на практике. Простенький скрипт на 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%";
November 20, 2021, 08:12
0 views
0 reactions