子供全員が同じ性別になる確率計算
この計算機は、各出生が独立し、モデル上の2つの結果が同じ確率で起こると仮定して、家族の子供全員が同じ性別になる確率を求めます。子供の人数を入力すると、確率、百分率、計算式、有利な並びの数、可能な並びの総数を確認できます。一方の性別だけが続く場合と、もう一方の性別だけが続く場合の両方を数えるため、片方だけを数える典型的な誤りを避けられます。
無料で実行
事象を定義して子供の人数を入力します
対象とする子供の総数を入力してください。この計算で扱う事象は、全員がモデル上の2つの性別区分のどちらか一方にそろうことです。つまり、全員が第1の結果になる場合、または全員が第2の結果になる場合です。子供が1人以上なら、この2つは重ならない有利な場合です。入力できるのは1から1023までの整数です。子供が1人なら、その1人は集合内の全員と必ず同じ性別なので、確率は1です。2人なら、同確率の順序付きパターンは4通りあり、そのうち2通りが条件を満たすため、確率は1/2です。数え上げでは出生順を区別しますが、最終的な問いは全員が一致するかどうかだけです。どちらの性別かを指定する必要はありません。親の履歴、人口統計上の比率、以前の出生結果は使用しません。
2の1引くn乗になる理由を確認します
独立した各出生に同確率の2結果がある場合、子供がn人の家族には2^n通りの同確率な順序付きパターンがあります。条件を満たすのは、全員が第1の結果になる場合と、全員が第2の結果になる場合の2通りだけです。したがって2/2^nは2^(1-n)になります。別の見方では、最初の子供はどちらの結果でも構いませんが、その後の各子供は最初の子供と一致する必要があり、一致確率は毎回1/2です。必要な一致はnから1を引いた回数なので、(1/2)^(n-1)となります。4人なら2/16、すなわち0.125または12.5パーセントです。乱数シミュレーションは行いません。子供が1人増えるたびに、新しい結果も一致する必要があるため、確率は半分になります。
モデルの前提に沿って結果を解釈します
表示される確率は数学的モデルの値であり、特定の家族についての保証、医療的予測、人口統計的予測ではありません。各子供には確率1/2の2結果があり、出生同士は独立していると仮定します。独立とは、以前の結果を知っても次の結果に割り当てる確率が変わらないという意味です。実際の人口比率、親に関する要因、生殖上の選択、多胎出生の依存関係、二値モデル外の区分は含みません。前提が目的に適さない場合、この式は対象の状況を表さない可能性があります。出力には有利な2パターンと全体の2^nパターンが含まれ、計算を検算できます。確率が小さくても不可能という意味ではなく、同じ規模の仮想的な家族を多数考えた場合の期待割合です。演習やモデル確認では前提を明記してください。APIによる自動処理は1回$0.002です。
活用例
確率の演習を検算する
独立した出生と、すべての結果が一致する確率を扱う問題を確認できます。
指数的な減少を示す
子供が1人増えるたびに、全員が同じ性別になる確率が半減することを示せます。
単純な家族モデルを監査する
小数値とともに式や結果数を取得し、各計算段階を確認できます。
よくある質問
どの計算式を使用しますか?
n人の場合は2 × (1/2)^nを使います。2^(1-n)および(1/2)^(n-1)と同値です。
なぜ2倍するのですか?
全員が第1の性別になる場合と、全員が第2の性別になる場合の2つが有利だからです。
子供が1人なら、なぜ100パーセントなのですか?
1人だけなら、どちらの結果でも家族内の全員が必ず同じ性別になるためです。
以前の子供の性別を使いますか?
いいえ。独立性の仮定では、以前の結果は次の結果の確率を変えません。
実際の家族に起こることを予測しますか?
いいえ。同確率で独立した2結果という理想化モデルの確率であり、個別の予測ではありません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/probability-all-offspring-same-sex \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"family_size":4}'const res = await fetch("https://api.kit.forhosting.com/bio/probability-all-offspring-same-sex", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"family_size": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/probability-all-offspring-same-sex",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"family_size": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/probability-all-offspring-same-sex", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"family_size":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"family_size":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/probability-all-offspring-same-sex", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"family_size": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.probability_all_offspring_same_sex",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_offspring | 1023 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |