問題
魔術師が円卓を用意した
円卓には10匹のネズミが座っている
そのうちの何匹かは常に真実を語る騎士であり、何匹かは常に嘘をつく侯爵である
2匹のネズミは「私の両隣は2匹とも侯爵だ」と言った
8匹のネズミは「私の両隣は2匹とも騎士だ」と言った
それを聞いた魔術師は、騎士ではない者を全て追い出した
いま、円卓には何匹の騎士が座っているだろうか?
シンキングタイム!
スクロールするとヒントがあります
正解
2匹の騎士が座っている
解説
「私の両隣は2匹とも侯爵だ」と言った2匹をA群とします
「私の両隣は2匹とも騎士だ 」と言った8匹をB群とします
ネズミたちがどのような並びで座っていても、B群のいずれかは必ずA群のどちらかと隣り合います
隣り合うAとBのネズミについて
ここで、隣り合うAとBのネズミに焦点を当てて考えていきます
AとBの主張を簡略化すると
- A「Bは嘘つきだ」
- B「Aは正直者だ」
となります
Bが正直者の場合、Bの主張が正しいことになるのでAも正直者ということになりますが
AはBを嘘つきと呼んでいるので、矛盾します
よってBは嘘つき(侯爵)です
Bが嘘つきならAの発言は真なので
Aは正直者(騎士)です
隣り合うBとBのネズミについて
Bのうち、Aと隣り合っているネズミは侯爵です
そしてこの侯爵に隣り合っているBも、「両隣が騎士」と嘘をついているため侯爵です
同様に、連鎖的に全てのBが侯爵になります
ここまでの情報から
- A群の2匹が騎士
- B群の8匹が侯爵
と導き出せます
ただし、この結論はAとAが隣り合っていない場合のみに適用されます
A群が隣り合っている場合
隣り合うAの主張を簡略化すると
- A1「A2は嘘つきだ」
- A2「A1は嘘つきだ」
となります
A1が正直者だとすると、「A2は嘘つきだ」という主張が真なのでA2は嘘つきになり
A2の「A1は嘘つきだ」という主張が偽となって辻褄が合います
逆も然りで、A1が嘘つきならA2が正直者になります
つまりどちらかが正直者(騎士)でどちらかが嘘つき(侯爵)です
それぞれをAt、Afとします
Atに隣り合うBは侯爵であり、
そのBに隣り合うBも侯爵であることから、連鎖的に全てのBが侯爵になります
ここでAtの隣をB1、列の末端をB8とします
位置関係は「B8(侯爵)・Af・At(騎士)」です
Afは両隣を2匹とも侯爵だと言っています
しかし実際には片方しか侯爵ではありません
よってAfの主張は偽であり、Afはやはり侯爵で辻褄が合います
これらから、A群が隣り合う場合は騎士が1匹、侯爵が9匹であるとわかりました
ただし、ここで注意しなければならないのが
問題文の「それを聞いた魔術師は、騎士ではない者を全て追い出した」という一文です
つまり、魔術師は騎士と侯爵を区別できたのです
A群のネズミが隣り合って座っている場合、どちらかが騎士でどちらかが侯爵ですが
それを見分ける術はありません
魔術師が区別できたということは「私の両隣は2匹とも侯爵だ」と言った2匹のネズミは隣り合って座っていなかったのだと推測できます
よって、答えは2匹です