xyz-log.
トップへ戻る
Trivia / 2023.10.12 / 5 分 ...

論理パズル傑作選(前編)- 緑の目のドラゴンから海賊の金貨まで

ZOLXA

ZOLXA

Mastermind

論理パズル傑作選
1 / 2
このシリーズの記事一覧
  1. 1. 論理パズル傑作選(前編)- 緑の目のドラゴンから海賊の金貨まで
  2. 2. 論理パズル傑作選(後編)- 視点を変えれば一瞬で解ける美しい問題
論理パズル傑作選(前編)- 緑の目のドラゴンから海賊の金貨まで

Sponsored

論理パズルは、直感を裏切り、思考の限界を押し広げてくれる知的な遊びです。ここでは、世界的に有名な4つの傑作パズルを紹介します。


1. 緑の目のドラゴン

問題

幼女が、ドラゴン100匹が生息する島を訪れました。

ドラゴンは100匹とも緑色の目をしています。

この島には不思議なルールがあります:

「もし自分が緑色の目をしていると分かった場合、その日の夜0時に島を出ていかなければならない」

この島に鏡はなく、ドラゴンは目の色について話すことを禁じられています。つまり、ドラゴンたちは自分の目の色を知りません。もちろん、お互いの目が緑色なのは見えています。

幼女は島を出るとき、すべてのドラゴンにこう告げました:

「この中に少なくとも1匹、緑色の目をしたドラゴンがいる」

なお、ドラゴンはきわめて論理的な生物で、すべてのドラゴンは1日1回同時に広場に集合します。

これから何が起こるでしょうか?

答え

100日目の夜に、100匹すべてのドラゴンが一斉に島を出ていきます。

解説:数学的帰納法

ドラゴンの数を減らして考えると理解しやすくなります。

1匹の場合

そのドラゴンは自分以外の誰も見ていません。幼女の発言で「それは自分のことだ」と即座に理解し、1日目の夜に出ていきます。

2匹(AとB)の場合

AはBの緑の目を見ています。BもAの緑の目を見ています。

  • 1日目の夜: Aは「もしBが唯一の緑色なら、Bは今日出ていくはずだ」と様子を見ます。Bも同じことを考えます。誰も出ていきません。
  • 2日目の朝: AはBがまだいるのを見て、「Bは私の目も緑だと見ているからだ」と悟ります。2日目の夜に2匹とも出ていきます。

3匹の場合

同様の論理で、3日目の夜に全員が出ていきます。

100匹の場合

99日目の夜までは誰も動きません。99日目の夜に誰も出ていかなかった事実を確認した翌朝、全員が「自分が100匹目の緑色だ」と理解します。

なぜ幼女の発言が必要だったのか?

「全員が他の99匹の緑の目を見ているのだから、緑の目がいることは最初から知っていたのでは?」

重要なのは、幼女の発言によって**「『緑色の目が少なくとも1つある』という事実を、全員が知っていることを、全員が知っている(共有知識化)」**という状況が生まれたことです。この「共通の起点(0日目)」が設定されたことで、論理の連鎖がスタートしたのです。


2. 5人の海賊と100枚の金貨

問題

5人の海賊(偉い順にA、B、C、D、E)が、100枚の金貨を手に入れました。海賊の掟により、以下のルールで分配します:

  1. 一番偉い海賊が分配案を提案する
  2. 提案者を含む全員で投票を行う
  3. 賛成が半数以上であれば採用、半数未満なら提案者は処刑され、次に偉い海賊が提案者になる

海賊たちの性質

  • 全員がきわめて論理的で賢い
  • 非常に強欲で、自分が1枚でも多くの金貨を得ることを最優先
  • 金貨の枚数が同じなら、他人が死ぬのを見るのが好き
  • 優先順位:命 > 金 > 他人の死

一番偉い海賊Aは、どう分配すべきでしょうか?

答え

「A:98枚、B:0枚、C:1枚、D:0枚、E:1枚」

解説:逆行分析

人数が少ない最悪のケースから逆算して考えます。

DとEの2人だけの場合

