D.P에서 나왔던 몬티홀 법칙
첫 번째 선택을 안 바꾸고 당첨될 확률과
꽝을 본 후 선택 바꿨을 때 당첨될 확률을 봤는데..
숫자를 점점 늘리니깐 바꿨을 때가 더 높게 나오더라고요 ㅋㅋ
<?php
function montyhall($user){
$nochange_count = 0;
$change_count = 0;
$door = [1,2,3];
for($i=0; $i < $user; $i++){
$car = rand(1,3);
$user_choice = rand(1,3);
// 유저가 선택을 바꾸지 않았을때 당첨 count
if($car == $user_choice){
$nochange_count +=1;
}
$monty_door, $second_choice;
// 사회자가 꽝의 문을 골라줌
foreach($door as $val){
if($val != $car && $val != $user_choice){
$monty_door = $val;
}
}
$monty_open = $monty_door;
// 사회자가 열어준 문도 아닌, 유저가 처음에 선택한 문도 아님 -> 선택을 바꿨을 경우
foreach($door as $val2){
if($val2 != $monty_open && $val2 != $user_choice){
$second_choice = $val2;
}
}
// 유저가 선택을 바꿨을때 당첨 count
if($car == $second_choice){
$change_count += 1;
}
}
echo $change_count."<br>";
echo $nochange_count."<br>";
echo "바꿨을때 : " .$change_count/$user."<br>";
echo "변경 안했을때 : " .$nochange_count/$user."<br>";
}
montyhall(100);
?>
'PHP' 카테고리의 다른 글
[PHP] Google SNS 로그인 Composer 이용 (0) | 2023.12.26 |
---|---|
[PHP] PHPExcel 을 이용한 엑셀 업로드 후 내용 불러오기 (0) | 2017.09.19 |
[PHP] php에서 파일 생성 및 수정하기 (0) | 2017.08.25 |
[PHP] 간단한 이미지 다운로드 (수정) (0) | 2017.08.23 |
[PHP] Date 함수 (0) | 2017.08.14 |