なべ神 - NABEGOD

雑記が多め、アニメ・映画・健康・ゲーム・アプリのご紹介ブログ

ゲーム 雑学

モンティ・ホール問題 実装してリファクタリングしてみるとあまりにスッキリしすぎた[PHP]

投稿日:2017年2月26日 更新日:

スポンサーリンク

パラドックス系の話題で挙がる
モンティ・ホール問題
結果を聞いても、納得できない人が多い結構有名な問題です。

「プレーヤーの前に閉まった3つのドアがあって、1つのドアの後ろには景品の新車が、2つのドアの後ろには、はずれを意味するヤギがいる。プレーヤーは新車のドアを当てると新車がもらえる。プレーヤーが1つのドアを選択した後、司会のモンティが残りのドアのうちヤギがいるドアを開けてヤギを見せる。
ここでプレーヤーは、最初に選んだドアを、残っている開けられていないドアに変更してもよいと言われる。プレーヤーはドアを変更すべきだろうか?」
1990年9月9日発行、ニュース雑誌 Parade にて、マリリン・ボス・サヴァントが連載するコラム「マリリンにおまかせ」において上記の読者投稿による質問に「正解は『ドアを変更する』である。なぜなら、ドアを変更した場合には景品を当てる確率が2倍になるからだ」と回答した。すると直後から、読者からの「彼女の解答は間違っている」との約1万通の投書が殺到し、本問題は大議論に発展した。

引用先
モンティ・ホール問題(wikipedia)

選びなおすと、確率2倍になる?嘘でしょ?
ドアを変えても変えなくても、確率同じでしょ?

というのが納得できない理由です。

確かに直感的には、1/2に感じます。
当然1/2だろ。何を考える必要がある。とさえ思います。

こういう時は実際に動かして検証すると良いと思います。

実装方針

  • PHPで実装してみる(趣味)
  • 最初のドアが当たりの回数と2つ目のドア(選びなおすドア)が当たりの回数を数える
  • 考えをまとめる目的なので、動作確認してないです。ごめんなさい。
  • 念のため100万回試行できるようにしておこうか・・

そして実装(PHP)

まず、問題の意味をできるだけ、表現するように実装してみました。
forの中身がキモですね。

リファクタリングする

問題を整理したいので、
リファクタリングしていきます。

まず、
3つのドアの関係性を結果から場合わけでまとめます。
すいません、事前準備みたいな感じになってしまいました。

結果回数を格納するカウンターを、
判別した時点でカウントされるように、移動してしまう。

この部分の内容を

こちらにまとめる。
上の内容は同時に削除する。

$open_doorと$second_doorは、以降どこにも使用されていない。
結果をカウントできるため、消去可能。

これは、司会者が開けるドアが何なのか、
また、2つ目の選択肢のドアが何なのかは、
結果から見ると、全く関係ないという事ですね。

さらに、else if ($rest_door_1)と $rest_door_2 のブロックの中身が
同じなので・・

orでまとめる。

ここまで来ると、

最初に選んだドアが当たりかどうかだけが、この問題のキモである

という事が見た目で分かります。

最初のドアが当たりなら、$rest_door_1と$rest_door_2は外れ確定。
最初のドアが外れなら、
$rest_door_1か$rest_door_2に当たりが存在する為、
このように省略できます。

さらに三項演算子で、1行で表すと(ダメでしょうか)

やりすぎですけど、スッキリした気がします。
公式ぽいですねえ。

わかった事

最初に選択した、1つ目のドアが当たりかどうかだけで
結果が決まってしまう事が分かります。
  • 最初のドアが当たりなら、最初のドアが当たり
  • 最初のドアがハズレなら、2つ目の選択肢のドアが当たり

という事ですので、

最初のドアが当たりの確率は、1/3
最初のドアがハズレの確率は、2/3

最初のドアがハズレであれば、2つ目の選択肢のドアが当たりなので

2つ目の選択肢のドアの当たりの確率は、2/3

最初のドアが当たりの確率は 1/3
2つ目の選択肢のドアの当たりの確率は 2/3

確かに2つ目の選択肢のドアは、
最初のドアが当たる確率の2倍になりました。

ちなみに、リファクタリング後のコード

モンティ・ホールの問題をリファクタリングしていくと、こうなってしまいました。
いきなりこんなコード見せられても、何なのか、全く意味わかんないですね。

あとがき

パラドックスは、ソーシャルゲームに利用されて、
そして禁止されてきた歴史があります。

コンプガチャが最たるものですね。
コンプガチャはちょっと勘の良い人であれば、
これやばい仕様のやつだ、と。気がつくと思うのですが、
モンティ・ホール問題くらい気づきづらいパラドックスを組み込んだガチャが存在するのなら・・
と、すでに存在しているのでしょうか。

ドキドキします・・

スポンサーリンク

スポンサーリンク

関連記事

【シノアリス】断末魔の音(禍)|後衛武器解説

断末魔の音(禍)の主観的説明紹介です 実際に使ってみての解説となります。使える解説を心がけます 倍率なども考慮はしますが、実際に編成に入ってくるのか?という点を重要視します 編成優先度 高〜無し(味方 …

【2017春アニメ】ID-0(アイディーゼロ)第4話感想 ID-0=IDO=イドという事が確定

第4話『転移奇襲』3行あらすじ 捕虜の女中隊長は脱走。人質取って立て篭るが、直後、大量の岩石に襲われ船は大ピンチ。 捕虜の女も協調し、ビリヤード原理等で岩石を処理し脱出成功。 捕虜の女は、イドのIDが …

【はねろ!コイキング】「たべもの」と「とっくん」はどうランクを上げると効率が良いか

2017/5/30追記 ちょっと残念な感じなのですが、 現時点では、最も極端なコインの割り振り方が最効育成効率を叩き出すようです。 やり方につきましては目次から、 「とにかく最高効率を出す方向け」 の …

夢の国の鳩

数年来で夢の国に行きました。 かなり楽しかったのですけど、 最も印象に残ったのは・・ ネズミの主ではなく ディズニー ミッキーマウス ミッキー 80㎝-90㎝ 18-24M 1-2歳 男の子 コスチュ …

【にゃんこレンジャー】ネコヴァルキリーロック解放 攻略 あと少し。もう少し

ニャック・スパロウを仲間にした後は、 本家のにゃんこ大戦争でも有名なキャラクターである、 ネコヴァルキリーの登場です。 41.40ANでロック解放です。 難易度は、まずまず高めです。 ですが、ニャック …