【論理パズル】論理的思考と発想力を鍛える超難問に挑戦しよう!【赤目の村】


謎解きが好きな方にはぴったり、論理パズルのお時間です。

今回の問題は「赤目の村」と題しました。
こちら完全オリジナルの作問ではなく、ハーバード大学物理学科で配布された「今週の問題」シリーズより「Green eyed dragons(緑色の目をしたドラゴン)」を原型としたアレンジになります。

少し和風ホラーのような、サスペンスのような雰囲気に改題してみました。

論理パズルというのは、文章で説明された状況から論理的に矛盾しないよう推論を深めていくことで解答を導き出すような問題のこと。

専門知識や言外の深読み、言葉遊びのようなものは出てきません。
論理的思考のみを頼りに答えを導いてみてください。

かなり難問なので、きっと解答を眺めるだけでも思考力のトレーニングになりますよ。

目次

問題

赤目の村

人口わずか100人のとある小さな村。
その村の住人には昔から特異な遺伝子が受け継がれているらしく、通称「赤目」の子が産まれることが知られていた。
赤目とはその名のとおり、生まれつき血のように真っ赤に染まった眼球をもつ人間である。

しかし村人同士で目の色について話題を口にするのは厳禁とされており、また村の中には鏡など自分の姿を視認できるようなものは一切存在しない。
そのため赤目の人間は、自分自身が赤目であることは生涯知ることがないまま人生を送ることになる。
(当然ほかの村人たちから見れば彼が赤目であることは一目瞭然であるが、決して口外はしない。)

そしてこの村には、次のような絶対の規則がある。
「もし自分が赤目であることを知った者は、その日の夜に自ら命を絶たなければならない」
すべての住民はこの規則を承知しており、違反を決して許さないこと、自身も徹底的に従うことを誓っている。

さて村人たちは毎朝、村の広場で全員参加の集会を開いている。

ある朝、いつものように集会をしていると、そこへたまたま通りすがりの旅人がやってきて、
「赤目の人間がいる!」
と全員の前で叫んでしまった。

その旅人に、村人たちの視線が一斉に集中する。
彼はその異様な光景にぎょっとしてしまう。

なんと実は、この村の住人は100人全員が赤目だったのである…。

では、ここで問題。

目の色についての旅人の発言を聞いてしまった赤目の村の住人たち。
それにより「この村には少なくとも1人以上の赤目が存在する」という情報が全員の中で共有されたことになります。

この日をきっかけに、村ではこれから何が起きるでしょうか?

※すべての村人は、既知の情報にもとづき極めて論理的な思考をするものとします。

思考の糸口

問題の解答を紹介する前に、いくつかヒントも掲載します。

自分の力で答えにたどり着きたい方は、適宜ご参考ください。

ヒント(小)

「これから何が起きるでしょうか?」とぼんやりした問いですが、これから起きる出来事とはズバリ、「自分が赤目であることを知った」ことによる村人の死です。
しかし、なぜ?いつ?どれくらいの人が? 村人の視点で推論の道筋を考えてみましょう。
そのあたりの詳細を突き止めることが、この論理パズルのゴールになります。

ヒント(中)

旅人の発言を受けたところで、村人はすぐに命を絶つわけではありません。
「赤目の人間がいる!」とだけ言われても、自分がそれに該当するとまでは言い切れませんからね。
自分以外の99人がすべて赤目なのは見てのとおりですが、それでも自分だけは赤目でないかもしれません。

しかし日数が経つにつれ、新しく得られる情報もあります。
毎朝の集会で「ほかの村人がまだ死んでいないこと」、つまり「昨晩の段階では誰も自分が赤目であると確証を得られていなかったこと」が確認できるのです。

ヒント(大)

100人の村人の立場を一度に想像するのは複雑すぎるかもしれません。
まずは単純化して「この村の住人が2人だけだった場合」のシナリオを、村人視点で考えてみましょう。

自分自身の目の色はわからない。もう一人の彼は赤目である。
そこへ外部からの「赤目の人間がいる!」の発言。
事態は一変するはずです。もう一人の彼は今晩、死ぬのか?死なないのか…?

この場合の結末が見えたら、では同様に「村人が3人だった場合」はどうでしょうか。

解答と解説

解答

旅人が来てから100日目の夜に、100人すべての村人が一斉に自殺する。

どうでしょう、解けましたか?

よくわかる解説

100人すべての村人が一斉に自殺したということはつまり、100人の村人が「自分が赤目である」という事実を同じタイミングで確信したということです。
そのタイミングというのが、旅人が「赤目の人間がいる!」と叫んでから100日目だったのでした。

旅人がもたらしたのは、「この村には少なくとも1人以上の赤目が存在する」という情報。
これによりいったい何が変わったというのでしょうか?

…それでは、村人たちが自分の目の色を知るまでの推論の過程を追っていきましょう。

村人が2人だった場合

いきなり村人100人を考え出すと大変なので、まずは単純化させて「村人が2人だけの状況」について考えてみます。

2人を仮に「村人A」「村人B」とおきましょう。
村人Aは、村人Bが赤目であることを知っています。村人Bは、村人Aが赤目であることを知っています。
2人とも、自分が赤目かどうかはわかりません。

旅人の「赤目の人間がいる」発言を受けて、村人Aはこう考えるはずです。

村人A

もし私が赤目ではないとすれば、旅人の発言を受けて村人Bは自身が赤目であることをすぐに確信し、初日の夜に自殺するはずだ…。
逆にもし2日目まで村人Bが生きていたら、私も赤目だということになる。

このとき、村人Bのほうも同じように考えるでしょう。

村人B

もし私が赤目ではないとすれば、旅人の発言を受けて村人Aは自身が赤目であることをすぐに確信し、初日の夜に自殺するはずだ…。
逆にもし2日目まで村人Aが生きていたら、私も赤目だということになる。

このように考えた2人は、初日の夜はひとまず様子見。
2日目の朝には、集会で顔を合わせることになります。

そしてようやく確信するのです。

村人A,B

なんということだ、私は赤目だったのか…。

村人AとBは、2日目の夜に自ら命を絶つことでしょう。
これが「村人が2人だけの状況」で起きるシナリオです。

「ほかの村人が自殺したかどうか」を確認することで、間接的に自分の目の色を推論できる。
これが今回の問題を解くうえでの重要なポイントとなります。

村人が3人だった場合

それでは、「村人が3人の状況」ではどうなるでしょう。
「村人A」「村人B」「村人C」がいるケースです。

ちょっとややこしいですが、同じように村人Aが「自分が赤目ではない」と仮定したときの世界を想像してみてください。

村人Aが仮定した世界

村人Aが仮定した世界にいる村人B目線では、こういう状態になっています↓

  • 村人Aは誰から見ても赤目ではない
  • 自分は赤目かどうかわからない
  • 村人Cは赤目である

ということは、ここで仮定世界の村人Bはこのように考えるはずです。

仮定世界の村人B

もし私が赤目ではないとすれば、旅人の発言を受けて村人Cは自身が赤目であることをすぐに確信し、初日の夜に自殺するはずだ…。
逆にもし2日目まで村人Cが生きていたら、私も赤目だということになる。

村人Aは赤目でない以上、明らかに旅人の発言の対象ではないので、推論には関係してきません。
重要なのは村人Cが初日に死ぬかどうかだけ。

仮定世界の村人Cも条件は同じなので、同じように考えます。

仮定世界の村人C

もし私が赤目ではないとすれば、旅人の発言を受けて村人Bは自身が赤目であることをすぐに確信し、初日の夜に自殺するはずだ…。
逆にもし2日目まで村人Bが生きていたら、私も赤目だということになる。

お気付きのとおり、これは先ほど「村人が2人だった場合」に登場した推論とまったく同じですね。

つまり、村人Aが「自分が赤目ではない」と仮定した世界では、村人Bと村人Cは「村人が2人だけの状況」で起きるシナリオをたどり、2日目の夜に2人とも自殺することになるわけです。

では、これをふまえて整理しましょう。

「村人が3人の状況」における村人Aの推論は、要するに次のとおりとなるはずです。

村人A

