
100人の囚人問題は、確率論と組み合わせ論における数学の問題です。この問題では、番号が振られた100人の囚人が、生き残るために100個の引き出しのうちの1つから自分の番号を見つけなければなりません。ルールでは、各囚人は50個の引き出ししか開けることができず、最初の囚人が引き出しを開けた後は他の囚人とコミュニケーションを取ることはできません。100人全員が自分の番号を見つけることができれば全員生き残りますが、1人でも自分の番号を見つけられなければ全員死んでしまいます。一見すると絶望的な状況に見えますが、巧妙な戦略によって囚人たちは生き残る現実的なチャンスを得ることができます。
アンナ・ガルとピーター・ブロ・ミルテルセンは、2003年にこの問題を初めて提起した。
100人の囚人問題は、文献によってさまざまな形で表現されています。以下は、フィリップ・フラジョレとロバート・セジウィックによるバージョンです。[ 1 ]
囚人全員がそれぞれ独立にランダムに50個の引き出しを選んだ場合、1人の囚人が自分の番号を見つける確率は50%です。すべての囚人が自分の番号を見つける確率は、個々の確率の積であり、 ( 1 / 2 ) 100 ≈ 100 です。0.000 000 000 000 000 000 000 000 000 0008、極めて小さな数。状況は絶望的であるように思われる。
驚くべきことに、囚人全員が30%以上の確率で生き残れる戦略が存在する。成功の鍵は、囚人がどの引き出しを開けるかを事前に決める必要がないことである。各囚人は、すでに開けた引き出しの中身から得た情報を使って、次に開ける引き出しを決めることができる。もう一つ重要な点は、この方法では、ある囚人の成功は他の囚人の成功とは無関係ではないということである。なぜなら、すべての囚人の成功は数字の分布方法に依存しているからである。[ 2 ]
戦略を説明するために、囚人だけでなく引き出しも 1 から 100 まで番号が付けられます。たとえば、左上の引き出しから始めて行ごとに番号が付けられます。戦略は次のようになります。[ 3 ]
囚人がこの方法で無限に続けることができれば、必ず最初に引いた引き出しに戻り、順列サイクルが形成される(下記参照)。囚人は自分の番号から始めることで、自分の番号を含む特定の引き出しサイクルにいることを保証できる。唯一の問題は、サイクルが50個以上の引き出しより長くなるかどうかである。そして、サイクルが長すぎる可能性があるのは1つだけである。なぜなら、最大でも1つのサイクルが全引き出し数の半分以上を占めることはないからである。
これが有望な戦略である理由は、8人の囚人と引き出しを使った次の例で説明できます。各囚人は4つの引き出しを開けることができます。刑務所長は、囚人の番号を次のように引き出しに割り当てました。
囚人たちは現在、以下のように行動している。
この場合、囚人全員が自分の番号を見つけます。しかし、これは常に当てはまるわけではありません。例えば、引き出し5と8を入れ替えるというわずかな変更によって、囚人1は1、7、5、2を開けた後(そして自分の番号を見つけられなかった後)失敗します。
そして、以下の手順では、囚人1は引き出し1、3、7、4を開けますが、その時点で開けることができず、停止しなければなりません。
実際、6人目(直接成功する者)を除くすべての囚人が失敗する。
刑務所長が囚人番号を引き出しに割り当てることは、数学的には1から100までの整数の順列として記述できます。順列を繰り返し適用すると最初の数に戻る数列を順列のサイクルと呼びます。すべての順列は、互いに素なサイクル、つまり共通要素を持たないサイクルに分解できます。上記の最初の例の順列は、サイクル表記で次のように書くことができます。
したがって、長さ3のサイクルが2つと長さ2のサイクルが1つから構成される。3番目の例の順列は、
そして、長さ 7 のサイクルと長さ 1 のサイクルから構成されます。サイクル表記は一意ではありません。長さ 7 のサイクルは、書き方サイクルの開始番号によって、さまざまな方法があります。上記の戦略を使用して引き出しを開ける際、各囚人は必ず自分の番号で終わる単一のサイクルをたどります。囚人が8人の場合、このサイクル追跡戦略は、順列の最長サイクルの長さが最大4である場合に限り成功します。順列に長さ5以上のサイクルが含まれている場合、そのようなサイクルに含まれる番号を持つすべての囚人は、4ステップ以内に自分の番号に到達できません。

