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

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

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

あとがき

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

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

ドキドキします・・

スポンサーリンク

スポンサーリンク

関連記事

FFBE、ガチャ詐欺してたのかしら

no image

こんにちは。 消費者庁の措置命令。 https://www.caa.go.jp/notice/entry/024759/ ガチャの詐欺っぽい内容に見えますね。これ、正直、驚きました。 直接開発してるの …

家族向けマンションの間取りは寝室を中心に見る

こんな方にオススメの記事 家を探している方 家族と一緒に暮している方 家族と生活リズムが違う方 疲れている方。 よく眠りたい方。 住居の間取り図 住居の間取り図の見方わかりますか? どんな家なのか想像 …

【考察】ブログのその画像、本当に必要ですか?

no image

ご無沙汰しております。 まとまらない話ですので、ご容赦を。 ブログの記事挿入画像についての話です。 最近、と言うか大昔からですが、 気分を盛り上げるためだけに飾り画像を使っているブログ記事が、 多数存 …

ハンドルネームがマルウェアと同じ名称だった。どう対策したら良いか。

Contents1 マルウェアとは?2 どんなリスクがあるの?2.1 イメージ低下の懸念3 対策3.1 日本語の名称をつける3.2 丹念にググる4 NABEGODって何か意味のある単語なの?5 で結局 …

【Steam】シロナガス島への帰還|クリア感想

no image

最近、洋ゲーばかりやっていて、お話がメインのゲームをやってない。 そうだ、和ADVやろう。 と、思い立った時に見つかったのがこのタイトル。 ネタバレは無いです。 ・・・ 価格はSTEAMで500円。と …