もし私が赤目ではないとすれば、村人Bと村人Cは「村人が2人だけの状況」のシナリオに従い、2日目の夜にどちらも自殺するはずだ。
逆にもし3日目まで村人Bと村人Cが生きていたら、私も赤目だということになる。

ほかの村人もやはり同様ですね。

村人B

もし私が赤目ではないとすれば、村人Aと村人Cは「村人が2人だけの状況」のシナリオに従い、2日目の夜にどちらも自殺するはずだ。
逆にもし3日目まで村人Aと村人Cが生きていたら、私も赤目だということになる。

そして3日目の朝に3人が顔を合わせ、彼らは同時に自らが赤目であることを悟ります。

このようにして、
「村人が3人の状況」では、3日目の夜に3人すべての村人が自殺する
というシナリオが導かれます。

村人の人数と結末との規則性

以上のように見ていくと、各シナリオには共通の規則性があることに気づきます。

「村人がN人のケースでは、N日目の夜にN人すべての村人が一斉に自殺する」

というものですね。

念のため、「村人が4人の状況」もさらっと確認してみましょう。

まず村人Aは「自分が赤目ではない」と仮定する。

村人Aが仮定した世界

村人Aが仮定した世界にいる村人B目線では、こういう状態↓

  • 村人Aは誰から見ても赤目ではない
  • 自分は赤目かどうかわからない
  • 村人Cと村人Dは赤目である

赤目でない村人Aは推論に関係なくなるから、「村人が3人の状況」と実質同じ。
この世界の村人Bもまた「自分が赤目ではない」と仮定する。

村人Aの仮定世界の村人Bが仮定した世界

村人Aの仮定世界の村人Bが仮定した世界にいる村人C目線では、こういう状態↓

  • 村人Aと村人Bは誰から見ても赤目ではない
  • 自分は赤目かどうかわからない
  • 村人Dは赤目である

赤目でない村人Aと村人Bは推論に関係なくなるから、「村人が2人の状況」と実質同じ。
この世界の村人Cもまた「自分が赤目ではない」と仮定する。

「とすれば初日に村人Dが自殺するはず」と、この世界の村人Cは考える。
しかしそうならなかったので、2日目に自身が赤目であると知る。

「とすれば2日目に村人CとDが自殺するはず」と、この世界の村人Bは考える。
しかしそうならなかったので、3日目に自身が赤目であると知る。

「とすれば3日目に村人B、C、Dが自殺するはず」と、現実の村人Aは考える。
しかしそうならなかったので、4日目に自身が赤目であると知る。

…というのを、まとめるとこうなります↓

村人A

もし私が赤目ではないとすれば、村人Bと村人Cと村人Dは「村人が3人の状況」のシナリオに従い、3日目の夜に全員自殺するはずだ。
逆にもし4日目まで村人Bと村人Cと村人Dが生きていたら、私も赤目だということになる。

同じ推論を村人B、C、Dも行うため、
「村人が4人の状況」では、4日目の夜に4人すべての村人が自殺する。

たった4人の場合を考えるだけでも、頭が混乱してきますね…。

仮定の世界のそのまた仮定の…というのが入れ子状に続いていくので大変ややこしいですが、結局村人が何人いても推論の構造は同じです。

「村人がN人のケースでは、N日目の夜にN人すべての村人が一斉に自殺する」

したがって問題となる100人の村では、100日目の夜に100人すべての村人が一斉に自殺するというのが答えとなるわけです。

補足:逆にも考えてみよう

発想を変えて、逆に考えてみてもいいかもしれません。

もし旅人が「この村には少なくとも100人以上の赤目が存在する」と情報を与えたらどうなるか。

これは明らかに、初日の夜に全村人が自殺することが予想できるでしょう。
どう考えても自分もその赤目に含まれてますからね。

じゃあ、「この村には少なくとも99人以上の赤目が存在する」ではどうでしょうか。

この場合は、少なくとも初日には確証を得られないはずです。
自分以外の99人は旅人の言う赤目だけれども、やっぱり自分だけは赤目でないケースが否定できない。

だから誰も自殺に至らず、2日目がやってくる。
そこでようやく自分も赤目だったことを確信するわけです。
もし自分が本当に赤目でないのなら、ほかの村人たちは全員初日の段階で自身の赤目を確信するはずですからね。

