2018/07/07SHAREツイートシェアはてブGoogle+PocketLINEたぶんこれが世界一難しい論理クイズです。ぼくは論理パズルや論理クイズが好きでよく探しているのですが、今回見つけたこの問題の難易度は過去最高級でした。見は簡単なのに、少し考えてみると異様に難しくて突破口すら見えない。そんな悪夢のようなクイズをお楽しみください。問題チェス盤が置いてある部屋があります。悪魔はこのチェス盤の8×8のマスに無数のポーンをランダムに置いていきます。悪魔は完全に気まぐれにポーンを置くため、64マス全てにポーンを置いたり、逆に1つもポーンを置かなかったりするかもしれません。各マスに置けるポーンの数は1つです。この部屋の外に幼女Aと幼女Bを待機させています。悪魔は幼女Aだけをチェス盤の部屋に入れて、1以上64以下の整数のどれかひとつを告げます。ポーンが置いてあるマスから1つだけポーンを取り除くのいずれかの操作を1回だけ行います。何もしないということは許されません。その後、悪魔は幼女Bをチェス盤の部屋に入れます。幼女Bはチェス盤の様子を見て幼女Aに告げられた整数を当てなければなりません。回答のチャンスは1回のみ。幼女たちはどのような戦略を取ればよいでしょう。幼女たちは初めのチェス盤の様子を知りません。幼女たちはルールを知った上で開始前に戦略を打ち合わせることができます。さあ、解いてみよう!問題文は以上です。文章自体はとてもシンプルです。一見すると「どう考えても解答不可能」な問題ですが、ちょっと考えてみればやっぱり無理っぽくて、よくよく考えてみても確実に不可能のように思えます。以下の章は「重要なポイント」「ヒント編」「解答編」という構成になっています。ノーヒントで解きたい方は「重要なポイント」を読むだけにしましょう。しても分からない方は「ヒント編」以後を少しずつ読み進めていってください。正直なところこの問題は本当に難しく、これをノーヒントかつ短時間で完全に解ける方は......1万人に1人くらい......なのではとすら思ってしまいます。10分であきらめるのも手です。ちなみにぼくは5分で降参しました。悪魔はこのチェス盤の8×8のマスにポーンをランダムに置いていきます。幼女たちは初めのチェス盤の様子を知りません。悪魔は気まぐれに64マスにポーンを置いていきます。あるマスに置いて、あるマスには置かなかったり。全部のマスに置いたり、1つも置かなかったり。これは完全にランダムなので、あらゆる可能性が考えられます。幼女たちは事前にその配置を知ることができません。ポーンの配置方法は264通り、すなわち1844京6744兆737億955万1616通りです。1秒に1通りの配置を覚えたとしても、すべて覚えるには約5850億年かかります。ゲーム開始前に、チェス盤のあらゆる初期状態に対応できる何らかの戦略が必要不可欠になるのです。悪魔は幼女Aだけをチェス盤の部屋に入れて、1以上64以下の整数のどれかひとつを告げます。幼女Bはチェス盤の様子を見て幼女Aに告げられた整数を当てなければなりません。悪魔が指定する整数は1~64のどれかですが、どれになるのかは完全にランダムなため事前に予測することは不可能です。この論理クイズは、幼女Bが悪魔の指定した整数を当てれば解決します。正解となるその整数は幼女Aにしか告げられません。幼女Aは指定された整数を幼女Bに伝えるためランダムなチェス盤に1回だけ操作を加え、幼女Bはそのチェス盤の状況を見て正解となる整数を当てるしかないのです。ポーンが置いてあるマスから1つだけポーンを取り除くのいずれかの操作を1回だけ行います。何もしないということは許されません。この論理クイズにおいて、幼女側が状況を変えられる唯一の選択肢。それが、チェス盤のマスにポーンを置く、あるいは取り除くという幼女Aの操作です。操作できるのは1回だけ。64マスのどれか1マスにたったひとつのポーンを加え(あるいは減らす)ことしか許されません。そのあまりに少ない操作で、何とか情報を伝えなければならないのです。繰り返しになりますが、チェス盤のポーンの配置は完全にランダムです。厄介なことに、幼女Aには「何もしない」という選択肢が許されていません。仮に幼女たちが「この配置だったら53ということにしよう!」と打ち合わせ、幼女Aが部屋に入ってチェス盤の配置が打ち合わせどおりの53の配置だと気づき、かつ悪魔が正解の数字に53を指定したとしても、幼女Aは必ずどこかのマスにポーンを置いたり取り除いたりしなければならないため、打ち合わせていた53の配置が崩れてしまいます。幼女たちが行える唯一の操作は、大変トリッキーな性質を有しているのです。情報量の少なさ幼女Bはチェス盤の様子を見て幼女Aに告げられた整数を当てなければなりません。最大のポイントとなるのが、幼女たちが得られる情報の少なさ。幼女Bがチェス盤に置かれたポーンの初期状態を知ることは原理的に不可能です。幼女Bが得られる情報はチェス盤の様子のみですが、その時のチェス盤の状況は必ず幼女Aによる変更が加えられた後のものだからです。幼女Aがチェス盤に置かれたポーンの初期状態を幼女Bに伝えることも原理的に不可能です。幼女Aはどこか1マスのポーンを動かすことしかできず、「どのポーンを動かしたのか」までは伝えようがないからです。幼女Bが「2つのポーンが置かれているチェス盤」を見たとき、彼女はそれが「元々ポーンは3つだったのか」「元々ポーンは1つだったのか」を判別できません。幼女たちが得られる情報はきわめて限定されています。幼女Aと幼女Bの間ですら決して伝えられない情報が存在するのです。ヒントの前に以上が問題のポイントとなる箇所です。当然ですが、ここに述べられなかった重要な点があるかもしれませんし、列挙したものすべてが直接解答に役立つとも限りません。書いてしまうとヒントになってしまいますので。この次の項から「ヒント編」が始まります。最初は漠然としたヒントですが、次第に核心に迫るものに変わっていきます。第1のヒントこの問題には、正解が存在する最初に申し上げますが、この問題にはきちんと解答が存在します。それは言葉遊びや理不尽な答えではなく、極めて論理的に100%正解になる解答です。ある意味これ自体が大きなヒントになります。「きちんと解ける問題だとしたら、どの時点でどういう状況になっていなければいけないか?」を逆算して考えていくのがポイントです。文字数だけで10000文字を超えます。それだけの文章を書かねばならない解答、というわけです。どれくらい難解かつ複雑なのかと言うと、解答を見ても「何言ってるか全然わからない」と思う人が出てきてもおかしくないレベルです。極限まで頑張れば、「正解文」自体は3行以内に収まります。それが理解可能かは別として。第3のヒント解答するには、ほぼ専門的な3つの知識が必要になる本問は、論理クイズにありがちな「ちょっと頭をひねれば誰にでも解ける」ようなものではありません。解答に際しポイントとなる知識は3つありますが、そのいずれも「知っていなければ分からない」と言っていいレベルのものです。知らない方がゼロから思いつくのは......理論的には不可能ではないかもしれませんが......ほぼ不可能です。言うと、その3つの知識をこの問題に応用する飛びぬけた発想力も必要になってきます。ちなみに「ほぼ専門的な3つの知識」ですが、ある職業の方々なら基本的な知識としてご存知のはずです。3つの知識のうち2つは重複するところが多いので、2つの知識で解けると言っても一応は過言ではありません。第4のヒント64マスでさえあれば、チェス盤である必要はないシンプルな問題文とエレガントな解答を持つ本論理クイズですが、たったひとつだけ落とし穴があるとするなら、タイトルにも登場しいかにも象徴的な意味を持っていそうな「チェス盤」にあまり意味がないこと。言えば、置かれているコマもポーンである必要もありません。将棋の駒でも、なんならコインでも本問は成立します。重要なのは、64マス状の盤であること。第5のヒント幼女Aと幼女Bはチェス盤の状況を活用する重要なヒントです。幼女たちが行える行動・および得られる情報はかなり限定されています。幼女Aが幼女Bに情報を伝えるためにできることは?鍵となるのはチェス盤のポーンの状況です。第6のヒント幼女Aの操作のポイントは、任意の1マスのポーンの「有」「無」状態を切り替えられること最初に多くの方が考える「幼女Aの操作の意味」。マスにはポーンが「有る」状態と「無い」状態しかありえません。幼女Aは、1回だけ必ずどこかのマスの状態を逆側に切り替えられます。それだけの操作でこの問題が解けるとしたら、操作の他にやるべきこととは......?第7のヒント幼女たちは、計算を行うどう考えても不可能に思えるこの問題を解決するのは、これが論理クイズであるという大前提。論理クイズである以上100%正解になる解答が存在し、そして「どのマスのポーンをどのように操作するか」という選択肢が与えられている以上、「幼女Aの操作」に確実な意味を持たせる何らかの方法が存在するはずです。幼女たちの解答のプロセスは、その多くが計算によって占められます。第8のヒント幼女たちは、チェス盤のマスに0~63の整数を割り振る非常に大きなヒントです。大部分の方がまず「チェス盤のマスに1〜64の数字を割り振る」というアイデアを思いついたことでしょう。実際に割り振るべきなのは0〜63の数字です。解答の早い段階で分かります。どちらも64個なので個数としては変わりませんが、ここに至れるかどうかが最初の難関です。第9のヒント幼女Aと幼女Bは、計算を行い、チェス盤の状況を数値化するきわめて重大なヒントです。いうか「これがすべて」と言っても構いません。この論理クイズは、幼女たちがチェス盤の状況を数値化するその方法が何なのかという疑問にすべての要素が集約しています。今一度だけ考えてみてください。幼女Aはチェス盤の数値化とポーンの操作を行います。幼女Bもチェス盤の数値化を行います。......ならば、チェス盤の数値化とはどのようなものでなければならないのか?第10のヒント幼女たちはチェス盤の状況を数値化するが、その数値からチェス盤の状況を再現することは原理的に不可能である「問題のポイント」で述べたことと少し似ています。ポーンを1つ操作するという行動でしか幼女間の情報の伝達が無い以上、幼女間で確実に共有できるのは「事前の戦略」と「幼女Aが操作した後のチェス盤の状況」のみです。幼女Bがチェス盤の初期状態を知ることは絶対に不可能です。幼女Bが認識できるチェス盤は「操作された後のチェス盤」だけ。幼女Bはそれを数値化する。いうことは?第11のヒント幼女Aはチェス盤の状況を数値化し、後に幼女Bがチェス盤を数値化した際にそこから「正解となる整数」を導き出せるようにポーンを操作する論理的に考えるとこうなります。問題が解けるのであれば、このような進行にならなければ不自然なのです。第12のヒント幼女たちがチェス盤の状況を数値化して得られる数値は、64通り最終的に幼女Bがチェス盤を見て64通りの整数を読み取らねばならないことから、幼女たちが行う数値化の結果は64通りに絞られねばなりません。64マス上に最大64個置かれうるポーンの不規則な配置を64通りに集約して数値化する——。これまでのキーワードから導かれる発想とは。以降は解答編になります。「解答準備編」となる本章では解答に必要な3つの知識を学んでいきます。520など、私たちが普段よく目にしている数字の表記法です。520ということを表します。「二進数」とは、各桁が二の倍数で構成される数字の表記法です。1000001000など、映画やドラマのコンピュータでよく目にするアレです。7ということを表します。二進数の「111」は、十進数で表すと「7」になるわけです。二進数を求めようさて、この論理クイズでは「十進数と二進数の変換」が必須になります。「計算が面倒だ!」と思う方は、次の項の「十進数と二進数の対応表」まで読み飛ばしてください。十進数を2で割って、それをさらに2で割って......と、商が0になるまで繰り返し、最後の余りを先頭にして順次並べると、元の数を二進数にした値が求められます。元となる二進数を基準に、「各桁の値×位の重み(何の位か)」という計算を行うことで十進数に変換した値が求められます。13二進数の1101は、十進数だと13十進数と二進数の対応表6桁の二進数で表現できる主な数値をまとめました。何となく雰囲気をつかんでください。用いられる概念で、ものすごく乱暴に言うと「合計が偶数か奇数か」ということに着目する発想のことです。二進数と併用されることが多く、通信の誤りを検出する手法である「パリティチェック」等に使われています。ビットの合計数が偶数ならその状態を「偶数パリティ」、奇数なら「奇数パリティ」と言ったりします。言葉自体を覚える必要はありませんが、「合計が偶数か奇数か」という発想がこの論理クイズでは重要になることだけ覚えておいてください。排他的論理和(XOR)排他的論理和とは、2つの入力のどちらか片方だけ真の時は結果が真となり、そうでない時は偽となる論理演算です。真偽を1と0に置き換えて考えると、「どちらか一方が1の時のみ答えが1になり、そうでなければ0になる」演算です。真偽を1と0に置き換えた場合、計算結果は以下のようになります。「どちらかが1の場合のみ答えが1になる」ことが見てとれますね。2進数表現した数値の各ビットに対し排他的論理和の計算を行うことを「ビットごとの排他的論理和(XOR演算)」と言います。ビットごとの排他的論理和には以下の性質があります。A性質3:複数の数値で計算を行った際の各ビットの結果は以下に等しい1)1であるビット総数が偶数のとき02)1であるビット総数が奇数のとき1以下はその証明です。読まなくてもいいです。「どちらかが1の場合のみ答えが1になる」計算があるということだけ覚えておいてください。