サイコロ確率計算
6面のサイコロ2個で合計7になるのは36通り中6通りで、確率はちょうど1/6です。個数、面数、目標の合計を入れると、シミュレーションではない正確な値が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- サイコロ
- 2
- 面数
- 6
- 目標値
- 7
- 総数
- 36
- 最小合計
- 2
- 最大合計
- 12
- 組み合わせ数
- 6
このサイコロ確率計算ツールは、指定した個数の公正なサイコロ(それぞれ指定した面数を持つ)の目の合計が目標の値になる正確な確率を返します。ボードゲーム、テーブルトップRPG、教室の確率の演習はすべて、異なる装いで同じ問いを尋ねます。標準的な6面サイコロ2個の合計が7になる、d20が3個で合計30になる、あるいはカスタムの多面体セットがダメージのしきい値に達する、といった具合です。エンジンはサイコロにわたる動的計画法ですべての結果を数え、面数をサイコロの個数で累乗した値で割り、既約分数と丸められた小数の両方を返します。モンテカルロサンプリングも、ネットワーク通信も、日付依存の近道もありません。代表的な検証例として、d6を2個で7になる確率は36分の6(6分の1)、d6を1個で4になる確率は6分の1です。
合計の確率の意味と結果の見方
サイコロの合計の正確な確率は、離散的な問いに答えます。各サイコロは1からその面数までの整数を示し、すべての面は等しい確率であり、振り方は独立しており、あなたは目の合計が選んだ目標値になる確率を求めています。標本空間の大きさは面数をサイコロの個数で累乗したものです。
有利な結果は、成分の合計が目標値になる順序付けられたタプルです。この計算ツールは、すべてのタプルを列挙するのではなく、決定的な動的計画法の漸化式でそれらの有利な数を数え上げます。これにより、整数算術における正確さを保ちながら、テーブルのサイズを手頃に保ちます。
大きな面数のべき乗が決して桁を失わないよう、waysとtotalを10進数の文字列として返します。到達可能な範囲外の目標値は、例外を投げることなく正しくways0、確率0を生みます。不可能な合計は有効な数学的な答えだからです。
拒否されるケースは異なります。連続的な近似も、正規分布による近道も、振り目のランダムサンプリングもありません。エンジンは正確な件数で完了するか、明確なメッセージとともに閉じて失敗するかのいずれかです。
サイコロの確率がプレイ・学習・ソフトウェアで役立つ場面
プレイヤーがサイコロの合計の問いに出会うのは、ルールセットがd6を2個の合計を求めるとき、クリティカルヒットのテーブルがd8を3個のダメージに基づくとき、あるいは自作システムが多面体のプールで目標値を上回る確率を必要とするときです。
教師は同じ数値を使い、標本空間、余事象、そして公正な6面サイコロ2個でなぜ7が最頻値になるのかを、母関数や包除原理に移る前に紹介します。
開発者は同じ契約をスクリプトから呼び出し、ゲームエンジン用の決定的なテーブルの種を作ったり、正確な小規模のケースに対してモンテカルロのコードを検証したり、浮動小数点のノイズを発明することなく分数とパーセントの両方を表示しなければならないチュートリアルUIを動かしたりします。
コンテストや宿題の演習では、時間が早すぎる丸めをサイレントに行う不透明な電卓アプリなしに、学生が答えを確認できる正確な答えの高速なオフライン情報源がしばしば必要になります。
バーチャルテーブルトップやキャラクタービルダー向けのプロダクトツールは、デザイナーがサイコロ、面数、ダメージのしきい値を入力し、UIが真のヒット確率を表示しなければならないときにこの書き換えを使います。このページでの計算はすべてブラウザ内で完結します。
活用例
テーブルトップとボードゲームのオッズ
セッションの前や自作テーブルのバランス調整の際に、2d6、3d8、あるいはカスタムの多面体プールについて正確な確率を計算します。
宿題と確率の演習
教科書の2個のサイコロや複数サイコロの演習に一致する、既約分数と小数で標本空間の答えを確認します。
よくある質問
確率はどう定義されますか?
各サイコロは1.. 面数を一様かつ独立に示します。P(合計=目標値)は、有利な順序付けられた結果の数を、面数をサイコロの個数で累乗した値で割ったものに等しくなります。
サイコロまたは面数がゼロや負の場合はどうなりますか?
サイコロと面数は、サポートされる最大値内の正の整数でなければなりません。
目標の合計が不可能な場合はどうなりますか?
計算ツールはways0、probability0、分数0/1を返します。不可能な合計はエラーではなく有効な答えです。
これはモンテカルロですか、それとも正確ですか?
正確です。 件数はサイコロにわたる整数の動的計画法を使います。ランダムサンプリングも日付への依存もありません。
サイコロ2個で合計7が出る確率はいくつですか?
ちょうど1/6です。6面のサイコロ2個の出方36通りのうち、合計7になるのは6通りで、6を36で割ると1/6になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/dice-probability \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dice":2,"sides":6,"target":7}'const res = await fetch("https://api.kit.forhosting.com/hobby/dice-probability", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dice": 2,
"sides": 6,
"target": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/dice-probability",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dice": 2,
"sides": 6,
"target": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/dice-probability", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dice":2,"sides":6,"target":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dice":2,"sides":6,"target":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/dice-probability", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"dice": 2,
"sides": 6,
"target": 7
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.dice_probability",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_dice | 40 |
max_sides | 100 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
宿題やセッションの準備にはブラウザで無料にご利用いただき、CI、ゲームツール、指導デモで再現可能な確率フィクスチャが必要な場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
サイコロの合計の正確な確率が意味すること、そしてレスポンスの内容
レスポンスは、検証済みのサイコロの個数、サイコロあたりの面数、目標値をエコーします。到達可能な範囲を、min_sum=サイコロの個数、max_sum=サイコロの個数×面数として報告します。そして、丸められた小数としてのprobability、完全に既約された「ways分のtotal」の文字列としてのprobability_fraction、同じ比率の100倍としてのpercent、使用した精度、exact_dpというメソッドタグ、短い式の説明を公開します。フィールドの欠落、整数が要求される場所での非整数、正でないサイコロや面数、文書化された上限を超える値は、不正なフォームのセルがサイレントに誤ったパーセンテージになることのないようinvalid_inputを生じます。
サイコロ・面数・目標値の読み取り方法と結果を再現可能に保つ仕組み
ゼロ、負の数、分数、指数表記、複数桁の文字列の先頭のゼロは、正でないサイコロや面数がその原因である場合、それを明示的に指摘するメッセージとともに拒否されます。targetは、最小合計を下回る値や最大合計を上回る値を含む、任意の安全な整数でよく、その場合waysはゼロで分数は1分の0になります。内部的には、漸化式は各サイコロの後の部分和のマップを構築し、BigIntのカウンターで1から面数までの目を加え、その上でbigint安全なhalf-away-from-zero丸めを使って面数をサイコロの個数で累乗した値で割ります。優先されるフィールドは、振るサイコロの数を表すdice、1から始まる番号のサイコロあたりの面を表すsides、望む合計を表すtargetですが、diceにはn、num_dice、count、sidesにはs、faces、faces_per_die、targetにはsum、t、goalといった別名も受け付けるため、スプレッドシート、クエリ文字列、型付きフォームは同じ契約を再利用できます。diceとsidesは、公表された最大値内の正の整数でなければなりません。自動化されたパイプライン内でサイコロの動的計画法を自前で再実装することなく同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせてご利用ください。
サイコロの確率がプレイ・学習・ソフトウェアで役立つ場面
API経由では成功した検索1件につき$0.002がかかり、検証に失敗したリクエストは課金されず、レスポンスが返された後は何も保存されません。この無料のインタラクティブな探索と、同一結果を返す有料APIという分割は、KITのtier-Aカタログの他のツールと同様であり、教室でのデモから自動化パイプラインへ、数学的な結果を変えることなく移行できます。関連する離散モデルが必要なときは二項分布や他の確率系エンドポイントと、ゲームと学習向けに無料で決定的なツールの小さなラボを構築する際は他の趣味の数学ヘルパーと組み合わせてご利用ください。
連携の活用例
決定的なゲームとCIフィクスチャ
ユニットテストとモンテカルロの相互チェック向けに再現可能なways、total、probability_fractionの文字列を生成できます。
技術的な質問
サイコロ確率計算ツールの料金はいくらですか?
このページのブラウザ版は無料です。API経由では成功したリクエストごとに$0.002がかかり、無効な入力には課金されません。