こうして考えるとやはり、

「100人の村で『少なくともN人以上赤目』とわかった場合、(101 – N)日目にすべての村人が一斉に自殺する」

という規則性があることがわかります。

今回の問題では「この村には少なくとも1人以上の赤目が存在する」ことを知らされたので、その日が来るのは100日目。
先ほどと同じ解答を得ることができました。

旅人がもたらした情報とは何だったのか

まあ理屈はわかるのだけど、直感的にはやっぱり不思議な感じがしてしまいます。

だって村人たちは最初から、99人の赤目に囲まれて暮らしていたわけですからね。
いまさら旅人に「赤目がいる」なんて言われたところで、「そんなの知ってるよ」という話です。

では、どうして旅人の発言が村人の全滅を招く結果につながったのか。

端的に言えば、旅人はすべての村人が赤目でない可能性を徹底的に消してしまったのです。

そんな可能性最初からゼロじゃない?と思えるのは、あくまで現実の村人の視点です。
村人の仮定の中、論理の世界ではそうとは限りません。

たとえば村人Aが「自分が赤目ではない」と仮定したとき、村人Aがその仮定のもとで思い描く村人Bは、
「この村にいる赤目は全部で98人かもしれない」
と思っているだろうと推論できますよね。
100人から村人Aと村人Bを除いた98人です。

しかし「赤目は全部で98人」などという状況は、現実世界にはすでにありえないはずです。
実際に99人の赤目が見えているんだから。
それでも、村人Aの仮定の中(の村人B視点)では「赤目は全部で98人」の状況が想定しうる。

同じように、村人Aの仮定の、そのまた仮定の奥には、「赤目は全部で97人」「赤目は全部で96人」…という状況もまた想定できるだろうことは、これまでの解説でも見てきたとおりです。

「自分が赤目ではないと仮定すれば…」の思考をどんどん深めていくと、村人Aの仮定の中の中の中の奥深くでは、村人の誰かが「この村には赤目は1人もいないかもしれない」と思っている状況が想定できるところまで行き着くでしょう。

そしてその幻想が徹底的に否定されない限り、前提である「自分が赤目ではない」の仮定が否定されることもありません。
だからこそ赤目の村の住民たちは、自身が赤目である確証が得られないまま、これまでずっと生き続けてくることができました。

旅人が村人たちに共有した「この村には少なくとも1人以上の赤目が存在する」の情報は、その最後の幻想を完全に否定する役割を担っていたわけです。

「赤目の人間がいる!」の声が響いた瞬間、村人たちの緻密な論理による仮定の世界が、奥の方から崩れ始めました。
毎朝の集会での生存確認がカウントダウンとなり、100日目には「自分が赤目ではない」の仮定が完全に否定されてしまうかもしれないことを、村人たちは覚悟します。

村人の視点に立ってみましょう。
旅人が叫んだ時点であなたの未来は、次の2パターンのどちらかになることが確定してしまいました。

避けられない未来

パターン1:
100日後の集会に来るのは自分だけ。
そこで自分が赤目でないことと、自分以外のみんなはすでに死んでしまったことを悟る。

パターン2:
100日後の集会はいつも通り全員が参加。
そこで自分が赤目であることと、今晩のうちに自分も含めすべての村人が死ぬことを悟る。

どちらへ転んでもバッドエンド。
あなたはただ、その最後の日をじっと待つほかないのです。

通りすがりの旅人が村人たちの視線にぎょっとしたのは、彼らの瞳の奥にはすでに深い絶望の色が浮かんでいたからかもしれません。
赤目の村の住人は最後の100日間を、どのような思いで過ごすのでしょうね。

以上、「赤目の村」でした。
次回の論理パズルもお楽しみに。


この記事を書いた人

色んな事に興味が尽きない "興味の窓" の管理人です。
大学時代の専攻は心理学。公務員を経て、現在はフリーのデザイナー。
読んでくれた方の興味が広がるきっかけとなるようなコラムを発信してみたいと思い、ちびちびとサイトを更新しています。

目次