Probability Checker

当たり外れのあるカードの山から、複数のカードを引いた場合にどのくらいの確率であたりカードを引けるかを計算するjava scriptです。

これから引こうとしているデッキの残り枚数m

目的とするカードの残り枚数n

実際に引く枚数r

引いた中に目的とするカードが含まれている枚数s

%
の確率で含まれています。

以下は検算用のフィールドです

nPs=

rCs=

(m-s)P(r-s)=P=

mPr=

msg:

説明と使用例

ビデオゲーム「アヴァロンの鍵」において戦闘支援カードの投入枚数を検討するために作成したものです。

一般化した公式は、確率Q=nPs*rCs*(m-n)P(r-s)/mPrになります。

以下に使用例を示します。


ゲームを開始した1番最初の30枚のデッキ(m=30)から6枚のカードをドローして(r=6)、3枚入れていたはずの戦闘支援カードを(n=3)、1枚だけ引いてくる(s=1)可能性

この例では、40.79%になるはずです。

同じ条件で、たまたま2枚の戦闘支援を引いてしまう(s=2)確率はいくらでしょうか?

8.87%となったはずです。

あるいは、4枚投入していて2枚引いてしまう確率は?

n=4,S=2で15.11%になります。


第1回目のドローで戦闘支援が無かったため、すぐにマーメイドを使用した場合。

残りデッキ枚数は24枚(m=24)になっています。ドローされるのは5枚(r=5)。まだ1枚も戦闘支援を引いていないので3枚まるまるのこっており(n=3)、引きたいのは1枚だけとすると(s=1)、

42.24%になります。


手札を2枚残して行動終了。デッキ残りは18枚で、赤移動可能なカードがそのうち7枚あるのに、1枚も引けない確率は?

ドローする枚数は4枚です。

そこで、m=18、n=7、r=4、s=0を代入してやると。10.78%となります。

注意事項

公式に関しては、繰り返し検算を行っており、通常ゲーム内で起こりうる範囲では今のところ、矛盾は起こっていません。

java scriptに関しては、例外の処理(Pの右が0となる場合など)に関して、不安を残します。

徹夜明けで、一気に書き上げたscriptのため、穴があるかも知れません。気づかれたかは下記へご一報ください。

デッキが1周してしまう場合の計算には対応していません。

私自身それを必要としていないため、対応の予定はありませんが、望まれる方はご一報ください。

ご自由にリンクされてください。

もしメールいただければ幸いです。


05/12/2004 Aynis