最初の問題では、100人の囚人が成功するためには、順列の最長サイクルの長さが50以下でなければなりません。したがって、彼らの生存確率は、 1から100までの数字のランダムな順列に、長さが50を超えるサイクルが存在しない確率に等しくなります。この確率は次のように決定されます。
1から100までの数の順列は、長さのサイクルを最大で1つ含むことができる。正確にはこのようなサイクルの数字を選択する方法(組み合わせを参照)。このサイクル内では、これらの数字は次のように配置できます。方法があるから長さの異なるサイクルを表す順列周期対称性のため。残りの数字は次のように並べることができます。したがって、長さのサイクルを持つ1から100までの数の順列の数はに等しい
(一様分布の)ランダム順列に長さが 50 を超えるサイクルが含まれない確率は、単一事象の式と相補事象の式を用いて計算され、次のように与えられる。
どこはの次高調波数。したがって、サイクル追跡戦略を使用すると、囚人は驚くべきことに31%のケースで生き残ります。[ 3 ]

もし100人の囚人の代わりに、は任意の自然数であり、サイクル追従戦略による囚人の生存確率は次のように与えられる。
オイラー・マスケローニ定数を用いて、 のために
が成り立ち、その結果、漸近生存確率は
確率の列は単調減少であるため、囚人の数に関係なく、サイクル追従戦略によって囚人が生き残る確率は30%以上である。[ 3 ]
2006年、ユージン・カーティンとマックス・ウォーシャウアーは、サイクル追跡戦略の最適性の証明を与えた。この証明は、すべての囚人が部屋にいて引き出しの開閉を観察できるという関連問題との等価性に基づいている。数学的には、この等価性は、 (標準的な)サイクル表記と順列の1行表記の1対1対応であるフォアタの遷移補題に基づいている。2番目の問題では、生存確率は選択された戦略とは無関係であり、サイクル追跡戦略を用いた元の問題の生存確率と等しい。元の問題に対する任意の戦略を2番目の問題にも適用できるが、そこでより高い生存確率を達成することはできないため、サイクル追跡戦略が最適でなければならない。[ 2 ]
100 人の囚人問題は、2003 年に Anna Gál と Peter Bro Miltersen によって、第 30 回国際オートマタ、言語、プログラミングに関するコロキウム( ICALP )の議事録で初めて検討されました。[ 4 ]彼らのバージョンでは、プレイヤー A (刑務所長) は、チーム B (囚人) のプレイヤーの名前が書かれた紙片をランダムに赤または青に塗り、それぞれの紙片を異なる箱に入れます。箱の中には空になっているものもあります (下記参照)。チーム B のプレイヤーは、半分の箱を開けた後、自分の色を正しく推測しなければ、チームが勝利できません。[ 4 ]当初、Gál と Miltersen は、プレイヤーの数が増えるにつれて勝利確率がすぐにゼロに近づくと想定していました。しかし、オーフス大学の同僚である Sven Skyumは、空の箱がないこの問題の場合のサイクル追跡戦略に注目しました。この戦略を見つけることは、論文の演習として残されました。この論文は最優秀論文賞を受賞しました。[ 2 ]
2004 年春、この問題は、ジョー・ビューラーとエルウィン・バーレカンプが季刊誌「The Emissary of the Mathematical Sciences Research Institute」のパズル コラムに掲載した。著者らは、箱をROMに、色付きの紙片を符号付き数字に置き換えた。著者らは、チーム メンバーが自分の数字を見つけられない場合でも、勝つ確率を高めることができると指摘した。与えられた答えが発見されたすべての符号の積であり、最長のサイクルの長さが (偶数) プレイヤー数の半分 + 1 である場合、このサイクルのチーム メンバーは全員間違った推測をするか、全員正しい推測をする。この戦略の拡張は、プレイヤー数が少ない場合には目に見える改善をもたらすが、プレイヤー数が多くなると無視できるほど小さくなる。[ 5 ]
その後、この問題は数学文献に登場し、例えばテーブル上のカード[ 6 ]やロッカー内の財布(ロッカーパズル)[ 2 ]など、さまざまな形で表現されました。囚人問題の形では、2006年にChristoph PöppeがSpektrum der Wissenschaft誌で、Peter WinklerがCollege Mathematics Journal誌で提起しました。[ 7 ] [ 8 ]若干の変更を加えたこの形式は、Philippe Flajolet、Robert Sedgewick、 Richard P. Stanleyが組み合わせ論の教科書で採用しました。 [ 1 ] [ 3 ]この問題、またはなぞなぞは、詳細な解決策の説明とともに、2023年にYouTubeのVeritasiumチャンネルの動画で紹介されました。
2026年、この問題とその解決策は詩として定式化されました(100%の勝率を可能にするバリエーションも含む)。[ 9 ]元の問題に関連する詩の部分は次のとおりです。
鋭敏で大胆な百人の頭脳が、 新入生の夢やゼロ除算のように 知っているはずの法律を破ったために 、冷たい部屋に閉じ込められた。 彼らは夢を大声で見すぎ、考えすぎ、 ルールを曲げた。そして数学が答えた。 純粋な数の恩寵に対する罪のために、 彼らは運命に遭遇した。この死の場所。 裁判官も、嘆願も、陪審員もいない。ただ 論理の刃と沈黙の言葉だけ。 それでも、最後のチャンスが残されている。 隠された利益を伴う歪んだテスト… 番号の付いた独房に閉じ込められた百人の魂。 それぞれが囚われの殻の後ろに閉じ込められている。 テストが待っている。恐ろしいゲーム。 運命だけでなく、数字が恥辱をもたらす。各囚人は、 任務が完了するまで 、100個の引き出しを1つずつ探すことができる。各引き出し には、自分の番号が書かれた 紙片が入っている。しかし、ここにひねりがある。各囚人は、 途中で50個以上の引き出し を通り抜けてはならない。 そして、全員が自分の番号の紙片を見つけたら、 彼らは命を勝ち取る。大敗北だ! しかし失敗すれば、たとえ一人でも 刑務所は一族全員を捕らえることになる。 信号も、叫び声も、ヒントも、 消された暗号も、鉛筆で書かれた指紋もない。 「無作為に捜索しよう!」と提案する者もいる。 しかし、そのような行動はせいぜい死を意味する。 幸運に恵まれる確率 は極めて低く、勝利には程遠い。 だが、ある奇妙な計画がある。それは、 足元の数字をたどる、ずる賢く、整然とした計画だ。 引き出しの番号の付いた面から始め、 その痕跡を辿っていく。 それぞれの数字は次にどの扉が開くかを示し、 それは悲惨で悩ましい運命の連鎖だ。 ほとんどのサイクルは50ステップの線より下にあるが 、それで良いのだ。 だから、このゲームは不公平に聞こえるかもしれないが、 そこには隠された秩序が潜んでいる。 そして、この数字のダンスを信じれば、 彼らは最高のチャンスをつかむことができる。 完璧な確率ではない が、30パーセント以上の確率で成功するのだ! 破滅に包まれた謎解きにしては、 暗闇を明るくする一筋の光明となる。
当初、GálとMiltersenは論文の中で、箱の数がチームメンバーの数の2倍で、箱の半分が空である場合を検討した。これは、空の箱はどこにも繋がらないため、サイクル追跡戦略を適用できないという点で、より難しい問題である。この場合、チームメンバーの数が増えるにつれて勝利確率がゼロに近づくかどうかは未解決の問題である。 [ 4 ]
2005年、Navin GoyalとMichael Saksは、空の箱の割合と各チームメンバーが開けることができる箱の割合が可変である、より一般的な問題に対するサイクル追従戦略に基づいて、チームBの戦略を開発した。この場合、勝利確率は依然としてゼロに近づくが、GálとMiltersenが示唆したよりも遅い。チームメンバーの数と開けられる箱の割合が固定されている場合、空の箱がさらに追加されても、勝利確率は厳密にゼロより大きいままである。[ 10 ]
刑務所長が引き出しに番号をランダムに割り当てる必要がなく、囚人が上記の戦略を用いる可能性があることを認識し、囚人が用いるであろう箱の番号付け(箱に示された番号など)を推測できる場合、刑務所長はその戦略を阻止することができる。そのためには、囚人の番号を引き出しに割り当てる際に、長さが 50 より大きい順列となるようにすればよい。囚人は、所長がこれを聞き取ったり、囚人が入る前に箱の番号を入れ替えたりしない限り、引き出しの特定のランダムな番号付けについて合意することでこれに対抗できる。[ 11 ]
囚人のうち1人が最初に部屋に入り、すべての箱を調べ、2つの箱の中身を入れ替えた場合、すべての囚人が生き残る。これは、長さが50より大きいサイクルはすべて破ることができるため、すべてのサイクルの長さが最大でも50であることが保証されるからである。
十分な数の囚人に対して引き出しの半分よりはるかに少ない数を開けるだけで脱出できる。具体的には、各囚人は引き出しを半分だけ開ければよい。囚人全員の脱走を防ぐための引き出し。[ 12 ]
自分の番号を見つけた囚人は誰でも釈放されるという条件の下では、ランダムな順列が与えられた場合の個人の生存確率の期待値は次のようになります。
戦略なし:
元の問題に対する戦略は以下のとおりです。
注目すべきは、期待値は同じであっても、それらが全く異なる分布から得られている点である。2番目の戦略では、特定の順列が与えられた場合、囚人の中には死ぬか生きるかが決まってしまっている者がいるのに対し、1番目の戦略(つまり、戦略なし)では、あらゆる順列に対して「真に」1/2の確率が存在する。
2009年、アダム・S・ランズバーグは、よく知られているモンティ・ホール問題を基にした、100人の囚人問題のより単純な変種を提案した。[ 13 ]
プレイヤーがランダムにドアを選択した場合、勝つ確率はわずか4/9(約44%)です。最適な戦略では、最初のプレイヤーと車を番号1に、2番目のプレイヤーと鍵を番号2に、ヤギを番号3に割り当てます。基本的なアルゴリズムは次のとおりです。
3つのドアの後ろに車、鍵、ヤギを配置する6つの可能な組み合わせにおいて、プレイヤーは以下のドアを開けます(緑色のケースでは、プレイヤーは成功しました)。
この戦略の成功は、 2 人のプレイヤーの成功と失敗の間に相関関係を構築することに基づいています。ここでは、勝率は2/3であり、最初のプレイヤーの勝率がこれより高くなることはないため、これは最適です。[ 13 ]さらに別のバリエーションでは、3 つの賞品が 3 つのドアの後ろに隠されており、3 人のプレイヤーはそれぞれ2回の試行で割り当てられた賞品を独立して見つけなければなりません。この場合も、最適な戦略が採用されると、勝率は2/3になります。[ 14 ]
最初の 50 回以内に自分の番号を見つける代わりに、テストは 50 回の奇数回の試行 ( 1、3、...、97、99 ) 以内に番号を見つけることとすることができます。各囚人は奇数回の試行で自分の番号を見つける確率が 50% です。囚人の順列に奇数長のサイクルのみが含まれている場合、メイン戦略はすべての囚人に対して有効です。100 人の囚人の場合、メイン戦略を使用して全員が成功する確率は約 7.9589% であり、各囚人が独立してランダムに引き出しを開けた場合に得られる確率(1/2) 100よりも大幅に優れています。
囚人は1から99までの引き出しを開けることができ、全員が自分の番号を見つけるか、全員が自分の番号を見つけられないかのどちらかになります。彼らはこれを100日間連続で100回行わなければなりません。1日だけで囚人が自分の番号を見つけないことを選択した場合、つまり各囚人が自分の番号が書かれた引き出しだけを開けた場合、全員が36.79%の確率で成功します。しかし、これを100回連続で試すと、成功率はほぼ0%になります。しかし、各囚人がメイン戦略に従って99個の引き出しを開けると、1人の囚人が自分の番号を見つけられない唯一のケースは、長さ100の単一のサイクルを持つ順列であり、その場合、すべての囚人が同じ結果になります。[ 9 ]