• ベストアンサー

重複確率です

ある確率を考えているのですが、どうアプローチしようかと困っています。お知恵を拝借できれば幸いです。 52枚のトランプを10セット用意して10人に渡し、その10人が同時にカードを1枚ずつ抜き出すという試行を考えます。52枚を抜き出すときの確率分布は一様分布です。(すなわちカードはすべて1/52の確率で選ばれます) なお、ここでの「カードが一致する」とは数字も色もマークも同じということを意味します。 (1)10人のカードのうち、一致しているものがある確率はどれだけですか (2)この試行で一致するカードの枚数の期待値は何枚になりますか (3)この試行を3回繰り返したとき、3回とも誰かとカードが一致する人は何人いますか (1)は重複順列から求められると思います。つまり、重複しない確率は   P(52,10)=52P10/52Π10=52!/(42!*10^52) (順列をnPr、重複順列をnΠr、nの階乗をn!、nのr乗を n^rとあらわしています) ですので1-P(52,10)が求める確率だと思うのですが、(2)と(3)をどう考えればいいか検討がつきません。わかる方、いらっしゃいましたら教えていただけないでしょうか。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Naoki_M
  • ベストアンサー率66% (33/50)
回答No.2

(1)は、質問者さんの考え方で合っていますが、10^52ではなく52^10ですね。 (2)は、#1さんの考え方ですと、4枚以上になるとうまくいかないと思います。例えば、一致するカードが4枚の場合、同じカードが4枚の場合だけでなく、2枚ずつの組が2つ、という場合も考えなければいけないと思います。このような場合も含めて場合分けすれば計算できると思いますが、面倒そうですね。私は、時間がかかりそうなのであきらめました。 このような問題の場合は、正確な値を求める必要がなければ、モンテカルロ法を使うのがよいと思います。これは、コンピュータに何度も繰り返し実験させるなどして、近似的な解を求める方法です。回数を多くすれば、誤差が小さくなります。 ちょうどC言語を学習してるところだったので、試しにプログラムを作って、1億回ほどコンピュータに計算させてみました。結果は、以下のようになりました。(1)は自信がありますが、(2)、(3)は間違っているかもしれません。 (1)0.602890066 (2)1.603551747 (3)0.04126594 余談ですが、(1)の計算の際、プログラムに間違いは見つからないのに、どうしても結果が理論値と合わずにしばらく悩みました。結局、原因は乱数でした。モンテカルロ法を使う場合には乱数に気をつけなければなりませんね。勉強になりました。

apropos
質問者

お礼

ありがとうございます。1試行で平均1.6人が一致して、3試行を25回繰り返すと3試行を通して誰かと一致する人がでるんですね。 (1)はタイプミスです。確率計算が複雑になるのは避けられそうにないですね…。 モンテカルロ法ですが、私の場合は順序が逆でして、モンテカルロ法で確率値は出てるんですけど、それは理論値にどれぐらい近いのか、ということが知りたいのです。(端的にいえば、モンテカルロで求めた値は本当に正しいんだろうか?ということなんです。シミュレーションは理論を補足するものでしかないので…。) ちなみに、C言語の標準ライブラリに入っているrand()は線形合同法を使って作られています。これはあまり分布がよくないようです。分布のよい乱数としてはMersenne Twistが有名ですね。

その他の回答 (1)

回答No.1

あんまり自信ないですけど以下のようにやればいいと思います。 (2) A  B  C  D  E  F  G  H  I  K ○ ○ × × × × × × × ×  まず10人を上のようにAさん、Bさん,・・・と考えていきたいと思います。i(i=0,1,2,・・・,10)枚カードが一致する確率をP(i)とします。 簡単に考えて例えばi=2枚一致したとしましょう。そしてその一致したカードをスペードのエースだとします。そしてその一致した人がAさん、Bさんとします。一致したのが○、それ以外が×とすると、今の状況では上図のようになりますね。  すると×のところは当然スペードのエース以外ですが、×の内訳もお互い違うカードにならなければいけません。よってその×の内訳は51P8通りになります。 以上を考えると,上図のようになる確率Pa(2)は Pa(2)=1×1×51P8/52^10 そしてAさん、Bさんが一致するカードはスペードのエース以外にその他51枚あるので、「AさんとBさんがカードが一致する確率」Pb(2)は Pb(2)=52*Pa(2)=51P8/52^9 さらに適当な二人が二枚一致する組み合わせは10C2通りなので「二人カードが一致する確率」P(2)は P(2)=10C2*Pb(2)=10C2*51P8/52^9 となります。一般にi枚一致する時は、上記の手順と同様にすると,P(i)は P(i)=10Ci*51P(10-i)/52^9 よって期待値をEとすると E=Σ{i=0,10}P(i)*i で求まるかと・・・。 (3) 一致する人数をi(i=0,1,2,・・・,9、ここでiが9までということに注意!)人とする。i人とカードが一致する確率をP'(i)とする。求める人数は期待値なので、それをEとして E=Σ{i=0,9}P'(i)*i で求まるかと・・・。P'(i)は頑張って求めて下さい。

apropos
質問者

お礼

考え方のヒントになります。ありがとうございます。 (2)ですが、#2さんもおっしゃてるように4枚以上が一致するときの場合分けが入っていません。ということを考慮すると、まともに求めようと思ったら計算が非常に複雑になりそうな気がしています。(3)については期待値ということですが、いずれにしても確率値は求めなきゃいけませんね。これも(2)と同様に複数の一致グループに分かれることも考慮する必要がありますね。

関連するQ&A

専門家に質問してみよう