解答編ということで、まずはモンティ・ホール問題から。
「プレイヤーの前に3つのドアがあって、1つのドアの後ろには景品の新車が、2つのドアの後ろにはヤギ(はずれを意味する)がいる。プレイヤーは新車のドアを当てると新車がもらえる。プレイヤーが1つのドアを選択した後、モンティが残りのドアのうちヤギがいるドアを開けてヤギを見せる。
ここでプレイヤーは最初に選んだドアを、残っている開けられていないドアに変更してもよいと言われる。プレイヤーはドアを変更すべきだろうか?」
ただしモンティは、どのドアの後ろに車があるかを知っているものとする。
ググってみれば、すぐに答えは出てくると思いますが、
「交換する前(勝率33%)よりも、交換した後の方が(勝率67%)、勝率が2倍となるので、交換したほうがいい」
というのが、モンティ・ホール問題の一般的な解答とされています。
・・
・・・・
・・・・・・
納得いきますか?
感覚的には、勝率は半分半分、つまり交換しようとしまいと、変わらないように思いませんか?
僕も最初はそう考えました。
結論から言うと、問題の条件が特殊であるために、感覚とはずれたものとなりますが、少し条件を変えると、感覚通りになります。
では実際に計算してみます。要は、箱Cに玉が入っている確率と、もうひとつの箱に玉が入っている確率を比較すればいいわけです。
プレイヤーとしてプレイヤーXとプレイヤーYを用意します。
簡単にするために箱A、B,Cを用意しどれかひとつに玉を入れておきます。(玉があたり)
プレイヤーXが最初に箱Aを選び、プレイヤーYが箱Bか箱Cをあけることにします。
まずは全事象を考えます。この場合の全事象は、(箱A,B,Cのうちどこに玉が入っているか)x(箱Bか箱Cのどちらを開けるか?)の、全6事象です。
表にすると以下の様。
箱 A B C 空ける箱
① 0 0 1 B
② 0 0 1 C
③ 0 1 0 B
④ 0 1 0 C
⑤ 1 0 0 B
⑥ 1 0 0 C
これら6つの事象はすべて、同様に確からしく、①~⑥のどれになるかの確率は、すべて等しいといえます。
で、今度はこの事象ひとつひとつについて考えていきます。
①の場合。プレイヤーYがハズレの箱Bを開けます。ハズレが公開されて、箱Aに玉が入ってないので、これは負けという扱いになります。
②の場合。プレイヤーYが玉の入った箱Cを開けてしまうので、ハズレたという条件が満たされなくなるので全事象から除外します。
③の場合。プレイヤーYが玉の入った箱Bを開けてしまうので、ハズレたという条件が満たされなくなるので全事象から除外します。
④の場合。プレイヤーYがハズレの箱Cを開けます。ハズレが公開されて、箱Aに玉が入ってないので、これは負けという扱いになります。
⑤の場合。プレイヤーYがハズレの箱Cを開けます。ハズレが公開されて、箱Aに玉が入っているので、これは勝ちという扱いになります。
⑥の場合。プレイヤーYがハズレの箱Bを開けます。ハズレが公開されて、箱Aに玉が入っているので、これは勝ちという扱いになります。
最後に、これまでの結果から、勝率を計算することにします。
全事象は6通りですが、②と③の場合は、条件を満たしていないので全事象から除外します。実際にはやり直し、という扱いになるでしょうか。
全事象は6-2=4通り。このうち、勝ちの事象は2つなので勝率は
2÷4=50%となります。
感覚どおりの結果になりました。これが普通の感覚です。こう考えると、やっぱり交換しても交換しなくても同じじゃねーかって思います。
ところがこの問題設定では、この推論は間違っています。それが「モンティはどこに入っているのかを知っている」という情報です。
つまり、この問題設定では、以下のような推論が正しいのです。
①の場合。プレイヤーYがハズレの箱Bを開けます。ハズレが公開されて、箱Aに玉が入ってないので、これは負けという扱いになります。
④の場合。プレイヤーYがハズレの箱Cを開けます。ハズレが公開されて、箱Aに玉が入ってないので、これは負けという扱いになります。
⑤の場合。プレイヤーYがハズレの箱Cを開けます。ハズレが公開されて、箱Aに玉が入っているので、これは勝ちという扱いになります。
⑥の場合。プレイヤーYがハズレの箱Bを開けます。ハズレが公開されて、箱Aに玉が入っているので、これは勝ちという扱いになります。
ここまでは上と一緒、違うのは②と③の場合。
②の場合。プレイヤーYがこのままだと玉の入った箱Cを開けてしまうので、代わりに箱Bを開けます。ハズレが公開されて、箱Aに玉が入ってないので、これは負けという扱いになります。
③の場合。プレイヤーYがこのままだと玉の入った箱Bを開けてしまうので、代わりに箱Cを開けます。ハズレが公開されて、箱Aに玉が入ってないので、これは負けという扱いになります。
この場合、全事象は6通り、このうち勝ちの事象は2つなので勝率は
2÷6=33%となります。
交換した場合の勝率は
4÷6=67%です。
これが、モンティ・ホール問題の正しい解答です。交換した場合の勝率のほうが明らかに高い結果になりました。
つまり、勝ちの事象そのものが増えているのではなく、
「Yが確実にハズレを開ける」事によって、「全事象が増え」ている
ということです。これが、感覚とは違う理由ですね。
だから例えば、Yが玉の入っている箱を知らないのならば、勝率は50%です。相手と同じ条件なのだから、当たり前ですね。
たとえYが玉の入っている箱を知っていたとしても、開ける箱をこちらが指定すれば、勝率は50%になります。
どうでしょうか?納得いただけたでしょうか?
まだわからん!という人のために、もう少し違った視点からアプローチしてみます。
Yが玉の入っている箱を知らないとして、実は後ろにもう一人いて、Yが玉の入っている箱を選んだ場合のみ、もう一方の箱に玉を移すって考えたらどうでしょうか?不公平だと思いませんか?
この場合、Aに玉が入っている確率は33%のまま、Bに入っている確率が33%から上昇することになるので、交換したほうがよさそうですよね。
または、XとYの1対1の勝負ということで考えてみましょう。Xは箱1つを取り、Yは残り2つを取るという不公平な勝負だとします。
Xは箱1つしか指定できないので勝率は33%です。対して箱2つ持ってるYの勝率は(Aに入っている確率+Bに入っている確率)=67%です。
ここで、Yが玉の入っていない箱Cを公開したとする。XからしてもYからしても、Yが少なくともひとつは空き箱を持っていることはわかっているはずなので、新しい情報はない。したがって、X,Y二人の勝率は変わっていないはず。
ところで、X、Y共に箱をひとつしか持っていないのだから、すなわち箱Aに入っている確率は33%で、箱Cに入っている確率は67%ということになる。
「こちら山7枚内CX1枚、3-3の状況で、メドゥーサの眼鏡を打たれました。その後、相手はソウル1のキャラを2体並べて(2パン)チャンプしてきたとします。
1体目の1点が通って、3-4山6枚内1枚CX、2パン目で1からドラドラ乗って3点と言われたとします。幸せスパイラル小毬を打てる場合、キャンセル率が高い選択はどれでしょうか?
①スパイラルを打つ
②スパイラルを打たない
③打っても打たなくても同じ
また、メドゥーサの眼鏡を使われてなかった場合はどうか」
メドゥーサの眼鏡は、「あなたは相手の山札を上から4枚まで見て、山札の上に好きな順番で置く。」というEVです。
こちらについても上と同じような考え方をすれば、容易に確率を求められそうです。
直感的には、上3枚にCXがある確率も、下3枚にCXがある確率も、どちらも同じように感じられます。
眼鏡を打ってない場合は簡単で、上からn番目がCXである確率はnによらず1/7、一番上がCXでない場合を考えるので、スパイラルを打ったときのキャンセル率は(1/7)x3÷(1-(1/7))=50%です。
では眼鏡を打った場合について考えます。
まず、相手が眼鏡を打ったときにCXが見える確率はいくつでしょうか?これは単純に4/7です。
見えたときに相手はどうするでしょうか?人によって多少異なりますが、相手が勝利を目指しているのならば、おそらく上から4枚目にCXを配置する確率が高く、一番上にCXを配置する確率は、ほぼ0に等しいといえます。
一方、眼鏡でCXが見えない確率は3/7で、この場合はCX位置について操作することが出来ません。
以上から、1点が入った時点で山6枚、このうち下3枚にCXがある確率が3/7、上3枚にある確率が4/7なので、スパイラルを打たないほうが、キャンセル率は高そう、ということがわかります。
簡単ですが、説明は以上になります。相手に並べ替えられたか、並べ替えられていないかで、確率が変わるよ!というお話でした。モンティ・ホール問題よりもわかりやすいと思うので、むしろ、これを通してモンティ・ホール問題が理解できた!という方も少なくないのではないでしょうか。
文章だけだと説得力がないかも、ということで、シミュレーションする簡単なプログラムを書いたので、参考までに。
実行結果
ソースコード
http://ux.getuploader.com/m_tocage/
passは[tocage]
開発はwin7
ソースコードの一部
int main(void)
{
int n=10000,m=0 ,l,e;//nは試行回数。増やしたり減らしたりして実験
int i;
double b=0, as=0, bs=0, cs=0, ds=0;
DWORD gettime;
gettime = timeGetTime();
srand(gettime);
for (i = 0;i<n;i++) {
int a[7]={0};
e=GetRandom(0,6);
a[e]=1;
if(a[0]==1){
a[0]=0;
a[1]=1;
m++;
cs--;
}
as=as+a[1]+a[2]+a[3];
bs=bs+a[4]+a[5]+a[6];
cs=cs+a[1]+a[2]+a[3];
ds=ds+a[4]+a[5]+a[6];
}
b=as/n;
printf("メドューサ打たれてスパイラル打たなかった場合のキャンセル率 %f\n",b);
b=bs/n;
printf("メドューサ打たれてスパイラル打った場合のキャンセル率 %f\n",b);
b=cs/(n-m);
printf("メドューサ打たれずスパイラル打たなかった場合のキャンセル率 %f\n",b);
b=ds/(n-m);
printf("メドューサ打たれずスパイラル打った場合のキャンセル率 %f\n",b);
return 0;
}
int GetRandom(int min,int max)//上限と下限を指定して、その範囲で乱数を得る。
{
return min + (int)(rand()*(max-min+1.0)/(1.0+RAND_MAX));
}
最後におまけ。
実は相手が勝利を目指していないと、この確率は変わってしまうっていう問題もあったりします。
モンティが気まぐれに「あ、まちがえて玉の入ってるほうあけちゃったから、やりなおしね!」って言う可能性が少しでもあると、それだけで変わっちゃいます。
早く試合終わらせたいから、眼鏡打ってCX見えたら、一番上にしてやろ!っていう思考の相手だった場合、スパイラルを打たなかった場合、100%負けてしまいます。
普段は気にする必要のないことですが、参考までに。
次回は一色あかねの5点バーンに関する実験をしたいと思います。
不明な点、間違っている点などのほか、疑問点なども、なにかございましたら、ぜひコメントください。
登録タグ:
テーマ:日記 | 投稿日時:2014/03/03 22:20 | |
TCGカテゴリ: ヴァイスシュヴァルツ ChaosTCG | ||
表示範囲:全体 | ||
前のブログへ | 2014年03月のブログ一覧へ ブログ一覧へ |
次のブログへ |
がちゃこん さん | [2014/03/04 12:42] |
|
わかりやすくておもしろかった! 自分で確率計算するのは苦手だけど、こういうの読むのは好きです。 |
キムギョク さん | [2014/03/04 23:10] |
|
こんだけ一つのこと考えてるなら今度一番気持ちいいオナニーの仕方の考察あげてください! |
K さん | [2014/03/05 02:20] |
|
がちゃこん さん これ以上ない褒め言葉ですね。素直にうれしいです。 |
ナナシ さん | [2014/03/06 16:11] |
|
モンティホール問題は確かに変えた方が確率的に当たりやすくなる。ですが、実際には変えたら当たらないんですよw 司会者がこの選択権を回答者に与える時ってのは、回答者が当たりの扉を選んだ時だけです。頭の良い回答者なら確率的に変えた方が当たりやすいと分かってしまうため、変えてしまう。そして、ハズレを引かされる。 数学的、確率的に見たときと現実では違うっていうのがこの問題の本質だと勝手に思ったりしていますw 長文失礼 |
K さん | [2014/03/07 00:50] |
|
ナナシ さん そうなんですかwモンティ・ホール問題の詳しい状況設定までは知りませんでしたw |