なべ神 - 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倍になりました。

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

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

あとがき

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

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

ドキドキします・・

スポンサーリンク

スポンサーリンク

関連記事

【シノアリス】封戒の水音|後衛武器解説

封戒の水音の主観的説明紹介です 編成優先度 普段使いでは【低】 対物理装備なら【中】 相手の編成を見極めてからの装備チェンジで、ワンポイント使用が望ましい 解説 騎士の夜想曲3 補助支援2 16コスト …

夢の国の鳩

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

【シノアリス】緊縛の音|後衛武器解説

緊縛の音の主観的説明紹介です ミンソサとして、実際に使ってみての楽器・魔書解説となります。使える解説を心がけます 倍率なども考慮はしますが、実際に編成に入ってくるのか?という点を重要視します 編成優先 …

【ソーシャルゲーム】課金しないと見えないものがある。そのセリフの真意を考察

『課金しないと見えないものがある』 ソーシャルゲーム界隈では、 自然と会話に出てくるセリフのようです。 このセリフはゲームするユーザーの方に向けてのセリフではなく、 ゲームの作り手が、同じゲームの作り …

【にゃんこレンジャー】ニャック・スパロウ ロック解放攻略 最難関かも?

にゃんこレンジャーの第2の難関が、ニャック・スパロウの解放だと思います。 133面〜136面あたりまで頑張る事になります。 ロック解放に必要なGOLDは376.00AG 今までと違い、376AGという …