- ベストアンサー
同点の確率の出し方
地域活性化イベントのゲームの構想を練っていますが、数学が苦手で困っています。 初歩的な質問だと思いますが、わかる方、教えてください。 参加者は200名 スタッフ10名を相手に、ジャンケンをして 勝ったら5ポイント、負けたら1ポイント さらに、大ボスとして出てきたスタッフ1名とは 一発勝負のジャンケンをして、 勝ったら10ポイント、あいこで5ポイント、負けたら1ポイント という2段階でゲームを行った場合、 同じ点数を取る確率はどのように出したらいいでしょうか? その確率によって 最初のスタッフ10名を15名にすることも検討したいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
スタッフ10名とじゃんけんしたときの、それぞれの勝ち数の確率は、 10勝0敗 50点 10C10/2^10=1/1024 9勝1敗 46点 10C9/2^10=10/1024 8勝2敗 42点 10C8/2^10=45/1024 7勝3敗 38点 10C7/2^10=120/1024 6勝4敗 34点 10C6/2^10=210/1024 5勝5敗 30点 10C5/2^10=252/1024 4勝6敗 26点 10C4/2^10=210/1024 3勝7敗 22点 10C3/2^10=120/1024 2勝8敗 18点 10C2/2^10=45/1024 1勝9敗 14点 10C1/2^10=10/1024 0勝10敗 10点 10C0/2^10=1/1024 大ボスに勝ったとき○、あいこのとき△、負けたとき×、とすると、 10勝0敗○ 50+10=60点 1/1024/3=1/3072 10勝0敗△ 50+5=55点 1/1024/3=1/3072 10勝0敗× 50+1=51点 1/1024/3=1/3072 9勝1敗○ 46+10=56点 10/1024/3=10/3072 9勝1敗△ 46+5=51点 10/1024/3=10/3072 9勝1敗× 46+1=47点 10/1024/3=10/3072 8勝2敗○ 42+10=52点 45/1024/3=45/3072 8勝2敗△ 42+5=47点 45/1024/3=45/3072 8勝2敗× 42+1=43点 45/1024/3=45/3072 7勝3敗○ 38+10=48点 120/1024/3=120/3072 7勝3敗△ 38+5=43点 120/1024/3=120/3072 7勝3敗× 38+1=39点 120/1024/3=120/3072 : : あとは面倒なので、自分でやってください。 注意しなければならないのは、10勝0敗×と9勝1敗△はどちらも51点、9勝1敗×と8勝2敗△はどちらも47点、ということ。 だから、 60点 1/3072 56点 10/3072 55点 1/3072 52点 45/3072 51点 1/3072+10/3072=11/3072 48点 120/3072 47点 10/3072+45/3072=55/3072 : : というようにすれば、各点数の確率が解ります。 これに200人を掛けてあげれば、各点数の期待値(人数)が解ります。 あとの作業は、面倒くさいだけで、数学が得意か苦手かは関係なので、頑張ってください。 大ボスとあいこになったときに5点ではなく4点にすると、10勝0敗×と9勝1敗△のように同じになるパターンがないので、楽かと。
その他の回答 (4)
- nag0720
- ベストアンサー率58% (1093/1860)
#3さんの方法を確認してみました。 人数が15人のときに妙に高い数値が出ているようですが、これはRandomizeの場所が影響しています。 Randomizeを一番上にもっていくと、予想通りの結果になるようです。 で、ゲームのルールですが、 「勝ったら5ポイント、負けたら1ポイント」だと、10回中何回勝ったかでポイントが決まってくるので、 ポイントの差があまりつきません。 これを、最初にポイントをいくらか持っていて、 「勝ったら持ちポイントを倍に、負けたらプラス1ポイント」 に変えると、勝った順番も影響してくるので、ポイントの差が大きくなって同点の確率が小さくなります。 #3さんのプログラムを一部変更して検証してみると、 10人だと、6~9% 15人だと、1%未満 20人だと、ほぼ0%になります。
お礼
ありがとうございます! 計算もアイデアも助かります。 あらかじめ持ち点数を持っていての倍増ポイントというルールは 変化があって面白いですね。。 各参加者の持ち点数の管理が難しいので、今回は実行できなさそうですが 色々アレンジもできそうなので、何かのイベントで実行できればと思います! ありがとうございました。
- ShowMeHow
- ベストアンサー率28% (1424/5027)
同じ点数が発生する確立は100%です。 なんたって200人いるのに点数のパターンは10数通りしかないんだから。 多分最高得点が同じになる確率、といいたいのだろうけどそうであれば、 最初に11ポイント上げておいて スタッフ相手に勝ったら4ポイント負けたら0ポイント 大ボス相手は勝ったら9ポイント、あいこで4ポイント負けたらポイント無し とおなじことだから、、、 めんどくさくなってきたぞ。 200人中2名以上が満点を取る確立+満点がいない確立x(満点-4)が二人以上発生する確率+... ってことだよね。 おいらも確立よくわかんないんでプログラム作ってやってみた。 Private Sub Command1_Click() Screen.MousePointer = vbHourglass Text2 = 0 For n = 1 To Text1 Maxz = 0 For x = 1 To 200 z = 0 Randomize For y = 1 To 10 z = z + Int(Rnd() + 0.5) * 4 Next y r = Round(Rnd() * 3 + 1) Select Case r Case 1 Case 2 z = z + 4 Case 3 z = z + 9 End Select If z > Maxz Then Maxz = z maxcount = 1 Else If z = Maxz Then maxcount = maxcount + 1 End If End If Next x If maxcount > 1 Then Text2 = Text2 + 1 Next n Screen.MousePointer = vbNormal End Sub 200人のじゃんけんを100回したとしてトップが同点になった回数を求めました。 そしてそれを10回やってみると、 42,63,55,29,67,42,24,70,60,14となりました。 じゃんけんする人数を15人に増やしてみたところ(for y = 1 to 15 にしてみたら) 妙に高い数値が出ました。 20人にしたら、53,37,49,28,20,49,29,29,50,51,12となりました。 若干低くなったような気配があります。 30人にしたら 9,18,31,24,16,29,27,14,27,20となり、顕著に下がったような気がします。 私のプログラムにいまいち地震がないので断言できませんが、30人相手でも10~30%の確立で同点トップが2人以上発生すると思われます。 トップを決める方法を別途用意されたほうが無難であると考えます。
お礼
言葉足らずな質問でした。すいません。 それでも、丁寧にプログラムまで作ってくださってありがとうございます。 しっかり参考にさせていただきました。 人数を増やすだけではあまり良い解決方法にならないようですね。 特別指令やマイナス制度を加えてアレンジしてみます。 ありがとうございました!
- f272
- ベストアンサー率46% (8469/18132)
あ、ちょっと言いすぎた。 200名の参加者のなかに同点の人がいるかという意味なら、「ほぼ」確実にいます。 と言いなおします。
お礼
私のつたない説明でわかりにくかったと思いますが 迅速な回答とコメントありがとうございました。
補足
言葉足らずで申し訳ないです。回答ありがとうございます。 最終的に1位~10位まで順位を付けなくてはいけなくて、 2~3人が同点なら、 同点決勝としてジャンケンをして順位付けできるかと思うのですが、 同点の方があまりに頻発しそうならルール改定しなくてはならないので、 悩んでいます。
- f272
- ベストアンサー率46% (8469/18132)
「同じ点数を取る確率」ってどういう意味? 200名の参加者のなかに同点の人がいるかという意味なら、100%確実にいます。
お礼
ありがとうございます!! 現実的なことを考えると、8勝2敗程度が多そうなので かなり高い確率で同点が発生しますね。。 点数に変化をつけて、ミッションなどを加えたりして ルールを改正してみます。 助かりました。 参加者に楽しんでもらえるようにもっと努力します。