誕生日のパラドックス計算機
わずか23人のグループでも、誕生日が同じ2人がいる確率はすでに約50%になります。1年は365日あるのにです。人数と日数を入れるだけで、同じ日が出る正確な確率がわかります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 23
- 可能な日数
- 365
- 確率
- 0.5072972343
- すべて異なる
- 0.4927027657
誕生日のパラドックスとは、わずか23人のグループでも、少なくとも2人が同じ誕生日を共有する確率がすでに約50%に達するという驚くべき事実です。1年は365日もあるのに、です。同じ数学はあらゆる衝突問題に適用できます。ハッシュバケット、会議の時間枠、乱数コード、d個のラベルを持つ独自カレンダーなどです。この計算機はグループの人数nと日数dを受け取り、すべての誕生日が異なるという相補的な積を計算し、1からその値を引いた安定した小数の確率を返します。nまたはdが1未満の場合は明確なバリデーションエラーで拒否されるため、不完全な入力や意味のない入力が静かに誤った確信を生み出すことはありません。結果はサンプリングも言語モデルも使わない、完全に決定的な算術です。
誕生日のパラドックスが測るものと、人々を驚かせる理由
多くの人は、グループの人数を1年の長さと比較して誕生日共有のリスクを見積もります。その直感は特定の1人との一致を探すため、衝突を大きく過小評価します。正しい問いは、グループ内のどこかのペアが衝突するかどうかです。
n人いればペアはnから2つ選ぶ数だけあり、各ペアはd日のうちの1日で一致する小さな確率を持ちます。これらのペアの事象は独立ではないため、すっきりした閉形式は相補確率で考えます。まず全員がまだ使われていない日に落ちる確率から始め、1から引きます。
形式的には、グループに任意の順序を固定します。1人目はどの日でも構いません。2人目は1人目の日を避ける必要があり、その確率は(d-1)/dです。
3人目は前の2日が異なる場合、その両方を避けなければならず、以下同様です。これらの連続する項を掛け合わせるとP(すべて異なる)が得られます。1からその積を引いたものがP(少なくとも1つの共有日)です。
同じ式は、366日のうるう年モデル、7枠の短い勤務週、4桁のPINプレフィックスのような合成的なラベル空間にも使えます。相補的な積を理解すれば、モンテカルロ法のノイズやペア組み合わせの表なしに、このパラドックスの神秘を解き明かせます。
この計算機が入力を検証し積を評価する仕組み
この機能は2つの必須整数で呼び出します。nは人数、dは可能な日数または異なるラベル数です。エンジンは両方の値が公開された範囲内の有限の整数であることを確認します。
nは1から10万まで、dは1から100万までです。検証後、nがdより大きければ鳩の巣原理が直ちに適用されます。対数空間での乗算により、グループが大きくなっても中間積が早期のアンダーフローを起こさず、純粋な決定的な倍精度算術のままです。
ネットワークの往復も乱数生成器も、いかなる言語モデルの関与もありません。
実用的な使い方、制限、料金、提供チャネル
離散確率を教えるとき、マッチングゲームを設計するとき、365日に対してなぜ23が教室で有名な閾値なのかを確認するときなど、即座に衝突確率が欲しい場合はブラウザツールをお使いください。受け付け範囲は、Workerアイソレート向けにO(n)の積を抑えつつ、教室のカレンダー、複数年のラベル空間、1年をはるかに超える合成的バケットをカバーします。
結果は完全に決定的です。同じnとdは常に同じ確率、同じ相補値、同じguaranteedフラグを返します。言語モデルも外部の確率サービスも乱数性もないため、この機能は継続的インテグレーションのチェックや再現可能な教材に安全に固定できます。
活用例
ハッシュとID衝突の直感
エンジニアは、dをラベル空間のサイズに設定し、共有確率が許容できなくなるまでnを掃引することで、短いコード、キャッシュキー、バケットラベルに対する近似的な誕生日限界を説明します。
よくある質問
nまたはdが1未満の場合はどうなりますか?
少なくとも1人と少なくとも1つの日ラベルが必要です。ゼロや負の値は拒否され、課金されません。
なぜ23人で確率がすでに約50%になるのですか?
この計算機は、365日の中で新しい各人がそれ以前のすべての誕生日を避ける確率を掛け合わせます。
誕生日のパラドックス計算機は無料ですか?
ブラウザツールはお客様のデバイス上で無料で動作します。検証失敗は課金されません。
シミュレーションや乱数サンプリングを使いますか?
いいえ。 決定的な浮動小数点算術(安定性のため対数空間)で閉じた相補積を評価します。同じnとdは常に同じ確率を返し、モンテカルロ法のノイズはありません。
365日以外の日数でも計算できますか?
はい、日数には1から1000000までの整数を指定できます。うるう年のモデル、曜日の7通り、会議の枠、ランダムなコードの重複確率なども、同じ式でそのまま計算できます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/prob/birthday-paradox \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":23,"d":365}'const res = await fetch("https://api.kit.forhosting.com/prob/birthday-paradox", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 23,
"d": 365
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/prob/birthday-paradox",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 23,
"d": 365
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/prob/birthday-paradox", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":23,"d":365}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":23,"d":365}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/prob/birthday-paradox", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 23,
"d": 365
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "prob.birthday_paradox",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 100000 |
max_d | 1000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
誕生日のパラドックスが測るものと、人々を驚かせる理由
おなじみのカレンダー、d=365、n=23では、積はちょうど2分の1をわずかに下回り、共有日の確率は50%を超えます。n=57では、その数値はすでに99%を上回ります。
この計算機が入力を検証し積を評価する仕組み
nにはpeopleまたはgroup_size、dにはdaysまたはlabelsというエイリアスも受け付けます。欠落フィールド、非整数、1未満のn、1未満のd、上限超過の値はすべてinvalid_inputで失敗し、課金されません。少なくとも2人が同じ日を共有する必要があるため、probabilityは1、all_distinctは0、guaranteedはtrueになります。それ以外の場合、エンジンはiを1からn-1まで、各因子(d-i)/dの対数を累積し、和を指数化して浮動小数点の結果を単位区間に丸め、1からそのall_distinctの値を引いたものをprobabilityとして返します。応答フィールドはn、d、probability、all_distinct、guaranteedです。
実用的な使い方、制限、料金、提供チャネル
スクリプト、教育プラットフォーム、面接用サンドボックス、ハッシュ衝突のデモ、キャパシティプランナーが、1つの契約の下で多数の(n, d)ペアに対する安定したJSONを必要とする場合はAPIをお使いください。成功した各リクエストは$0.002の課金対象1件となり、検証失敗は残高を消費しません。確率チュートリアル、コーディング面接のオラクル、スケジュール衝突推定器、暗号の教材デモなど、近似サンプリングのヒストグラムが真の値に落ち着かない場面で古典的な相補積を好む場合に、このエンドポイントを組み込んでください。
連携の活用例
教室と教科書での検証
教師と学生は、古典的な閾値n=23、d=365を検証し、カレンダーの長さを変えると50%の交点がどう動くかを、長い積を手計算せずに探索できます。
テストとツールのための決定的オラクル
面接プラットフォーム、クイズアプリ、CIスイートは、1未満のnやdを拒否し、同一入力に対して同一の確率フィールドを返す安定したオラクルを呼び出します。
技術的な質問
誕生日のパラドックスの確率はどう計算しますか?
整数のn(人数)とd(可能な日数)をJSONでprob.birthday_paradoxに送信してください。応答には少なくとも1つの共有日の確率、相補値all_distinct、nがdを超える場合のguaranteedフラグが含まれます。