確率計算(無料)
順列・組合せ・単純な確率・独立な試行の同時確率・少なくとも1回は起こる確率の5種類を、タブを切り替えるだけで計算できます。大きい数の階乗もBigIntで誤差なく計算し、極端に小さい確率×極端に多い試行回数でも桁落ちしない専用の計算式を使っています。
nは0〜1,000の整数、rは0以上n以下の整数で入力してください。
nは1以上の整数、mは0以上n以下の整数で入力してください(例: サイコロで1の目が出る確率はn=6, m=1)。
| 確率 P(A) | 既約分数 1/6 ・小数 0.166667 ・16.67% |
|---|---|
| 余事象(Aが起こらない確率) | 既約分数 5/6 ・小数 0.833333 ・83.33% |
各事象の確率は0〜100%で入力してください(6個以上は別々に計算して掛け合わせてください)。
確率は0〜100%、試行回数は1〜1,000,000回の整数で入力してください(例: 1%のガチャを100回引く場合は確率1%・回数100)。
順列(nPr)と組合せ(nCr)の計算方法
異なるn個のものからr個を選ぶとき、並べる順番まで区別する数え方が順列、順番を区別しない数え方が組合せです。 順列はP(n,r) = n×(n-1)×…×(n-r+1)(r個の積。r=0のときは1)、組合せはC(n,r) = P(n,r)÷r!で求まり、C(n,r) = C(n,n-r)が常に成り立ちます。 r=0・n=0のときはどちらも「何も選ばない選び方は1通り」として1になります。
このツールは階乗・順列・組合せをすべてBigInt型で計算しています。JavaScriptの通常の数値(Number型)には安全に扱える整数の上限(2の53乗マイナス1)があり、これを超える掛け算を続けると気づかないまま値がずれていきます。23の階乗(25,852,016,738,884,976,640,000)はこの上限を超える代表例です。BigIntで計算することで、どれだけ大きいnでも全桁を正確に表示します(nの上限は1,000。計算自体はもっと大きいnでも可能ですが、結果の桁数が数千桁になり表示が崩れるため上限を設けています)。
単純な確率(モードB)の考え方
事象Aの確率はP(A) = (Aの起こり方の数)÷(起こりうるすべての場合の数)で求めます。この式はどの場合も同じ程度に起こりやすい(同様に確からしい)ことを前提にしています。サイコロの目のように各結果が均等に起こる場合はそのまま使えますが、排出率があらかじめ公表されているガチャのように場合の数が均等でない事象には、この式をそのまま当てはめられません。 確率は常に0以上1以下(0%以上100%以下)になり、余事象(Aが起こらない確率)は1-P(A)で求まります。このツールは確率を既約分数・小数(小数点以下6桁・末尾の0は省略)・パーセント(小数点以下2桁)の3形式で同時に表示します。
独立な試行の同時確率(モードC)
複数の試行が独立とは、一方の結果がもう一方の起こる確率に影響しないことです。独立な事象A・Bが同時に(または続けて)起こる確率はP(A)×P(B)で、3つ以上の独立な事象でも同じように全事象の確率を掛け合わせて求めます。このツールでは2〜5個の事象の確率(%)を入力すると、すべて同時に起こる確率を小数点以下6桁の小数とパーセント(小数点以下4桁)で表示します。
少なくとも1回は起こる確率(モードD)と桁落ち対策
1回あたりの確率がpの独立な試行をn回行うとき、少なくとも1回起こる確率は1-(1-p)^nで求まります。これは「1回も起こらない確率(1-p)をn回続けて掛け合わせた値」を1から引いたものです。
この式を1 - Math.pow(1-p, n)のまま素直に計算すると、pが極めて小さく、かつnが極めて大きいとき、Math.pow(1-p, n)が1に極めて近い値になり、1から引く際に有効な桁が失われてしまいます(桁落ち)。このツールはlog1p(log(1+x)を桁落ちなく計算)とexpm1(exp(x)-1を桁落ちなく計算)を組み合わせた計算式を使い、このような条件でも正確な値を出します。
また、浮動小数点の丸めによって表示上は100%や0%に見えても、確率が0または1そのものでない限り真の値はそうなりません。このツールは、真の値が1未満なのに表示上100%になる場合は「100%未満」、真の値が0より大きいのに表示上0%になる場合は「0%より大きい」と表示し、「必ず起こる」「まったく起こらない」と誤読されないようにしています。
このツールでできないこと(対象外の範囲)
このツールは順列・組合せ・単純な確率・独立な試行の同時確率・少なくとも1回は起こる確率の計算に絞っています。期待値は対象外です。データの分散は標準偏差の計算で計算できます。条件付き確率・ベイズの定理、重複順列・重複組合せ・円順列、二項分布のグラフ表示、連続的な確率分布(正規分布など)も対象外です。分数(a/b)形式の入力は受け付けていません。小数またはパーセントで入力してください。
よくある質問
順列(nPr)と組合せ(nCr)の違いは何ですか?
結論:順列は「並べる順番まで区別する」数え方、組合せは「順番を区別しない」数え方です。同じ3人から2人を選ぶ場合、組合せでは「AB」と「BA」は同じ1通りですが、順列では順番違いの2通りとして数えます。
確率はどうやって計算しますか?
結論:事象Aの確率は「Aの起こり方の数 ÷ 起こりうるすべての場合の数」で求めます。この計算は、どの場合も同じ程度に起こりやすい(同様に確からしい)ことを前提にしています。
独立な試行の同時確率はどう計算しますか?
結論:それぞれの事象の確率をすべて掛け合わせます。独立な事象A・Bが同時に(または続けて)起こる確率はP(A)×P(B)です。
「少なくとも1回は起こる確率」はどうやって計算しますか?
結論:1から「1回も起こらない確率」を引いて求めます。1回あたりの確率がpの独立な試行をn回行うとき、少なくとも1回起こる確率は1-(1-p)^nです。
大きい数の階乗(n!)を計算すると誤差は出ませんか?
結論:このツールは階乗・順列・組合せをすべてBigInt型で計算しているため、何桁の数になっても誤差は出ません。23の階乗(25,852,016,738,884,976,640,000)はJavaScriptの通常の数値の精度上限を超える代表例です。
確率が極端に小さい場合や、試行回数が極端に多い場合でも正確に計算できますか?
結論:できます。log1p・expm1という桁落ちを避けるための計算方法を使い、真の値が1未満・0より大きいのに表示上100%や0%に見える場合は「100%未満」「0%より大きい」と表示します。
期待値や条件付き確率は計算できますか?
結論:期待値・条件付き確率は対象外です。データの分散は標準偏差の計算で計算できます。条件付き確率・ベイズの定理、重複順列・重複組合せ・円順列、連続的な確率分布も対象外です。
関連ツール
本ツールは入力された数値をもとにした数学的な計算結果を表示するものです。期待値・分散・条件付き確率・連続的な確率分布の計算、分数(a/b)形式の入力には対応していません。