四天王問題(2)

先日の記事で追記に追記を重ね、勢いで全ケースを検証してしまったわけだが、今度は嘘つきが0人から4人までの全ケースを最速で検証することを考えてみる。使用する問題は前回と同じ。

A「Dがやられたようだな…」
B「ククク奴は四天王でも最弱…」
C「Bは私よりも強い」
A「私は最強ではないが最弱でもない」
B「私はAより強いぞ」
C「四天王NO.3は嘘つき」
A「私はCよりも強い」 

問:四天王を強い順に並べよ。但し正直者は真実、嘘つきは嘘しか言わないものとする。


出典: 死後強まるツイート on Twitter: "A「Dがやられたようだな…」B「ククク奴は四天王でも最弱…」C「Bは私よりも強い」A「私は最強ではないが最弱でもない」B「私はAより強いぞ」C「四天王NO.3は嘘つき」A「私はCよりも強い」 問:四天王を強い順に並べよ。但し正直者は真実、嘘つきは嘘しか言わないものとする。"

前回同様、解説のため残された四天王たちの発言に番号を振る。

  1. A「Dがやられたようだな…」
  2. B「ククク奴は四天王でも最弱…」
  3. C「Bは私よりも強い」
  4. A「私は最強ではないが最弱でもない」
  5. B「私はAより強いぞ」
  6. C「四天王NO.3は嘘つき」
  7. A「私はCよりも強い」 

…で、前回と異なるアプローチでより検証の手間を減らすことを考える。
今回着目するのは3./5./7.の三つ。また、前回同様「嘘つきは一人とは限らない」ことを前提とする。

今回のアプローチは

  • 発言3./5./7.それぞれに真偽を適用し、A-B-C間の序列を導けないケースに該当するものは最初から検証を省略する。
  • 残ったものについて、Dが嘘つきであるか否かに左右されない条件のレベルで矛盾を孕むものは以後の検証を省略する。

というもの。序列を導けないケースは最初から矛盾するのがわかっているため、他の項目により可能性を検討するのは馬鹿馬鹿しく、Dが正直者か嘘つきかに関わらず矛盾が見つかったものは可能性の検討の必要がないという考え方。

  • 三つとも真実の場合
  • 三つとも嘘の場合
  • 一つだけが真実の場合(=残り二つは嘘の場合)3通り
  • 一つだけが嘘の場合(=残り二つが真実の場合)3通り

の8パターンで序列の成立を確認し、矛盾するものについては嘘つきが何人であっても却下する。だってそもそも序列が成立しないんだもの。

  • 3.5.7.全てが真実と仮定: 序列 B-A-C として成立。
  • 3.5.7.全てが嘘と仮定: 序列 C-A-B として成立。
  • 一つだけが真実の場合(残り二つは嘘)
    • 3.(C)のみが真実と仮定: 序列が成立しない。これに該当するものは棄却。
    • 5.(B)のみが真実と仮定: 序列 C-B-A として成立。
    • 7.(A)のみが真実と仮定: 序列 A-C-B として成立。
  • 一つだけが嘘の場合(残り二つは真実)
    • 3.(C)のみが嘘と仮定: 序列が成立しない。これに該当するものは棄却。
    • 5.(B)のみが嘘と仮定: 序列 A-B-C として成立。
    • 7.(A)のみが嘘と仮定: 序列 B-C-A として成立。

以上の結果から、3.のみが真実、もしくは3.のみが嘘の場合については、序列がそもそも成立しえない。3.はCの発言であるため、下記のことが言える。

  • AとBがどちらも嘘つき、Cが正直者というケースは、Dがどうであれ棄却される。
  • AとBがどちらも正直者、Cが嘘つきというケースは、Dがどうであれ棄却される。

その上で、発言6.を考慮すると、

  • 全員が正直者であることは、C発言6.が矛盾するため棄却される。
  • 全員が嘘つきであることは、C発言6.が二律背反となるので棄却される。

