逃げ切り態勢!!

お酒を飲んでるから,酔いどれ日記になっているのは勘弁してください.
http://windfall.blogtribe.org/entry-38ec1d511df3e741867d7099456d1353.html
モンティ・ホール問題.問題は簡単で,3つのドアがあって,ドアの向こう側にアヒル,アヒル,車が適当な順番であります.で,ドアを一つ選ぶとき,車が当たる確率は? っていう問題.
一般的に考えれば3分の1だけど,この問題にはすんばらな条件がある.その条件とは,あなたが一つのドアを選んだとき,残りの二つからモンティさんがアヒルであるほうを選んでドアを開いてくれて,さらに,空けられてない2つのドアから,もう一度どちらかを選んでいいというもの.このとき,最初に選んだドアを再び選ぶか,もう一方のドアを選ぶかで,車が当たる確率が違うというのがモンティ・ホール問題.
答えは,最初に選んだドアにしがみつくと,3分の1の確率で当たり,気分一新もう一方のドアを選びなおすと3分の2の確率で車が当たるというもの.
不思議な世界だなと思って,ためしにプログラムを書こうとすると,

  1. 乱数で,ドア1,ドア2,ドア3のうちどこに車があるかを選ぶ.
  2. 挑戦者はドア1を選ぶものと仮定する(ここを仮定してもなんら問題は無い)
  3. 司会者は,ドア2,ドア3のうちで,車が無い方をオープンする.
  4. 残りのドア1ともう一方のドアについて,ドア1が当たった回数を数える.

こんな感じになるでしょうか.
で,当たり前ですが,ドア1が当たる確率は3分の1です.となると,必然的に,残ったドアの当たる確率は3分の2です.
私が今回感心したことは,不思議なことをに出会ったときに,それを確かめるためのプログラムを書こうとすると,その奥底に潜むモデルが見えてしまうときがあるということ.プログラムを書くためには,どうしてもその問題領域に対する理解を深めないといけなくて,理解を深めると答えが分かってしまう.
プログラミングを勉強していて良かったと思う,酔っ払いでした.