• 締切済み

複雑な確率の計算(1000回の勝負をしてどこかで15回以上連続して勝つ確率は?)

次の問題にかなり悩まされています。 「勝つ確率が1/2, 負ける確率が1/2 であるような勝負を1000回 やって、1000回のうち、どこかで15回以上連続して勝つ確率は いくらか?」 これはYAHOO知恵袋で見つけた問題です。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1221460267 回答者のひとりは、 「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通りの勝負のつきかたを すべて調べ上げることができれば答えは得られますが、この方法は 私には無理です。 正確な確率の値を得るためには、どのように考えて行けばよいのでしょうか? よろしくお願いします。

みんなの回答

回答No.2

これ面白いですね。 一応、回答じゃなくって追試です。モンテカルロ法による追試を行いました。 確かに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さんの御回答見ながらちょっと考えてみたいと思います。これは面白いですね。

  • eroermine
  • ベストアンサー率18% (83/444)
回答No.1

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 これの逆数

kk390152
質問者

補足

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

関連するQ&A