Dは自分に投票すれば50%で可決。**「D:100枚、E:0枚」**で総取り。

C、D、Eの3人の場合

Cが死ぬと「D総取り、E:0枚」になります。Eは次なら0枚なので、今なら1枚でも喜んで賛成します。 よってCの必勝法は**「C:99枚、D:0枚、E:1枚」**

B、C、D、Eの4人の場合

Bが死ぬと「C:99、D:0、E:1」になります。次の世界で0枚になるDを買収します。 よってBの必勝法は**「B:99枚、C:0枚、D:1枚、E:0枚」**

A、B、C、D、Eの5人の場合

Aが死ぬと「B:99、C:0、D:1、E:0」になります。次の世界で0枚になるCとEを買収します。

結論: トップ(A)が最小限の利益で「弱者」を買収し、暴利を貪れるという世知辛い結果に。


3. 10人の死刑囚と赤白の帽子

問題

10人の死刑囚が階段に一列に並んでいます。全員が前を向いており、自分の前に並んでいる人全員を見ることができますが、後ろは見えません。

看守が彼らの頭にランダムに**「赤」か「白」**の帽子をかぶせました。

ルール

  • 一番後ろ(10番目)から順に、自分の帽子の色を答える(「赤」か「白」のみ)
  • 正解すれば釈放、間違えれば処刑
  • 後ろの人の答えと銃声は全員に聞こえる
  • 事前に作戦会議が可能

確実に9人を助ける方法は?

答え

パリティチェック(偶奇判定)作戦

一番後ろの人(10番目)は、**「自分より前の赤い帽子の数が『偶数』なら赤、『奇数』なら白と言う」**という合図役に徹します。

解説

  1. 10番目の役割: 前の9人の赤い帽子を数え、偶数なら「赤」、奇数なら「白」と叫ぶ(自身の生死は50%の運)

  2. 9番目の推理: 後ろの声を聞き、自分の前(1〜8番目)の赤を数える。「全体で偶数」なのに「残りも偶数」なら自分は白、「残りが奇数」なら自分は赤。

  3. 以降: これを繰り返すことで、前の9人は100%正解できます。

これはコンピュータ通信の**「パリティビット」**と同じ仕組みです。


4. 暴君と1000本のワイン

問題

王様が宴会のために1000本のワインを用意しましたが、1本だけに猛毒が混入されています。

毒の性質

  • 数滴でも口にすると、正確に24時間後に必ず死ぬ
  • 24時間経つまで症状は出ない
  • 解毒剤はない

宴会は24時間後。王様は10人の死刑囚を使って毒見をさせます。

ルール

  • ワインを飲ませるチャンスは「今」の1回だけ
  • 複数のワインを混ぜて飲ませることも可能

たった10人で、1000本から1本の毒入りを特定する方法は?

答え

2進数作戦

死刑囚10人を「2進数のビット(桁)」に見立てます。

死刑囚担当する桁
A1の位(2^0 = 1)
B2の位(2^1 = 2)
C4の位(2^2 = 4)
......
J512の位(2^9 = 512)

解説

  1. ワインに1〜1000番の番号を振る
  2. 番号を2進数に変換
  3. **「その桁が『1』になっている番号のワイン」**を担当の死刑囚に飲ませる

例:

  • ワイン3番(2進数: 0000000011)→ AとBに飲ませる
  • ワイン1000番(2進数: 1111101000)→ J, I, H, G, F, D に飲ませる

24時間後、**「誰が死んだか」**を見て、死んだ死刑囚の担当する数字を足し合わせると、毒入りワインの番号になります。

10人で 2^10 = 1024 通りを識別できるため、1000本なら余裕で特定可能です。


まとめ

パズル使う思考法
緑の目のドラゴン数学的帰納法、共有知識
海賊と金貨逆行分析(後ろから考える)
死刑囚と帽子パリティチェック(偶奇判定)
暴君とワイン2進数、情報理論

論理パズルは、日常では使わない思考回路を鍛えてくれます。後編では、さらに美しいパズルを紹介します!