サイコロの期待値と分散
公正な6面のサイコロ1個の期待値は3.5、分散は35/12です。面の数と振る回数を入力すると、合計がどのくらいになりやすいか、どれほどばらつくかを示す2つの値が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 辺の数
- 6
- ロール数
- 1
- 期待値
- 3.5
- 差異
- 2.9166666667
- 標準偏差
- 1.7078251277
- サイコロ1個の期待値
- 3.5
面数が分かっている公正なサイコロは、確率のなかでも最もきれいな離散確率変数の一つです。1から面数までの各整数が等しく現れ、独立な試行は共分散なしに足し合わされます。学生、ゲーム設計者、分析者は、特定の合計が出る確率でも、模擬的な出目でもなく、その実験の期待値と分散を必要とすることが多いです。本計算機は面数と独立な試行回数を受け取り、和に対する両方の統計量を閉形式で返します。検証失敗は課金されません。
公正なサイコロにおける期待値と分散の意味
期待値は、同じ実験をいつまでも繰り返したときに和が収束する長期平均です。面が1から sides までの公正なサイコロでは、その平均は最初の面と最後の面のちょうど中点、すなわち sides 足す1を2で割った値です。したがって標準的な6面サイコロの期待値は3.5、4面は2.5、20面は10.5です。
分散は、その平均のまわりに和がどれだけ広がるかを測ります。面が整数の等差数列をなすため、1個のサイコロの分散は sides の2乗引く1を12で割る、という短い恒等式に落ちます。よって d6 の分散は35/12、退化して1面しかないサイコロの分散は0であり、これは特別扱いではなく正直な結果です。
同じ公正なサイコロを独立に何度か振って面を足すと、期待値の線形性により平均は試行回数倍になり、独立性により分散も同じ回数倍になります。したがって標準的な6面サイコロ2個の期待和は7、分散は35/6です。この二つの数が本能力の契約です。
合計がどれほど大きくなりやすいか、どれほどぶれやすいかを、すべての組を列挙せず、出目を無作為抽出せずに答えます。選んだ目標に対する確率表でも、最小から最大までの範囲でも、種付きの出目生成でもありません。和が7になる確率が必要ならサイコロ合計の確率ツールを、模擬的な出目が必要ならローラーをご利用ください。
ここではモーメントの対だけが問われ、閉形式で計算されるため、通常の浮動小数点演算で正確であり、尋ねるたびに同一です。
学習、遊び、ソフトウェアでサイコロのモーメントが役立つ場面
教室では、二項分布や正規分布の前に離散モーメントを導入するため、公正なサイコロの期待値と分散を使います。d6 について3.5と35/12を導ける学習者は、独立な複製を足し、2個のサイコロが7を中心に、より広いばらつきを持つ理由を見られます。試験生成器は、0面のサイコロを黙って NaN で返すのではなく拒否する決定的な神託を必要とします。
壊れた採点器が成功と誤認するおそれがあるためです。ゲーム設計者は、ダメージ軌跡、資源表、技能判定のバランスを取るとき、多面体セットを平均と分散で比べます。3d6 攻撃と 1d20 攻撃は、似た帯に数字を出せるというだけで互換ではありません。
シミュレーション作者は、長い乱数実行を信じる前に、小さな事例で閉形式に対して Monte Carlo コードを検証します。金融や意思決定のノートは、離散一様の利得を同じ恒等式に落とすことがあります。整数二つだけのために統計ライブラリ一式を引き込む代わりに、小さな parse 端点を呼びます。
二つの整数を小さく保ち、エコーされたモーメントをテストに固定すれば、宿題、仮想卓、エッジワーカー向けに再現可能な統計が得られ、新しい面数がルールに現れるたびに等差数列の恒等式を導き直す必要はありません。
活用例
教室と宿題の検算
公正な n 面サイコロ、または独立な n 回の試行について、入門確率で用いる閉恒等式に照らして平均と分散を確かめます。
ゲーム設計と卓上バランス
ダメージ軌跡、技能判定、資源表を調整するとき、期待和とばらつきで多面体プールを比較します。
シミュレーションとフィクスチャの検証
長い乱数実行を信じる前に、1d6、2d6、任意面について、Monte Carlo やエンジンのサイコロコードを正確なモーメントと突き合わせます。
よくある質問
結果は1回の試行ですか、それとも複数回の和ですか?
両方の統計量は独立な試行の和に対するものです。1回は1個のサイコロの場合です。1個分のモーメントもエコーされるので、二度目の呼び出しなしに比較できます。
特定の合計が出る確率も返しますか?
いいえ。 期待値と分散だけを返します。面の和が選んだ目標になる確率には、サイコロ合計の確率計算機をご利用ください。
公正なサイコロの期待値と分散はどう計算しますか?
期待値は面の数に1を足して2で割った値、分散は面の数の2乗から1を引いて12で割った値です。何回か振った合計では、どちらも振った回数を掛けます。
6面のサイコロ2個の合計の期待値はいくつですか?
7で、分散は35/6です。振る回数どうしは独立なので、1個の期待値3.5と分散35/12がそれぞれ2倍になります。
このツールはサイコロを実際に振るのですか?
いいえ。目をランダムに出すのではなく、合計の長期的な平均とばらつきを公式で正確に計算します。具体的な出目が必要なときは、ダイスローラーを使ってください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/dice \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sides":6,"rolls":1}'const res = await fetch("https://api.kit.forhosting.com/stat/dice", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sides": 6,
"rolls": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/dice",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sides": 6,
"rolls": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/dice", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sides":6,"rolls":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sides":6,"rolls":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/dice", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"sides": 6,
"rolls": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.dice",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_sides | 1000000 |
max_rolls | 1000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
期待値は rolls に sides 足す1を掛けて2で割った値、分散は rolls に sides の2乗引く1を掛けて12で割った値です。成功した呼び出しは $0.002 です。
入力契約、応答の形、および誤り時の振る舞い
必須の正の整数を二つ送ってください。どちらも1以上100万以下の整数でなければなりません。古典的な検算は、6面サイコロ1個(平均3.5、分散35/12)と6面サイコロ2個(平均7、分散35/6)です。実装はわずかな乗算です。動的計画法の表もなく、Monte Carlo の抽選もなく、Date もなく、ネットワークもありません。したがって結果は実行ごとにバイト単位で安定し、フィクスチャに向きます。公開上限内に収めれば、自ら数式処理系を立てなくても再現可能なモーメントが得られます。フィールド sides は各公正サイコロの面数で、1から番号が付きます。表計算や型付きフォームが同じ契約を使えるよう、別名 s、faces、faces_per_die を受け付けます。フィールド rolls はそのサイコロを独立に振る回数で、別名 n、times、count、dice を受け付けます。欠落、空文字、分数、科学表記、0、負数は invalid_input で失敗し、問題のフィールド名を示します。これらの失敗は課金されません。成功時、本体は検証済みの sides と rolls をエコーし、和の expected_value と variance、その分散の平方根である standard_deviation、1個分のモーメント single_die_expected_value と single_die_variance、到達可能な帯である min_sum(rolls に等しい)と max_sum(rolls に sides を掛けた値)、および二つの恒等式を述べる短い formula 文字列を返します。自動化パイプラインで同じ統計量の対が必要なときは、このページの無料ブラウザ実行と有料 API を組み合わせてください。成功した照会は毎回 $0.002 です。
学習、遊び、ソフトウェアでサイコロのモーメントが役立つ場面
作業は純 parse のティア A なので、成功した呼び出しは公開の $0.002 であり、モデルトークンも外向きネットワークもなく、無効入力は残高を消費しません。
技術的な質問
公正なサイコロの期待値と分散はどのように求めますか。
正の整数 sides(1から sides までの面)と rolls(独立な複製)を送ってください。API は和について expected_value = rolls×(sides+1)/2 と variance = rolls×(sides²−1)/12 を返します。
sides や rolls が正の整数でないとどうなりますか。
タスクはフィールド名を示して invalid_input で失敗します。0、負数、分数、欠落は拒否され、課金されません。
サイコロの期待値計算機の料金はいくらですか。
ブラウザツールは無料です。API 要求は成功した呼び出しごとに前払いの KIT 残高から $0.002 です。無効入力は課金されません。