Fiction Holic

ゲーム、アニメ、漫画、小説、映画などなどのフィクションについて語ります。

ついったーで流れ来た犯人探しを考えてみました

 

こちらのtweetがTLに流れてきたのでメモ帳つかって解いてみました。

どうやら赤文字になっているのは真実みたいなので以下の攻略部分でも確定している事項は、注目している部分はで色つけてみます。

 

とりあえず確定してる真実を書いてみます。

まずは被害者の言っている真実。

  • A、B、C、D、Eは真実を語っている=嘘つきでない
  • 嘘をついている人間が5人いる
  • Oが言っている事は間違いでない=真実である=嘘つきでない
  • 犯人は一人である

上の真実から証言の中から以下の真実が見えてきます。

  • Aは犯人ではない
  • CはBより背が高い
  • CはX、Jと背が同じである
  • QまたはUのどちらは嘘をついている
  • J、K、L、M、Nの内3人は嘘をついている
  • 犯人はFより背が高い

で、この10個の真実の中で問題を考える上で重要な真実が3つあります。それは「犯人」と「嘘つき」に関する真実であります。「犯人はただ一人であり、被害者より背が高い」「嘘つきは5人」。この2つがこの犯人探しにおける問題であります。

さらにこの2つの問題を考えてみると「犯人が嘘つきとは限らない」という推測が出てきます。犯人探しクイズはだいたいの場合が証人の中で嘘をついているただ一人が犯人であるパターンが多いので、ちょっとした落とし穴になってます。

じゃあ以下は実際に解いたメモをちょっと編集してどうやって考えたのかという流れをばーっと書いておきますので犯人の検討がついてから読んでください。

 

まずは全ての証言をそのままのものと嘘の場合のものを書き出してみます。ただし真実であるものは証言そのままだけ書きます。

なお、以下では犯人=killer、嘘つき=daubtと呼称し、AはBより高いをA>B、AはBより低いをA<Bと表記してます。あと①~④は後で出てきます。

 

killer is not A
C>B
C=X=J
Q=daubt or U=daubt
three daubt in J or K or L or M or N


G「H>F」③
^G「H<=F」

H「O or Q is daubt」  →Q is daubt ←Dより  筋が通る ①
^H「O and Q are not daubt」 ?

I「J is tallest in E G H I J and G is shortest 」③
^I「J is not tallest and G is not shortest」

J「D or Q is killer」
^J「D and Q are not killer」④

K「E<C」◯
^K「E>=C」

L「E>L」
^L「E<=L」④

M「A>Z」 ②
^M「A<=Z」

N「K>F」
^N「K<=F」④

O「killer is taller than F」

P「G or H or I or J or K or L or M or N or O is killer」
^P「GHIJKLMNO are not killer」 ②

Q「killer is in right」
^Q「killer is in left」 ①


R「B=F」③
^R「B≠F」

S「K=L=M」③
^S「K≠L≠M」

T「P>X」③
^T「P<=X」

U「X>B」③
^U「X<=B」

V「E is shortest in ABCDE」 ③
^V「E is not shorteset in ABCDEF」

W「Z<A W>A」②
^W「Z>A W<A」

X「Y and Z >X」③
^X「Y or Z <X」

Y「I = F」③
^Y「I≠F」

Z「M or P is daubt」 ②
^Z「M and P are not daubt」

 

証言を全て書き出した後は真実を元に犯人嘘つき犯人を見つけるための背の高さ=tallについての情報を洗い出していきます。

① 1回目の情報選定

Hの証言「OかQのどちらかが嘘をついている」と被害者Fの真実「Oは嘘つきでない」から「Hは真実である」「Qは嘘つきである」を仮定して「犯人の候補はQから左側にいる人間である」「嘘つきの一人はQである」の2つを書き出します。

また真実から背の高さの順序が少しわかります。
killer
BCDEGHIJKLMNOP
daubt
Q
tall
C>B C=X=J X>B →C=X=J>B
② 2回目の情報選定

嘘つきが真実「嘘をついている人間が5人いる」「J、K、L、M、Nの内3人は嘘をついている」とHの証言からの仮定「Qは嘘つきである」から「J,K,L,M,Nから3人とQの他に一人嘘つきがいる」と考えられます。ここでZの証言が嘘つきに関するものであり、しかも嘘つき候補者以外の嘘つき候補を挙げるものなので注目してみます。

まず、Zは「MかPが嘘つきである」と証言しているのでこの時点で「嘘つきはJKLMNから3人とMかPのどちらか一人、そしてQである」と仮定が立てられます。するとかなり強い意味で「嘘つき候補者以外は真実を語っている」と推理できます。

そしてこの「嘘つき候補者以外は真実」という仮定からWが真実だとすればMは真実を語っていることになるので「嘘つきはJKLNから3人とPとQ」だと仮定出来ます。よって「GからOは犯人ではない」推理ができます。またWとMの証言から背の高さについて使える情報も増えます。

killer
BCDEGP
daubt
QP
tall
Z<A W>A →W>A>Z and C=X=J>B
③ 3回目の情報の選定

3回目の選定も「嘘つき候補者以外は真実を語っている」ことから主に背の高さについての情報を固めていきます。そうすると左側の証人についての背の情報に偏っているように見えます。

killer

BCDEGP

daubt
QP
tall
H>F J>EHI>G B=F X>B ABCD>E YZ>X I=F W>A>Z C=X=J>B →YZ>C=X=J>F=B=I>G W>A>Z>F

④ 4回目の情報の選定

4回目では嘘つき候補者JKLNの中から嘘つきを3人出す作業をします。まず他の証言者が言及していない人物に関する証言(無価値な証言)をしているLとNを嘘つきと仮定。残るJとKに関してはKの証言がほとんど真実であるVの証言「ABCDEの中でEが一番背が低い」事と矛盾しないためJが嘘つきであるとわかります。

するとJの証言「DかQが犯人である」が嘘なので3回目の情報選定時から犯人候補を二人減らすことができます。後は犯人候補者の中で被害者の身長と関係が言及されている人物を考えれば、犯人はCである事がわかります。

killer
BCEG

daubt
QPLNJ

tall
C

 

 

とまぁたぶんこんな感じの推理で正解ってリプを貰ったので少なくとも犯人に関してはあってるみたいです。ただ、嘘つきの辺りがちょっと緩い感じで「え、このロジックでほんとにいいの?大丈夫なの?」という感じがしました。でもほんとによくこれだけめんどくさいの考えられるなぁすげえなぁと思いましたね。ぎりぎり時間かければ解けるレベルにするって大変だよ…だってこれあれですよ、今回4回証言洗うだけでよかったけど、この人数だったらもっと時間かかるような証言の組み方できるからやばいよ…SATで考えても超めんどくさくなるやつだよ…。