プロが教える店舗&オフィスのセキュリティ対策術

次の問題にかなり悩まされています。

「勝つ確率が1/2, 負ける確率が1/2 であるような勝負を1000回
やって、1000回のうち、どこかで15回以上連続して勝つ確率は
いくらか?」

これはYAHOO知恵袋で見つけた問題です。
http://detail.chiebukuro.yahoo.co.jp/qa/question …
回答者のひとりは、
「15回の勝ちをひとまとめにすると、それは985+1回目のどこかで
実現するはず。残り985回は勝ちでも負けでもよい。よって組み合
わせは986*2^985通りで、総数2^1000のうちそれが実現する確率は、
(1/2)^1000*986*2^985=986/2^15」
という回答をしていますが、この回答では15連勝する場合の数を
重複して数え上げていると思います。
もう少し単純な問題を考えてみます。
(問題)
「勝つ確率が1/2, 負ける確率が1/2 であるような勝負を5回やって、
どこかで2回以上連続して勝つ確率はいくらか?」
この問題を先の回答者の方法で解いてみると、
「2回の勝ちをひとまとめにすると、それは3+1回目のどこかで
実現するはず。残り3回は勝ちでも負けでもよい。よって組み合
わせは4*2^3通りで、総数2^5のうちそれが実現する確率は、
(1/2)^5*4*2^3=1」
となりますが、これは明らかにおかしいです。
(この解法では、確率が1になってしまいます。)
5回の勝負のうち、どこかで2回以上連続して勝つ場合をすべて
書いてみると次のように19通りしかないことがわかります。
(勝ちを○で、負けを×で表しています)
したがってこの問題の解は (1/2)^5*19=19/32 です。

1 ○○○○○
2 ○○○○×
3 ○○○×○
4 ○○×○○
5 ○×○○○
6 ×○○○○
7 ○○○××
8 ○○×○×
9 ○○××○
10○×○○×
11○××○○
12×○○○×
13×○○×○
14×○×○○
15××○○○
16○○×××
17×○○××
18××○○×
19×××○○

最初の問題
「勝つ確率が1/2, 負ける確率が1/2 であるような勝負を1000回やって、
1000回のうち、どこかで15回以上連続して勝つ確率はいくらか?」
に対して、パソコンによるシミュレーションをやってみた結果
0.0149 という値を得ました。
しかし私はシミュレーションによる値ではなく、正確な確率の値を
知りたいと思っています。もちろん2^1000通りの勝負のつきかたを
すべて調べ上げることができれば答えは得られますが、この方法は
私には無理です。
正確な確率の値を得るためには、どのように考えて行けばよいのでしょうか?
よろしくお願いします。

A 回答 (12件中11~12件)

これ面白いですね。



一応、回答じゃなくって追試です。モンテカルロ法による追試を行いました。
確かに1.5%前後の値が出ますね。面白いです。

ええと、考え方としては、まず乱数列生成エンジンを作ります。
まず空の配列を用意して、1/2の確率で0か1を乱数で発生させます。
1だった場合は配列に1を追加、そうじゃなかったら配列を空に戻します。
脱出条件は配列の長さが15になったとき、返り値をして1を返し、そして指定回数(この場合は1,000回ですか)に達した場合は、0を返す、とします。
これを何万回もブン回せばモンテカルロ・シミュレーションになるだろう、と言う単純な発想です。
言語はANSI Common Lispを用いました。処理系はSBCLを用いた実験です。

;;ここから

(defun rndls (ls n)
(cond ((= (length ls) 15) ;リストの長さが15に達すれば1を返す
1)
((zerop n) ;試行回数をこなせば0を返す
0)
(t
(rndls (if (zerop (random 2))
()
(cons 1 ls))
(1- n)))
))

(defun rndex (n)
(do ((i n (1- i))
(j 0 (+ j (rndls '() 1000))))
((zerop i) (float (/ j n)))
))

;;ここまで

プログラムrndexを100万回くらい回したら、以下の結果が出てきますね。

CL-USER> (rndex 1000000)
0.015053

なるほど、1.5%程、ですね。
予想に比べると「結構高い数値だな」と言うのが驚きです。

僕も#1さんの御回答見ながらちょっと考えてみたいと思います。これは面白いですね。
    • good
    • 0

1. 最初の15回で出ない確率をAとする。


この15回を1セットとして1000回まで行く、 1000/15 回 切り捨てで66セット
(1/A)^66 が最後まで出ない確率

これだとセット間で成立している可能性があるので、

2. 一つ飛んで 2 回目から 16 回目までの15回を 1セットとして 最後まで。
これも (1/A)^66 が最後まで出ない確率

よって答えは

(1/A)^66 + (1/A)^66 + ............ + (1/A)^65
これの逆数

この回答への補足

>1. 最初の15回で出ない確率をAとする。

「最初の15回で出ない確率」というのはどういう意味なのでしょうか?
教えていただけませんか。

補足日時:2008/12/25 15:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!