以上より、この段階で棄却されず残った、検証すべきケースは下記のものとなる。

  • Dだけが嘘つき
  • Dだけが正直者
  • Bだけが正直者
  • BとDが正直者(AとCが嘘つき)
  • Aだけが正直者
  • AとDが正直者(BとCが嘘つき)
  • Bだけが嘘つき
  • BとDが嘘つき(AとCが正直者)
  • Aだけが嘘つき
  • AとDが嘘つき(BとCが正直者)

総当りであれば16通りのケースを10通りまで省略できた。
ここで、まとめて削れる組み合わせは削ってしまう。

  • A,B,CのうちではBだけが正直者(AとCが嘘つき)となる組み合わせは、B発言2.よりNO.4がDとなる。三者間の序列(C-B-A)を残りに当てはめるとC-B-A-Dとなり、正直者BがNO.3とならず、C発言6.を偽とした条件に矛盾する。よってDがどうであれ、これに該当する項目は棄却。
  • A,B,CのうちではAだけが正直者(BとCが嘘つき)となる組み合わせは、A発言4.よりAがNO.2またはNO.3になるよう三者間の序列(A-C-B)を当てはめると、D-A-C-B以外ありえないが、嘘つきであるCがNO.3に収まることでC発言6.が二律背反に陥る。よってDがどうであれ、これに該当する項目は棄却。
  • A,B,CのうちではAだけが嘘つき(BとCが正直者)となる組み合わせは、B発言2.よりDがNO.4確定するため、三者間の序列(B-C-A)を当てはめるとB-C-A-D となるが、A発言4.を偽とするとAはNO.1もしくはNO.4でなければならないため矛盾する。よってDがどうであれ、これに該当する項目は棄却。

…と、発言していないDが嘘つきであるかどうかを問わない条件だけで不要な枝を切り落とすと、検証すべき組み合わせは、

  • Dだけが嘘つき
  • Dだけが正直者
  • Bだけが嘘つき
  • BとDが嘘つき(AとCが正直者)

の4項目だけとなった。当初16項目あった組み合わせがわずか4項目まで絞り込める。この残った4項目だけを、前回同様に検証すればいい。最初に三者間の序列は調査済みなので、前回よりすっきりと書ける。

  • Dだけが嘘つき: B発言2.よりDはNO.4確定のはずだが、唯一の嘘つきであるDはC発言6.よりNO.3でなければならず矛盾する。よって棄却。
  • Dだけが正直者: C発言6.が偽となるため、正直者のDはNO.3確定となり、ここに三者間の序列(C-A-B)を当てはめると C-A-D-B となる。A発言4.を偽とすると、AはNO.1もしくはNO.4でなければならず矛盾する。よって棄却。

これで残る可能性は

  • Bだけが嘘つき
  • BとDが嘘つき(AとCが正直者)

の二つだけとなった。少なくともBは嘘つきで間違いなさそうなことがここでわかる。Dも嘘つきかもしれないが、排除しておかなければならない可能性はここで一つだけ。
C発言6.は真なので「Dが嘘つきのNO.3である可能性」を棄却できれば、「嘘つきのNO.3」がBで確定する。

  • BとDが嘘つき: C発言6.は真となるので、NO.3はBかDとなる。
    • DをNO.3とした場合: 三者間の序列を当てはめるとA-B-D-Cとなるが、A発言4.を真とした場合、AがNO.1であるこの序列は矛盾する。よって棄却。

…となり、

  • Bは嘘つきでA,Cは正直者: B発言2.は偽となり DはNO.4以外となる。C発言6.が真となり、嘘つきであるBをNO.3に当てはめ、なおかつA発言4.を真とすればAはNO.2もしくはNO.3であるので、三者間の序列(A-B-C)を矛盾なく当てはめると D-A-B-C となる。B発言を偽とすれば、この序列は全ての発言に矛盾しない。Dが嘘つきであるかは問題とはならない。

という回答が導かれる。よって回答は、

  • 答. D-A-B-C

で間違いがないことがわかる。