四天王問題
twitter で面白げな問題が流れていたので、やってみたついでに解説してみたりする。
多分他にもやってる人がいそうだけど。
問題は次のようなもの。読みやすいように改行を入れてある。
A「Dがやられたようだな…」
B「ククク奴は四天王でも最弱…」
C「Bは私よりも強い」
A「私は最強ではないが最弱でもない」
B「私はAより強いぞ」
C「四天王NO.3は嘘つき」
A「私はCよりも強い」問:四天王を強い順に並べよ。但し正直者は真実、嘘つきは嘘しか言わないものとする。
以後の解説のために、残された四天王たちの発言に番号を振る。
- A「Dがやられたようだな…」
- B「ククク奴は四天王でも最弱…」
- C「Bは私よりも強い」
- A「私は最強ではないが最弱でもない」
- B「私はAより強いぞ」
- C「四天王NO.3は嘘つき」
- A「私はCよりも強い」
さて、解法のキーは 6.のC発言。誰が「NO.3の嘘つき」であるかを最初に突き止める必要がある。
- CをNO.3と仮定: 6.の発言自体が深刻な矛盾を来たすため、C自身がNO.3であることはありえない。棄却。
- DをNO.3と仮定: A,B,C それぞれの発言は全て真となるが、Bによる2.の発言が真となるとD.は最弱のNO.4でなければならず、矛盾する。よって今は亡きDがNO.3であることはない。棄却。
- AをNO.3と仮定: 1.と4.そして7.が嘘ということになり、Dはまだやられておらず生きていることになるが、AはNO.1もしくはNO.4でなければならないため、仮定と矛盾する。棄却。
- BをNO.3と仮定: この仮定だけが矛盾を来たさない。
よって、「NO.3の嘘つき」はBということになる。
Bの発言を嘘として改めて条件を書き出すと以下の通り。
- Dはやられた。
- Dは四天王の中で最弱ではない
- BはCよりも強い
- Aは最強ではないが最弱でもない
- BはAより弱い
- 四天王NO.3の嘘つきはBだった(解決済み)
- AはCよりも強い
ここにおいて、3.と4.だけでもうAとCの序列は確定してしまう。
- BはCより強く、BがNO.3だとすればCの収まるべき場所はNO.4しかない。(3.より)
- Aは最強でも最弱でもないためNO.2もしくはNO.3ということになるが、NO.3はBであるため自動的にNO.2となる。
ここでもう消去法的に、実はやられたDが最強のNO.1だったことになるが、
他の条件がこの序列に矛盾しないかを確認してみる。
推測されている序列は D > A > B > C
- B > C (3.より)
- A > B (5.より)
- A > C (7.より)
となり、推測された序列に間違いは見られない。
ということで、正解は、
答. D - A - B - C
となる。
…最強の一角たるDを失った四天王の今後が危ぶまれる。
【追記】
コメントには書いたが、上の推論で考慮していない可能性があるので、それについての検証を追記しておく。それは、
- 6.の発言者であるC自身がNO.3ではないが嘘つきである場合
- 嘘つきが一人だけではない場合
の二つ。
まず、Cが嘘つきだった場合に6.の発言が矛盾するのは、CがNO.3であった場合だけである。CがNO.3以外の序列にいて、なおかつ嘘つきである場合「NO.3は嘘つき」というCの発言自体は矛盾を含まない。
このケースについて検証してみると、
- B発言の2.が真となるのでNO.4はDで確定
- Cは嘘つきであるという仮定から、6.よりNO.3は嘘つきであってはならないことになる。NO.4はDで確定しているため、Cは残されたNO.1かNO.2でなければならない。
- 7.は真となるため、Cの上位にAがいなければならない。この条件を満たすためには、NO.1にAを据え、NO.2にCが収まる以外ありえない。
- しかし、4.が真であればAが最強のNO.1であってはならない。
以上より、「C自身がNO.3ではない嘘つき」である可能性は棄却される。
もう一つの、嘘つきが一人だけではない場合についても検証せねばならない。嘘つきが一人だけでない場合、考えられる可能性は下記の三つとなる。
- 全員が嘘つきである場合
- 4人中3人が嘘つきである場合
- 4人中2人が嘘つきである場合
このうち、「全員が嘘つきである場合」については、Cも勿論嘘つきということになり、発言6.が二律背反に陥る(全員が嘘つきであるため、誰をNO.3に据えても6.は真実となり、Cも嘘つきであるという仮定と矛盾する)。このため、全員が嘘を言っている可能性は棄却される。
残る二つの可能性だが、検証の手間を最小限にするため、下記の事実に注目する。
- 4人中3人が嘘つきであるのは、4人中1人だけが正直であるのと同義
- 4人中2人が嘘つきであるのは、4人中2人が正直であるのと同義
- 四天王の会話全体を通じて、Dは一切発言していない。
ここから、「嘘つきが2人の場合」についてはこう考える。
- 嘘つき2人のうち一人がDであるならば、残る3人のうち1人だけが嘘つきであるのと同じ
- 嘘つき2人がDを含まないならば、正直者2人のうち1人がDであるのと同じ
- そして正直者2人のうち1人がDであるならば、残る3人のうち1人だけが正直者であるのと同じ
そうなると「4人のうち3人が嘘つき(=1人だけが正直者)」という仮定のうち、矛盾しないものがあるかだけが問題となる。この可能性が全て棄却されれば、本文中の前提が成立する。
- Aを正直者と仮定: 6.が偽となるのでNO.3は嘘つきではないAとなる。7.よりNO.4はCと推測されるが、B発言の5.は偽なのでBもNO.4となり、矛盾する。棄却。
- Bを正直者と仮定: 6.が偽となるのでNO.3は嘘つきではないBとなる。2.は真であるのでDはNO.4に確定、4.は偽なのでAは最強か最弱だがNO.4はDで確定なのでAはNO.1となる。しかしB発言の5.を真とすればNO.1のAより強くなければならず矛盾する。棄却。
- Cを正直者と仮定: 6.は真となるのでCはNO.3ではなくなる。3.は真、5.と7.は偽となるが、3.と5.より A-B-C の序列が出来上がるものの、この序列が7.を偽とした条件と矛盾する。棄却。
- Dを正直者と仮定: 会話文の全てが偽となる。6.を偽とすればDは正直者であるのでNO.3で確定。3. 5. 7.を全て偽とすれば、他の三人については C-A-B という序列が推測される。NO.3はDであるので、C-A-D-B となるが、4.は偽であるので、AはNO.1かNO.4でなければならず矛盾する。棄却。
以上、「嘘つきが3人(=誰か1人だけが正直者)である場合」の可能性は全て矛盾し、棄却される。
参考までに嘘つきが二人の場合は、
- AとBが嘘つき = Cだけが正直者
- AとCが嘘つき = Bだけが正直者
- AとDが嘘つき = Aだけが嘘つき
- BとCが嘘つき = Aだけが正直者
- BとDが嘘つき = Bだけが嘘つき
- CとDが嘘つき = Cだけが嘘つき
と同じ結果となる。
Dは会話に参加していないので一切の情報をもたらしておらず、嘘つきだろうが正直者だろうが影響しない。
結論としては「BがNO.3の嘘つき」で「AとCは正直者」である場合だけが矛盾なく序列を説明できることになる。
【さらに追記】
…いや、まった。
「Bが嘘つき」「AとCが正直者」でなおかつ「Dも嘘つき(だった)」場合については、ちょっと条件が異なるかもしれない。
NO.3がBではなくDかもしれず、なおかつB発言の2.が偽となるからだ。
- 6.の「NO.3の嘘つき」をDと仮定する。
- なおかつBもまた嘘つきであると仮定する。
- B発言の2.は偽なので、DがNO.4ではないとなり、ここは矛盾しない。
- A発言の4.は真なので、AはNO.2もしくはNO.3となるが、NO.3はDと仮定しているため、AはNO.2となる。
- B発言5.は偽なので、AはBより強い。A以下の序列で空いているのはNO.4だけなのでBはNO.4となる。
- しかし、C発言3.は真であり、NO.4のBがCより強くなければならず矛盾する。
以上により、「嘘つきがBとDの二人であり、NO.3がD」の可能性は棄却される。
同様に、嘘つきがA,CのいずれかとDという二人の組み合わせの場合、
- AとDの場合: NO.3が嘘つきのどちらかになるが、AがNO.3の場合は検証済み。DがNO.3の場合、B発言2.は真であり、DはNO.4でなければならず仮定と矛盾する。棄却。
- CとDの場合:C発言は偽となり、NO.3は正直者確定となる。ただしDが嘘つきであることは「CがNO.3以外の嘘つきだった場合」と競合する前提が無いため、矛盾することは検証済み。棄却。
…ふぅ、これで全部か?
【また追記】
やっぱり嘘つきが2人のケースも検証しないとダメらしい。
2人のうち2人がDであるケースについては検証したが、他の3人から嘘つきを2人選ぶことで「Dが正直である」ことによりDを配置できないポジションが出てくるので。
Dが嘘つきの片割れであるケースは検証済みなので、今度はDが正直者の片割れだった場合三通りを検証すればいい。
- DとAが正直者: 嘘つきはBとC。C発言6.が偽となりNO.3は正直者確定なのでDかAのどちらかになる。3. 5. は偽、7.は真なので、序列はA-C-Bだが、AをNO.3に据えた場合その下にはNO.4しかいない。DをNO.3に据えた場合、A発言4.は真なのでAはNO.2確定となるが、NO.3をDが占めるため空きはNO.4しかない。いずれもCとBが収まらず矛盾する。棄却。
- DとBが正直者: 嘘つきはAとC。C発言6.が偽となりNO.3は正直者確定なのでDかBのどちらかになる。B発言2.は真なのでNO.4はD確定。そうなるとNO.3にはB以外が収まることはできない。A発言4.は偽だがNO.4はDなので、AはNO.1、残るCはNO.2となるが、B発言5.を真とすればBはNO.1であるはずのAより強いことになり矛盾する。棄却。
- DとCが正直者: 嘘つきはAとB。3が真、5.と7.が偽となるが、これらから序列を導くことができず矛盾する。棄却。
…結局全部検証することになったが、嘘つきが二人の場合も全ケースに矛盾が見られるので棄却。
よって、「Bだけが嘘つきで、他の3人は正直者」のケースだけが成立し、回答となる序列は D-A-B-C 以外にはあり得ないことになる。
※【さらに追記】あ、Dは嘘つきであってもいいけどNO.3がBであれば成立するや。詳細は次の記事参照。
やはりやられたDが最強だったわけで、この四天王は早急に対策を練るべきだ。
…やっちまってから言うのもなんだけど、3./5./7. に真偽を当てはめて、序列が成立しないケースについては最初から検証する必要なかったなぁ。