二つの封筒のパラドックス
二つの封筒のパラドックスを生む計算を確かめられます。開けた封筒を保持する期待値は見た金額そのもの、交換の期待値は半分か倍かの古典的なモデルで1.25倍に見えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 量
- 20
- もう一方が半分の場合
- 10
- もう一方が2倍の場合
- 40
- 保持した場合の期待値
- 20
- 交換した場合の期待値
- 25
二つの封筒のパラドックスは確率と意思決定理論の古典です。見分けのつかない封筒が二つ示され、一方には他方の二倍の金額が入っています。一方を開けて正の金額を見たあと、閉じた封筒が半分または二倍を等確率で持つように見えるため、交換した方が常に得だという素朴な計算が出てきます。本計算機はその開封額を受け取り、古典的な等確率モデルの下で両方の期待値を返します。開けた封筒を保持する期待値は金額そのものであり、交換する期待値は金額の 1.25 倍です。比較は決定論的で乱数抽選は行わず、非正の金額は拒否します。
二つの封筒のパラドックスが計算することと、両方の期待値が現れる理由
二つの封筒のパラドックスは、封印された封筒の対から始まります。一方には他方の二倍の金額が入っており、無作為に一つを選ぶよう求められます。選んだ封筒を開けて正の金額 A を観測すると、交換すべきだという誘惑的な議論が出ます。
未開封の封筒は A の半分または A の二倍を等確率で含む、と議論は主張します。したがって交換の期待値は、二分の一掛ける A の半分に、二分の一掛ける二倍の A を足したものとなり、1.25 A に簡約されます。すでに見ている金額を保持する期待値は単なる A です。
正の任意の A について 1.25 A は A より大きいため、何を見つけても交換の方が厳密に良いように見えます。この無条件の推奨こそがパラドックスです。設定は対称なので、先に他方を開けていても同じ議論が成り立ち、双方が交換で同時に期待値上得をすることはできません。
本計算機は事前分布や非正規分布、A を見たあとに半分または二倍の確率が本当に二分の一であり得るかという哲学的論争を解消しようとはしません。謎を生む算術を学生・執筆者・チューターが点検できるよう、古典的な等確率交換モデルの下で二つの期待値を計算します。開封額を渡すと、保持の期待値、交換の期待値、半分と二倍の候補、交換の見かけの利点が返ります。
算術は決定論的であり、封筒を無作為抽出することはありません。
二つの期待値が役立つ場面
教室や学習支援の場では、学習者が任意の開封額について両方の期待値を手計算の半分・二倍の取り違えなしに確認できるよう、二つの封筒のパラドックス計算機を使います。哲学や意思決定理論の記事は、任意の正の賭け金について 1.25 A 対 A を印刷する決定論的オラクルを必要とし、図や解答が表計算の誤記でずれないようにします。
誤った採点器がそれを正解とみなすことを防ぎます。検証失敗は残高を消費しません。
活用例
教室と宿題での検算
学習者に開封額を送らせ、保持が A、交換が 1.25 A であることと、半分・二倍の候補を両方確認させます。
意思決定理論の記事と講義ノート
任意の正の賭け金について古典的な 1.25 A 対 A の比較を生成し、図と解答を等確率交換モデルと一致させます。
よくある質問
二つの期待値はどのように計算されますか?
正の開封額 A が与えられると、他方の封筒は等確率で A/2 または 2A として扱われます。E[keep] は A です。E[switch] は 0.5×(A/2) + 0.5×(2A) = 1.25A です。
なぜ交換の方が保持より良く見えるのですか?
古典モデルでは交換の期待値は常に開封額の 1.25 倍であり、任意の A>0 で保持の期待値を上回ります。この無条件の推奨がパラドックスです。計算機は議論を解消せず、両方の数値を報告します。
ゼロやマイナスの金額を入れるとどうなりますか?
受け付けません。このパズルでは開けた封筒には必ず正の金額が入っているため、ゼロや負の値は期待値ゼロではなく入力の誤りとして扱います。
交換が得なら、もう一度交換し直すべきですか?
同じ理屈がもう一方の封筒にも当てはまるため、交換を永遠に繰り返すことになります。状況は対称で、両方の封筒がともに得な選択にはなりえません。これこそがパラドックスです。
閉じた封筒にはいくら入っていると考えますか?
古典的なモデルでは、見た金額の半分か倍のどちらかが同じ確率で入っていると考えます。ツールはこの二つの場合を並べて表示します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/two-envelopes-paradox \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":20}'const res = await fetch("https://api.kit.forhosting.com/stat/two-envelopes-paradox", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/two-envelopes-paradox",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/two-envelopes-paradox", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/two-envelopes-paradox", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"amount": 20
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.two_envelopes_paradox",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
教室や API クライアントがゼロや負の賭け金を妥当なパラドックス事例として扱わないためです。
入力契約・応答の形・エラー時の振る舞い
amount は開けた封筒で観測した金額です。ゼロと負も失敗します。 非正の賭け金はこのモデルでは妥当な開封封筒ではなく、成功したゼロ期待値として扱ってはならないからです。これらの失敗は課金されません。ベイズ的な解消が必要なら、ご自身の論考や講義ノートと数字を組み合わせてください。必須の正の有限数を一つ含む JSON 本体を POST してください。フィールドは JSON 数値でも数値文字列でもよく、別名 value、a、opened は同じ正規の金額に解決されます。欠落フィールド、空文字、非数値テキスト、Infinity、NaN は amount を名指しして invalid_input で失敗します。成功時は amount を返し、続けて閉じた封筒の等確率な中身として other_half(A を二で割った値)と other_double(A の二倍)を返します。expected_keep は留まる期待値 A です。expected_switch は半分の二分の一と二倍の二分の一の和、すなわち 1.25 A です。switch_advantage は差の 0.25 A であり、formula は表示用に恒等式を書き直します。例:amount が二十なら other_half は十、other_double は四十、expected_keep は二十、expected_switch は二十五、switch_advantage は五です。本エンドポイントは意図的に古典的な交換算術であり、小さい方の金額への事前分布でも、多数の封筒対のモンテカルロでもありません。
二つの封筒の期待値 API が価値を生む場面
試験対策ジェネレータや LMS プラグインは、A を与えた交換期待値を問う短い設問を採点でき、非正の金額を黙ったゼロではなく invalid_input として扱えます。実装は純粋な parse ティア A のため、成功した呼び出しはモデルトークンも外向きネットワークもなく公開の基本料金 $0.002 です。リクエストを小さく保ち、整形済み浮動小数フィールドをテストで固定すれば、宿題・講義デモ・エッジワーカー向けに、独自の確率ライブラリなしで再現可能な保持・交換期待値が得られます。
連携の活用例
試験と LMS の自動採点
非正の金額を invalid_input で拒否し、ゼロ賭け金の期待値を捏造しない決定論的オラクルで二つの封筒の設問を採点します。
技術的な質問
金額がゼロまたは負のときはどうなりますか?
タスクは invalid_input で失敗します。非正の開封額はこのモデルでは妥当な封筒ではないため、リクエストは拒否され、課金されません。
これは二つの封筒のパラドックスを解消しますか?
いいえ。謎を生む古典的な等確率交換算術を計算するだけです。小さい方の金額に事前分布を置く解消や、A を見たあとの二分の一確率を否定する解消は、解説の側にあり、このエンドポイントにはありません。
二つの封筒のパラドックス計算機の料金はいくらですか?
ブラウザツールは無料です。API リクエストは成功した呼び出しごとに $0.002 の前払い KIT 残高を使い、無効な入力は課金されません。