目次
半世紀も前出された問題の答えを見つけた
だいぶん前の話です。情報処理試験技術者試験の本を立ち読みすると、高校時代に出された数学の問題の答えを見つけたことがあります。私が高校生のときに数学教師が出題した問題ですから、半世紀近くも前の話です。
数学の先生が「論理」の課外授業がありました。電卓も普及していないくて、デジタルが何なのかもわかっていなかった時代です。当時は数学に「論理」という項目もなかったのですが、たぶん、新しく論理が加わるというので、学んでおいた方がいいと考えて教えてくれたんだと思います。
10枚くらいの謄写版で印刷したざら紙を半分に折り、それを重ねて閉じた冊子をもとに授業を受けました。
捕らわれた論理学者が脱出する方法
課外授業では論理とは何か、真、偽、AND、NOT、ORなどを習いました。そして、最後にこんな問題が出されました。
- 論理学者が捕らわれて牢に入れられてしまいました。
- その牢にはA、B二つの出口があります。
・ひとつの出口からは出れば自由になれます。
・もうひとつから出れば殺されてしまいます。 - それぞれの出口には門番が立っています。
・片方の門番は真実を話します。
・もう片方は真実とは逆の答えを話します。 - 論理学者には「門番A」か「門番B」のどちらかに1回だけ質問が出来ます。
門番は「はい」、「いいえ」と答えます。 - 論理学者は1度だけ質問をして自由になったのが、その質問とはどんなものか?
真、偽、AND、NOT、OR、を組み合わせて質問をすれば良いのかも・・・そう思って考えたのですが、答えは分かりませんでした。
答えの発表はなし。考えてみてくださいで終り。そのまま高校を卒業してしまいました。
友人に聞いても答えは分かりません。私にとって、ずっと、その答えは謎として残りました。
(図は「Cacoo」を使って作りました。)
論理とか関係なく賢い人は分かるかもしれません。
下に答えを書きますのでここで改行をいっぱい入れます。
立ち読みした本に答えが載っていた
それから何十年と経過したある日、本屋さんで手に取った「第一種情報処理技術者試験」の本にこの問題の解説が載っていました。
- 門番AとBを「論理回路 」として考えます。
- 門番Aと門番Bのどちらが真実を答えるのかは分からなくても、二人を直列に論理回路としてつなぐと逆の答えがでます。
- 問いに対する答えを「はい」、「いいえ」の形になる命題文を作る。
- 反対側の人を指差し、「あの人に〇〇と質問すると△△と答えますか」と質問すると、必ず正解とは逆の答えが返ってくるのです。
仮に出口Aから出ると自由になるとしましょう。
そのとき、門番Aに「出口Aから出ると自由になれますか」と聞くと答えは、以下のようになりますが、このままでは門番Aが真実を言っているかどうかは判断できません。
- 門番Aが真実を言う場合 => 「はい」
- 門番Aが逆を言う場合 => 「いいえ」
この内容を門番Bに聞く。
これが論理回路を直列につなぐことと同等であることを意味します。ここがミソですね。
- 出口Aから出ると自由になると仮定して確認してみます。
『門番Aに「出口Aから出ると自由になれますか」と聞くと「はい」と答えますか』
↓
と門番Bに聞くのです。
- (門番Aが真実を言う場合 「はい」)=> Bは逆を言うので 「いいえ」と答える
- (門番Aが逆を言う場合 「いいえ」)=> Bは真実を言うので 「いいえ」と答える
「いいえ」なので「出口A」から出れば自由です。
これを逆に聞いても同じです。
『門番Bに「出口Aから出ると自由になれますか」と聞くと「はい」と答えますか』
↓
門番Aにと聞きます。
- (門番Bが真実を言う「はい」)=> Aは逆を言う「いいえ」
- (門番Bが逆を言う「いいえ」)=> Aは真実を言う「いいえ」
門番AとBどちらが真実を言う門番であっても、逆にした答えが返ってくるのです。
ですから、答えは以下のようになります。
- どちらかの門番に『あの門番に「出口Aから出ると自由になれますか」と聞くと「はい」と答えますか』と聞く。
- 「はい」と答えたときは反対の「出口B」から出る。
- 「いいえ」と答えたときは「出口A」から出ればよい。
まとめ
高校時代の課外授業で「論理」を習いました。そして、最後に問題が出されたのですが答えが分からず、ずっと謎のままでした。
あるとき、本屋さんで立ち読みした情報処理の雑誌にその問題と解説が載っていました。
気がついてしまえば簡単な問題です。「論理」では有名な問題なのかも知れません。