2011年1月7日金曜日

続・確率の誤解 - 確率の数だけサイコロが

さて、前回書いた確率ですが、結構多くのプログラマが間違った使い方をしているので、また語ってみたいと思います。

ここに、1個のサイコロがあります。このサイコロは1~6までのそれぞれの数がでる頻度がまったく一緒で、6回ふれば必ず1~6までの数がそれぞれ1回ずつ出るものとします。
さて、このサイコロをAさんとBさんの二人が3回ずつ交互にふったとして、Aさん及びBさんが偶数の目を出す確率は何パーセントでしょうか?

答え:不定

確率50%ではありません。もし確率50%であるなら、Aさん及びBさんは必ず1~2回偶数の目を出すことになります。
しかし、ここではこれは保証されません。なぜなら、このサイコロが保証しているのは1~6までの数値が同じ頻度で出現するということだけであり、何回目に偶数が出るのかということについては何も保証していないからです。
ですから、Aさんが3回偶数を出してBさんが奇数を3回出してしまうことも、逆にBさんが3回偶数を出してしまうことも起こりうるわけです。

つまり、前回書いたような乱数発生器にも同じことが言えます。
1つの乱数発生器をアイテム出現率の他に、例えばアイテムの種類を選ぶための乱数としても利用していたとすると、アイテム出現の成功となるような値が発生する機会をアイテムの種類を選ぶ乱数を発生させる機会に奪われて、望まれる確率よりも低い出現率になってしまうこともあるわけです。

もしプログラマが乱数をこのような間違った使い方をしてしまった場合には、確率の数値はまるで当てになりません。そして、こういった理屈を理解していないプログラマが結構いるんですよね…。私も結構長い間、理解せずにやってましたしw
MHP は…どうなんでしょうね。ちゃんとわかってるプログラマが作ってるんでしょうか。前回書いたような要因もあるので、プレイしていても開発者の想定通りなのかどうかはまったくわかりませんw

0 件のコメント:

コメントを投稿