福西です。この日は以下の論理パズルを考えました。(今学期から論理パズルを隔週ですることにしています)
『魚を盗んだのは誰?』
4匹の猫がいます。そのうちの1匹が魚を盗みました。4匹は次のように証言しています。
A「Bが犯人です」
B「Cが犯人です」
C「AかBが犯人です」
D「BかCが犯人です」
真実を述べたのは1匹だけでした。犯人は誰?
(──小野田博一『論理パズル「出しっこ問題」傑作選』より)
この問題に対する生徒たちの解答は、次のとおりでした。みんなそれぞれによく書けていました。
注:( )は私の補足です。
K君の解答
まず、D(が犯人である場合)は、4人のうち、だれが真実を述べていてもDをうたがう言葉がないから(もしDが犯人なら、全員の発言がうそになってしまうから)、ちがう。
Cは、2人からしてきされている。つまり、真実をのべているのは2人いることになる。すると真実を述べたのは1ぴきというのと、つじつまがあわない。
Bは、3人からしてきされているから(これもCのときと同様に考えて)、Bはちがう。
D、C、Bがちがうなら、Aがはん人です。
[コメント]
K君は、「犯人は1人」で、かつ「真実を述べているのも1人」であることに注目して、犯人または真実を述べる者が、2人以上ないし0人である場合を消去していき、残った可能性が(犯人は必ず1人いるので)答であると喝破してくれています。「着眼点がスマートだと、答もスマートになる」という、とても良いお手本であり、感心しました。(念のため、Aが犯人であるとき、各発言に矛盾がないことも示してもらえればなおよいです)。
To君の解答
はん人はA。何故なら、AはCにしかうたがわれてないから。
B(が犯人)だと、AとCとDにうたがわれているけど、二人以上にうたがわれているから、Bはない。
Cは、DとBにうたがわれているけど、二人以上にうたがわれているから、Cはない。
Dは、まずうたがわれていないからはん人ではない。(もしDが犯人なら全員がうそをつくことになり、題意と矛盾する)。
だからAがはん人でCが本当のことを言っている。(つまりAが犯人の場合は矛盾はないので、これが答)。
[コメント]
BとCについて、「二人以上にうたがわれているから」という同じ表現(同じ理由)で一刀両断にしてくれているのが、大変分かりやすいと思いました。また最後に「Cが本当のことを言っている」と書いてくれていることで、Aが犯人の場合に矛盾がないことも示されています。「簡にして要」な解答です。
Ta君の解答
1)
もし本当のことを言っているのは(が)Cなら、Cが言っているのは、AかBがはん人ということ。
(また)本当のことを言っているのは、一ぴきだから、ほか(AとBとDの発言は)すべてうそ。(つまり)Aの「Bが犯人」がうそだから、(犯人は)A、C、Dに決まる。Bは「C(が犯人)」と言っているので、A、B、D(が犯人である)と決まる。Dは、「BかC」だから、A、Dのどちらかとなる。今までの答えを元にして、共通している記号を探す。そうすると、A、D。
だけど、Cが言っているのはAかBだから(さらに共通している記号を探して)、はん人はA。
2)
もしCがうそつきならば、ほかのねこ(AかBかD)が言っていることが本当(。その本当)のねこ(が)Aなら、Bが「A、B、D」、Cが「C、D」、Dが「A、D」(が犯人だと言っている。そしてこの中で共通の記号を探す)。Dが共通しているが、(本当のことを言う)Aは「Bがはん人」と言っているからだめー。(矛盾する)
Bが本当(のことを言うねこ)なら、Aは「A、C、D」、Cは「C、D」、Dは「A、D」(が犯人だと言っている。そしてこの中で共通の記号を探す)。共通はDだが、Bが言っていること(=「Cが犯人」)がむじゅんする。
D(が本当のことを言うねこ)なら、Aは「A、C,D」、Bは「A、B、D」、Cは「C、D」(が犯人だと言っている。そしてこの中で共通の記号を探す)。共通しているのは、Dだが、(Dが)言っているのは「BかC」なので、だめ。
(以上より、2)の結論として、Cはうそつきではない)
結論)
だから、本当(のことを言ったねこ)はC、はん人はA。
[コメント]
Cの発言が「本当」か「うそ」かで場合分けし、本当の場合は矛盾せず、うその場合は矛盾すること。そして矛盾がない場合において、Aが犯人であることを示してくれました。特に、2)の証明箇所をしっかりと書き添えてくれた力投、精神力の持続は、賞賛に値します。