HEXA BLOG

日記

HEXA BLOG日記2013.11.21

確率の話

最近は、めっきり寒くバッド(下向き矢印)なってきましたね。
周りのマスク率も高くなってきて、ますます体調管理に気を付けないといけないですね。
こんにちは、ササモンです。
ゲームを作るときに「100回くらいやったら成功ひらめきするくらいにして欲しい」みたいな依頼が来ることがあります。
普通に考えると1/100の確率で成功させて欲しいんだろうなあ?目とか考えるものです。
ただし、100回やったら必ず成功するのか、成功しなくても良くて確率だけを指定しているのかで意味が違います。
(抽選に対して重複を許さないか許すかということですね。)
前者の場合、100個の数字に対して1個ずつのフラグ位置情報を用意して一度引いたらその数字は使わないようにします。
いわゆるクジ引き方式で、一回引いたクジは、抽選箱の中に戻さない方式です。
後者は、引いたクジを戻してしまうので、下手をすると何度でもハズレを引いてしまいますがく〜(落胆した顔)
さて、ここで問題です。後者のクジ(重複許可抽選)で1/100で当選することににした場合、
100回クジを引いたときに当選する確率はどのくらいでしょうか?
確率の確率を求めるというのも変な話ですねふらふら
どう考えればいいのかというと、100回引いて1度も当たらない確率を全体から引きます。
全体は1で、当たらない確率は99/100ですからこの確率を100回掛け合わて引きます。
式にすると
1-((99/100)^100)
となりますのでこれを計算すると求められます。。
ここで99^100は、99を100回掛け合わせた数で99の100乗ということを表現しています。
99^100とか手計算でやるにも限界がありますね。
計算方法はいろいろありますが今回は面倒なのでGoogleに計算していただきます。
(上の式をそのままGoogleに入れていただければ計算できます)
1-((99/100)^100) = 0.63396765872
となりますので、63%程度は当たるけど残りの37%くらいは100回では当選しないことになります。
試行した全体の1/3くらいは、100回やっただけでは当たらないということですね。
これを多いとするか少ないとするかは状況次第ですが、思っていたよりも少ないですね。
例えば、「これでは、ちょっと少ない。もうちょっと多くしたい。100回やったら8割くらいの人は当たって欲しい」
となるとどうすればよいでしょうか。
1/Nの確率で100回試行したら80%くらいが当たるわけですから式に直すと以下のようになります。
1-(((N-1)/N)^100) = 0.8
これを計算します。っていうだけなら簡単ですが、今回は変数があるのでGoogleに直接教えてもらえません。
これを計算するには対数(log)というものを使います。
対数については高校の数学で出会う人と出会わなかった人がいるかと思います。
今回は詳しい説明は省かせていただきますが簡単に説明すると
「ある数(底)を何乗したら目的の数になるか」
を表現する記号です。
今回は底を10として計算します。10をS乗したらTになるということを
S = log(T)
として表現するわけです。(log自体はGoogleで計算出来ます)
それでは早速使ってみましょう。
式の過程は、こんな感じになります
1-(((N-1)/N)^100) = 0.8
((1-(1/N))^100) = 0.2
両辺の対数を取って
log((1-(1/N))^100) = log(0.2) = -0.69897000433
100*log(1-(1/N)) = -0.69897000433
log(1-(1/N)) = -0.0069897000433
これの両辺を元に戻すと
(1-(1/N)) = 10^-0.0069897000433 = 0.98403444336
1/N = 0.01596555663
N = 62.634834674098049282983251677583
となりますので1/63くらいで設定すると100回試した場合に8割くらいの人が当たるということです。
ただ、このくらいの確率で重複を許してしまうと2回当たる人も結構出そうですねわーい(嬉しい顔)
書いてみると数字ばかりになってしまいましたが、いかがでしょうか。
1/100だから100回やったら結構当たるかと思っていましたが意外に当たらないものですねもうやだ〜(悲しい顔)
それでは。

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE 

S