Monty Hall Problem (Pseudo code + Python code)
앞서 작성한 Pseudo code와 손코딩 한 부분의 코드상에 논리적 문제를 발견했다. 만약 사용자가 선택한 문과 당첨 문이 일치하지 않는 경우, 진행자는 당첨문과 사용자가 선택한 문을 제외한 범위 내의 문을 열어서 보여줘야 하기 때문에 이 경우에는 당첨 문과 참가자가 선택한 문 둘 다 제거를 해줘야 한다. 만약 사용자가 선택한 문과 당첨 문이 같은 경우에는 사용자가 선택한 문을 제외한 두 개의 문 중에서 하나를 선택해서 문을 열어서 보여주면 된다.
1 | import random |
이 Monty Hall 문제에 대해서는 처음 들어봤지만, 이전에 21이라는 영화를 보면서 교수가 학생에게 확률과 관련한 질문을 하였던 것을 기억하는데 이 문제가 바로 Monty Hall문제였다.
이 영화에서 질문을 받은 학생은 “한 번 선택을 하면 33%의 확률이지만, 바꿀 수 있는 한 번의 기회를 더 받았으므로 당첨될 확률이 두 배가 된다”고 대답했던 것 같다. 이 문제가 Monty Hall 문제라는 것은 처음 알고 재미있게 Pseudo code도 적고 손코딩으로 코드도 작성해보았다. |
|