「今すぐネタバレするより推理してみたい人もいると思うので」という理由で、
同時掲載しなかった「
の下にあるので、見ないでチャレンジしてみたい方は見ないようにしてください。
論理・推理・ひらめきのパズルです。
あなたはネット経由のチャットで、ハンドル名「みつき」「めろこ」「タクト」の3人と会話ができる。
「みつき」「めろこ」「タクト」の正体はそれぞれライト、キラ、Lのいずれかであり、かれら自身は誰が誰だが知っているが、 あなたにはそれが分からない。 論理と直感を駆使し、 例えば「みつき」がライトで「めろこ」がLで「タクト」がキラ…のような形で、 誰が誰だか全員確定させるのがあなたのミッションだ。 この問題においては、ライト、L、キラは別人であり、漫画の設定とは一切関係なく、一人二役などはないとする。(原作に忠実に考えるなら、火口がキラであった時期と思ってください。)
ルール1: あなたは3回だけ質問することが許される。 質問は「みつき」「めろこ」「タクト」の誰にしてもいいが、1回の質問は一人の相手に対してのみ許される。 同一の相手に複数回質問しても、同一の質問を複数の相手にしても良いが、 質問の合計回数は3回に限られる。 質問はYesかNoかで確定的に答えられるものでなければならない。
ルール2: ライトは質問に対して、正直に答えるとは限らない。正直に答えることもあるが、うそをつくこともある。 キラはどんな質問に対しても、常にうそをつく。 例えば本当の答がYesのときは常にNoと言う。 Lは質問に対して、常に真実を答える。 例えば、みつきに「めろこの正体はキラですね」と尋ねたとして、 もしみつきの正体がLなら返ってくる返事は真実だが、 みつきの正体がライトなら相手の答は本当かうそか分からない。
ルール3: 「みつき」「めろこ」「タクト」は質問に対して直接的にYes、Noとは答えない。 返ってくる答は死神語の「ヤー」または「ダー」である。「ヤー」「ダー」のどちらか一方はYesのことで、他方はNoのことだが、 どちらがどちらかは分からない。ただし、どちらがどちらかは常に一定している。 「ヤー」はYesを意味するのですか?といった質問も許されるが、それに対する答も「ヤー」か「ダー」であることに注意する。
3回の質問のあと、あなたは「みつき」「めろこ」「タクト」の正体についての推理結果を発表しなければならない。 1回でも質問を開始した場合、6分40秒以内に推理結果を発表しないと、その人間は心臓麻痺で死ぬ。 誰がライトで誰がキラで誰がLだか3人とも正しく言い当てられた場合、 褒賞のデスノートが与えられる。推理が間違っていた場合、 一人間違えるごとに解答者の余命は半減する!(笑)
…挑戦しますか?
注: このゲームは「超難しい論理パズル」のリライトです。 上記の説明であいまいな点があれば、リンク先を見てください。 5回の質問で全員を確定させる方法はわりとすぐ見つかりましたが、 4回の質問で全員を確定させる方法を見つけるには紙とペンが必要でした。 そこから3回の質問にまで減らすのは、もう一工夫。 原題は「超難しい」ですが、まぁ…「超」というほどでもないので、 挑戦してみてください。
ヒントは…ライトの答はランダムなので役立たない。知らずにライトに何度も質問すると貴重な質問制限回数を浪費してしまう。 なるべく早く「ライトでない誰か」を見つけることが鍵。
例えば…「みつき」「めろこ」「タクト」のそれぞれに「1+1は2ですか」と尋ねると、 「ヤーと答えるのが二人、ダーと答えるのが一人」か、 または「ヤーと答えるのが一人、ダーと答えるのが二人」になる(なぜそうなるのかは考えてみて)。 そして一人だけ別の答をした人はライトではないと断言できる。 ただ、この方法では「ライトでない人」を見つけるまでで既に3回の質問をしてしまっており、 誰が誰だか一人も確定できない。もっと効率の良い尋ね方が必要だ。
実は、たった1回の質問で — 質問相手の正体も、 したがって相手が真実を言うかどうかも分からないのに — 絶対にライトでない人を見つける方法がある。 その質問さえ思いつければ、そのライトでない人をうまく尋問することで、残りの2回の質問で、 すべての真実を引き出せるのである。
解答例は…すぐ下。
このゲームのポイントは、 質問相手が(うそしか言わない)キラでも(真実しか言わない)Lでも、 そして、尋ねている相手がキラなのかLなのか分からなくても、 常に真実を引き出す方法を見つけることにある。
相手が正直者なのかうそつきなのか分からないのに、必ず真実を引き出すような質問の仕方などがありうるのだろうか。
ありうるのだ。
例えば「あなたはキラですね」と尋ねたとしよう。 うそつきのキラは、この事実を認めず「違う」とうそをつく。 正直者のLは、正直に「違う」と答える。このように、正直者とうそつきが、同じ質問に同じ答をすることが実際にありうる。 それに気づくことが出発点となる。
上の例を、少し変形したのが「あなたはキラですねと問われたら、あなたはそうだと答えますね?」である。 この質問に対して、Lはもちろん否定の答をする。 ところが、うそつきのキラにしてみれば「あなたはキラですねと問われたら」否定するのだから、 「あなたはそうだと答えますね?」という後半は間違っている。だから正直に言えば「いいえ」なのだが、 そこがうそつきのキラなので「はい」とうそをつくことになる。
「あなたはキラですねと問われたら、あなたはそうだと答えますね?」に対して、Yesと答えれば相手はキラ、 Noと答えれば相手はL。このように、うそつきか正直か分からない相手でも、問題なく真実を引き出せる。
明示的な2階論理を使えば「命題『あなたはキラである』の判定結果は真である」となる。 2階論理では、うそつきはうそについてのうそをつくので、(-1)2 のようになって真偽値が真に戻る。 判定結果の真偽値がうそであり、しかも、判定結果は真でしたか?という判定結果についての判定結果でまたうそをつく結果、 2重のうそだから、結局真実になってしまう。どんな質問に対しても常にうそをつくことを強制されているキラは、 この呪縛から逃れられない。常にうそしか言えないというのは、見方を変えれば、 あいまい・ごまかしを一切許されないということなのだ。(ランダムに返答できるライトは、この呪縛にとらわれない)。
そういうわけだから、命題Pの真偽を調べたいときには、「Pかと問われたら、あなたはそうだと答えますね」のように聞けば良い。
ところが、このゲームの場合、相手はYes、Noではなく「ヤー」「ダー」で答える。 「ヤー」と「ダー」のどちらがYesでどちらがNoかは分からない。 しかし、問題として、「ヤー」と「ダー」の意味を確定させることは要求されていないし、 問題を解く上で、確定させる必要もない。
「Pかと問われたら、あなたはYesと答えますね」の回答が(相手がうそつきであってさえ)Pについての正しい真偽を示していることは、既に説明した。では、少し変えて「Pかと問われたら、あなたはNoと答えますね」と尋ねたらどうだろうか。 これも2階論理だから、相手がうそつきでも正直者でも真実を一意に引き出せる。ただし、この場合、返事がNoならPは真である。 例えば「1+1=2かと問われたら、あなたはNoと答えますね」に対して、正直者のLは「そんなばかな」とNoと否定するだろう。 一方、うそつきのキラにしてみれば「1+1=2かと問われれば、自分はNoだとうそをつく。だからNoと答えますね、という質問は当たっている」ということだが、キラはうそつきだから、「Noと答えますね」という真実に対して「そんなことはない」とうそをついてNoと否定する。
注意: 常にうそをつくキラが、「この質問にNoと答えますね」にNoと答えることは(もし「この質問」という言葉が「この質問にNoと答えますね」という質問自身を意味しているのなら)不合理である。 「Noと答えますね」をNoと否定したのだから答はYesでなければならないのに、 Noと答えてしまっているからだ。 これは「この質問」という自己言及によって階層がもつれるため発生するパラドックスであり、 Yes/Noで確定的に答えられる質問でなければならないというルール違反になる。しかし「Xという質問にNoと答えますね」にYesまたはNoと答えることはこのような矛盾を発生させない。 「この」という自己言及を避ける限り、 「Xという質問」の内容は「Xという質問にNoと答えますね」自身ではないからだ。 キラは「Xという質問」に自分がどういううその返事をするか、という別次元の質問について、矛盾なくうそをつくことができる。 その尋ね方なら決してルール違反にならない。
つまり「1+1=2かと問われたら、あなたはNoと答えますね」に対しては、回答者がキラでもLでも、 返事がNoなら1+1=2が真、返事がYesなら1+1=2は偽となる。1+1=2の真偽は尋ねるまでもなく自明だが、 「1+1=2」を任意の命題で置き換えれば、それが何であれ、キラまたはLのどちらからでも真実を引き出せるのだ。
まとめると「Pかと問われたら、あなたは★と答えますね」(★はYesまたはNoにあたる言葉)に対しては、 ★と答えればPが肯定され、そうでなければPは否定される。すなわち:
補題1 真偽を確かめたい命題をPとする。 キラまたはLに対して「Pは真かと問われたら、あなたは常にヤーと答えますね」と質問すると、 相手はPが真なら「ヤー」Pが偽なら「ダー」と答える。 このことは質問相手が(うそしか言わない)キラでも(真実しか言わない)Lでも成り立つ。 またヤーとダーのどちらがYesでどちらがNoでも成り立つ。
ここで注意すべきことは、真実を言うかうそをつくか一貫していないライトに対しては、上の議論が成り立たない、ということである。 Pの実際の真偽と無関係に、 ライトは「Pかと問われたら」場合によってはYesと答えるし場合によってはNoと答える。 だから「Pかと問われたらあなたはYesと答えますね」という問い方は確定的にYes/Noで答えられる質問とは言えない。 そのため「Pは真かと問われたら、あなたは常にヤーと答えますね」と常にを入れることで、 質問が決定論的になることを保証しておく。これは単に、 質問の仕方に対するルール違反で思わぬペナルティーを食らわないための用心であり、 質問相手がライトでなかった場合には、もともと決定論的なので常にという言葉は無害・無益であるし、 質問相手がライトである場合、常にを入れたところで、相手の言うことはランダムなので無益である。しかし…
補題2 補題1の意味で、キラとLは決して偽証できない。 偽証できるのはライトだけである。ただしライトは常に偽証するとは限らない。
…ライトが他の誰でもなくライトであることを特徴づけるのは、 補題1の意味で、偽証ができるという性質である。 キラとLは補題1の意味で、絶対に偽証ができない。 その意味でキラとLの二人は「偽証できない者」であり、有益な情報ソースであるのだが、 半面、「偽証できる」というやっかいな性質こそが、ライトを特定する重要な手がかりでもある。 誰かが偽証していることをつきとめたら、その時点で、それがライトだと分かるからだ。 偽証しているかどうかを調べるには、偽証できない相手から確実な事実を聞き出しておいて、それと比較することが必要である、 ということに注意する。
ライトは常に偽証するわけではない。その場合、言わば「偽証できない者になりすましている」ことになるが、 「偽証できない者になりすましている」ライトは真実を教えてくれるのだから、 それはそれで「使える」。
この解答例は、おそらく出題者が用意したロジックとは違うだろうが、 同じ命題に対して異なる証明がいくつも考えられるのは普通のことである。
質問1: みつきに「タクトはライトかと問われたら、あなたは常にヤーと答えますね」。
(1) 質問1に、みつきが「ヤー」と答えた場合
可能性として、 みつきはライトであり偽証しているか(自分自身がライトなのにタクトがライトだと言っているのだからそれは偽証)、 または、みつきは偽証できない者でタクトがライトであるという真実を証言している。 この段階では、みつきがライトである可能性が残っているので確実な判断はできない。そこで…
(1) における質問2: めろこに「タクトはライトかと問われたら、あなたは常にヤーと答えますね」。
(1-a) めろこが「ヤー」と答えた場合
みつき・めろこの少なくとも一方はライトでないから偽証できない。 その二人が口をそろえてタクトがライトだと示している。 ゆえにタクト=ライトは確定。
(1-a) における質問3: みつきに「めろこはキラかと問われたら、あなたは常にヤーと答えますね」。
みつきはライトでないから偽証できない。答が「ヤー」なら、めろこ=キラ、消去法でみつき=L。 答が「ダー」なら、めろこ=L、みつき=キラ。(終了)
(1-b) めろこが「ダー」と答えた場合
もし、みつきとめろこが二人とも偽証できない者なら、二人の証言は一致しなければならない。 ところが、みつきとめろこは、タクトについて矛盾する証言をしている。 ゆえに、みつきとめろこのいずれかは偽証している。言い換えれば、この二人の中にライトがいる。 つまり、タクトがライトである可能性はまったくない。
だから、質問1で「タクトがライトだ」と言ったみつきは、偽証していたことになる。 偽証できるのはライトしかいない。 よってみつき=ライト。
(1-b) における質問3: めろこに「タクトはキラかと問われたら、あなたは常にヤーと答えますね」。
めろこはライトでないから偽証できない。答が「ヤー」ならタクト=キラ、めろこ=L。 答が「ダー」ならタクト=L、めろこ=キラ。(終了)
(2) 質問1に、みつきが「ダー」と答えた場合
みつきはライトであるか、ライトでないかのどちらかである。 みつきがライトでないなら、みつきは偽証できないので、質問1への回答によってタクトがライトでないと分かる。 一方、みつき自身がライトであるなら、もちろんタクトはライトでない。 いずれにしても、タクトはライトでないと分かる。 よって、以下は偽証できないタクトを尋問すれば良い。
タクトはライトでないのだから、みつき、めろこのどちらかがライトである。そこで…
(2) における質問2: タクトに「めろこがライトかと聞かれたら、あなたは常にヤーと答えますね」。
(2-a) タクトが「ヤー」と答えた場合
タクトは偽証できないので、めろこ=ライト、決定。 残りの二人は、みつき=キラ、タクト=Lであるか、または、みつき=L、タクト=キラだが、 このことは、タクトへの第三の質問「みつきがキラかと聞かれたら…」で容易に判別できる。(終了)
(2-b) タクトが「ダー」と答えた場合
みつき=ライト、決定。 残りの二人は、めろこ=キラ、タクト=Lであるか、または、めろこ=L、タクト=キラだが、 このことは、タクトへの第三の質問「めろこがキラかと聞かれたら…」で容易に判別できる。(終了)
上記では、場合(1)と(2)に分けて、実質的に2通りの異なるアプローチを用いた。 よりシンプルに、質問1のあと、どちらの場合も同じアプローチを用いることも可能である。
質問者: ねえ、みつき、タクトはライトかと問われたら、あなたは常にヤーと答えるよね?
みつき: ヤー
→ この状態では、みつきは自分がライトなのに偽証しているか、または、みつきは偽証できない者で実際にタクトがライトであるか、 のいずれかであるから、既に、めろこは偽証できないことが確定する。よって、 最初の解の(2)のように、めろこを尋問して、 質問2でライトを同定し、質問3で全員を確定させられる。
質問者: めろこ、きみがライトでないことは既に分かっているんだ。 きみは偽証できない。 そして、みつきかタクトのどちらかが、ライトなんだ。 それを確かめたい。 さあ、めろこに聞くよ。第2の質問だ、答えてくれ。「みつきはライトかと聞かれたら、きみは常にヤーと答えるのか」。
めろこ: ヤー
質問者: これでみつきがライトだってことは分かった。 となれば、めろことタクトのどちらかがキラ、どちらかがLだ。 それを確かめたい。 さあ、めろこに聞くよ。第3の質問だ、答えてくれ。「タクトはキラかと聞かれたら、きみは常にヤーと答えるのか」。
めろこ: ダー
質問者: これでタクトがライトだってことは分かった。 となれば、みつきとめろこのどちらかがキラ、どちらかがLだ。 それを確かめたい。 さあ、めろこに聞くよ。第3の質問だ、答えてくれ。「みつきはキラかと聞かれたら、きみは常にヤーと答えるのか」。
質問者: ねえ、みつき、タクトはライトかと問われたら、あなたは常にヤーと答えるよね?
みつき: ダー
→ この状態では、最初の解の(2)のように、みつきの正体は偽証できるライトであるか、さもなければ、 みつきの証言は正しくタクトはライトでないので、いずれにしてもタクトはライトでなく偽証できないから、タクトを尋問すれば良い。
質問者: タクト、きみがライトでないことは既に分かっているんだ。 きみは偽証できない。 そして、みつきかめろこのどちらかが、ライトなんだ。 それを確かめたい。 さあ、タクトに聞くよ。第2の質問だ、答えてくれ。「みつきはライトかと聞かれたら、きみは常にヤーと答えるのか」。
以下同様。
(A)みつきは「あなたはキラなのか」と質問される。
(B)みつきは「あなたはキラなのか」と質問されるなら、ヤーと答える。
(Z)みつきはヤーと答える。
カメ: わたしは(A)と(B)は真実と認めますが(A)と(B)から(Z)が帰結されるとは認めません。
アキレス: しかしもし仮に(A)と(B)が真実なら(Z)も真実と認めなければならないのだよ。
カメ: そうなのですか。よろしい、その主張は認めましょう。では認めますから、その主張を命題(C)としてください。
(A)みつきは「あなたはキラなのか」と質問される。
(B)みつきは「あなたはキラなのか」と質問されるなら、ヤーと答える。
(C)もしAとBが成り立つなら、Zが成り立つ。
(Z)みつきはヤーと答える。
アキレス: これで分かっただろう。
カメ: 何がですか。
アキレス: Zは成り立つのだ。
カメ: なぜですか。
アキレス: きみの立場は「AとBとCを認める」というのだから、必然的にZも認めざるを得ないのだ。
カメ: なるほど、その主張は認めましょう。認めますから、その主張を命題(D)としてください。
(A)みつきは「あなたはキラなのか」と質問される。
(B)みつきは「あなたはキラなのか」と質問されるなら、ヤーと答える。
(C)もしAとBが成り立つなら、Zが成り立つ。
(D)AとBとCを認めるならZを認めなければならない。
(Z)みつきはヤーと答える。
アキレス: これで満足できたか。Zを認めただろう。
カメ: わたしはAとBとCとDは認めましたが、どうしてZを認めなければいけないのか、さっぱり理由が分かりません。
アキレス: 往生際が悪いぞ。きみはAとBとCとDまで認めたのだから、もはやZを認める以外に道はないのだ。
カメ: AとBとCとDを認めるならZを認めなければならない…?
アキレス: その通り!
カメ: そんな重要な規則があるなら、もっと早く教えてくださいよ。何しろわたしは明示的に書かれている規則以外は認めないのですから。ではその主張は認めますので、(E)と名づけていただけますか。
以下略
まあなんで紹介したかっていうと「満月を探して」とのコラボなのがウケたから(笑)死神繋がりかよw。ライトの名前の由来が「満月を探して」だったらおもしろいな。ググッてみたけど、そういう説はないようだ、残念。
それだけじゃないんすよ奥さん。 まず「死神手帳」。 デスノートと聞いたとき、満月~の死神手帳を連想しました。 さらに!満月~のタクトのフルネームは「タクト・キラ」ですよ、キラ。 「めろこ」とメロも出てるし。 さらに!神山満月と書いて「みつき」。 夜神月と書いて「ライト」。両方、名字に「神」が入り、 名前に「月」が入り、変わった読ませ方をする。
…ね、ただの死神繋がりだけじゃないんすよ。
→ FULLMOON@宇宙りんご
http://umekaz.com/oekaki/sonota/fullmoon_deathnote.jpg
解説:
夜神月(やがみライト)、「キラ」、L(エル)は「DEATH NOTE」に登場するキャラクター名、
神山満月(こうやまみつき)、タクト・キラ、めろこ・ユイは、
「
Eddiの補題1: 「ヤー」はYESの意味ですか?と質問した場合、 「ヤー」がYESの意味の場合の答えは当然「ヤー」(YES)だし、「ヤー」がNOの意味ならば、答えは「ヤー」(NO)が正しい。 相手が「ダー」と答えた場合は嘘をついていることになる。つまり、Lは「ヤー」、キラは「ダー」と必ず答えることになる。
Eddiの補題2: 「あなたたち三人に、ある真偽が確定している質問をして、 めろことタクトの答えが互いに異なっている場合、めろことあなたの答えが同じか、と聞かれたらあなたはヤーと答えますか?」 と、みつきに尋ねたとき、 返事がヤーならタクトが、ダーならめろこが、ライトではない。
補題1は、実際には役立たないかもしれないが、シンプルで美しい。 補題2は、これで合っていれば「ライトでない人を見つける」のに実際に使える。 出典と詳細は、 セーブポイント(Eddi掲示板)
複雑過ぎて直観的な検証が難しいが、みつきに対する次の質問の答えがヤーならめろこはライトでなく、 ダーならタクトはライトでない、というもの。エレガントさなどにこだわらず、 とにかく力業で突破口を見つけるというアプローチがすがすがしい。
『「あなたはLでめろこはキラだ」と「ヤーは肯定を意味する」の真偽が一致する』を命題1と呼び、 『「あなたはキラでめろこはライトだ」と「ヤーは肯定を意味する」の真偽が一致する』を命題2と呼び、 『「あなたはLでめろこはキラだ」の真偽値が「あなたはキラでめろこはライトだ」の真偽値とも「ヤーは肯定を意味する」の真偽値とも異なる』を命題3と呼び、 『あなたはLである』を命題4と呼ぶとき、 「命題1、2、3がそれぞれ真・真・偽である」か、または、「命題1と命題2の真偽値が異なり、かつ命題3と命題4の真偽値が異なる」のですか。
出典と詳細は、Trap School - 雑記: デスノート論理パズル。 根拠(画像)はdeathnote2.jpg。
真神・乱神・偽神についての論理パズルをご存知だろうか。
「
ところが、正解と少し違う答え(=厳密には正しくない答え)が正解とされていることも多い。
「誰々は乱神ですか?と聞かれたらあなたはdaと答えますか」といったタイプの答案を正解としている人が多いが、厳密には問題がある。
問題点をはっきりさせるために、次を考えよう。
このパズルのうち、「
(1) 乱神は頭の中にサイコロがあって回答する都度、丁半バクチをし、奇数なら真、偶数なら偽を答える、と考えてよい
(2) 矛盾を含むなど、論理的に回答不能であってはいけない。確率的な質問も駄目
「
質問した相手が乱神だった場合、「誰々はdaと答えますか」タイプの質問は、上記の質問3・4に相当してしまい、ルール違反となる。
一方、「質問Aに対して誰々は必ずdaと答えますか」なら、普遍的に、真偽を判定できる。 「誰々」が真神・偽神なら動作が確定的なので必ずがあってもなくても同じことだし、 「誰々」が乱神の場合、必ず一定の答えをすることはない、ということは問題の前提から明らかだから、命題としては偽に確定する。
まとめると、「誰々は乱神ですかと聞かれたら、あなたはdaと答えますか?」といった尋ね方は、相手が乱神でないと分かっている場合以外には、ルール違反である。 最初の質問の時点では、相手が乱神であるかどうかは分からないので、結局そのような尋ね方はルール上、許されていない。 対応する適切な尋ね方は、「誰々は乱神ですか?と聞かれたら、あなたは常にdaと答えますか?」となる。 常にに当たる言葉が入っていない答案はきちんと考え抜かれておらず、詰めが甘い。
次のような尋ね方で、乱神のランダム性を回避できる、と考える人もいる。 「あなたの今の心の状態では、誰々は乱神かと聞かれたらあなたはdaと答えますか」
背後にあるのは「乱神は正直モードとうそつきモードの二つの心の状態がランダムに入れ替わるもので、 その状態がどちらかは、瞬間瞬間には確定的だ」という仮定で、 量子論的世界観とでも言うのだろうか。 何を聞かれてもサイコロで最終結果だけ選ぶ、というバージョンではこれは成り立たないかもしれない。 もっとも神はサイコロの目を確定的に予想できる、とするなら、また別の解釈も可能かもしれない。 この問題の一般的なバージョンではサイコロは登場しないので、パズルの一般形に対しては、一応検討の余地がある。
この尋ね方には、ちょうど量子論のそれと対応するような、哲学的問題がある。 外部から観測できるできないはともかく、心の状態という変数は確定していて、 乱神自身はその変数を読めるのか…? 厳密に考えれば、そんな保障はどこにもない。 しかし、その点は目をつぶることにしよう。
それでも、結局のところ、この方法はうまくいかない。 理由は、「あなたの今の心の状態」という変数をロードする操作と、「daと答えますか」の真偽値判定処理がアトミックでないことである。
議論の便宜上、次のようなシナリオを考えてみる。 「今の心の状態」を読んだ瞬間に、乱神は正直者だったと仮定する。 すると 「あなたの今の心の状態では、Pは真ですか」型のインプットは、内部的に「正直者の心の状態ではPは真ですか」に変換され、 次のステップとして、その真偽が判定されることになる。 ところが、この判定をするときには、乱神の心の状態はうそつきに遷移している可能性がある。 すると「正直者の心の状態では」という命題を正直者でない心の状態で答えることになり、 メタ質問のトリックが機能しなくなる。
具体的に、Pは実際には真とすると、 「正直者の心の状態ではPは真ですか」は正直者にとっては真、うそつきにとっては偽であるが、 これでは、正直者とうそつきが同じ答えをするように仕向ける、という大前提が崩れてしまっている。 もし上記がアトミックなら、乱神は、 正直者として「正直者の心の状態ではPは真ですか」を判定するか(真)、または うそつきとして「うそつきの心の状態ではPは真ですか」を判定するか(真)のどちらかしか起きないので、真偽値は一定する。 前提として「確定的な隠れた変数」を仮定した場合、この方法がうまくいくかどうかは、アトミック性の保障の有無と同値である。
ここで「アトミック」というのは、質問を受け付けてから答えを言うまでの間、心の状態が正直モード・うそつきモードのどちらかに一定していて途中では変化しない、という意味だ。つまり、乱神は心の状態がころころ変わるものの、上記の限定されたタイムフレームでは状態が変わらない…という仮定。 心の状態が変化するごとに時間軸上を区切ると、「自分の心の状態を認識する操作と、その認識を参照しながら推論する操作」が、不可分で、必ず同じ状態区間に属する…という仮定だ。 ずいぶん虫の良い勝手な仮定だが、それに気付かず(あるいはあえて触れず)そういう尋ね方によるチートが可能だと説く者もいる。
一般に、“複合的”な処理を乱神に行わせるとき、処理の途中で乱神の心の状態が遷移しない保証がない。 例えば、「PかつQですか」と尋ねられたとき、乱神はPの判定を正直モード、Qの判定はうそつきモードで行う、ということを禁止されていない。
原理的には「あなたの心の状態をロックしてください。あなたの今の心の状態では、Aは乱神からと聞かれたらあなたはdaと答えますか。 回答が終わったら心の状態をアンロックしてください」と要求できれば、正しい答えが導けるが、われわれに許されているのは質問を3回することだけで、 心の状態のロック・アンロックのパーミッションがない。 そもそもロック権限があれば、乱神を真神または偽神にキャラチェンジさせられることになるが(どちらに変わるかはロックをかけた時点のモードによる)、 それではパズルの意味がないではないか…。乱神の心はいつでもアンロック。結局、この別解は、興味深い問題をはらんでいるものの、技術的には正解と認められない。
このパズルでもう一つ、直観的に少しすっきりしない点があるかもしれない。 「Pと尋ねられたらdaと答えるか」というタイプの質問を偽神がどう処理するか。 「Pと尋ねられたらその場合は…」という仮定上の推論を偽神がちゃんとやってくれるのか。 うそつきであるにもかかわらず、「Pと尋ねられた場合に自分が何をするか(=どううそをつくか)」を正直に心の中で想定して、その正直な想定についてうその回答をしてくれる、と考えることは本当に正しいか。
いい質問かもしれない。 が、結論から言えば、そう考えるしかなさそうだ。
偽神が「あなたは正直者ですか」と尋ねられた場合を考えてみよう。 「あなたは正直者ですか」と尋ねられたとき、偽神はまず「自分は正直者か」について正直に判定し(答えは偽)、次にその真偽値を正確に反転した結果を返す(戻り値は真)。 つまり、常にうそをつくことが保障されている者は、すべての真実を正確に・あいまいさなく・正直に判定できる能力を持っていて、それを使う必要がある。 それ以外の方法だと、うっかり本当のことを言ってしまう可能性があり、つねにうそをつくという前提に反してしまう。 論理的な意味のうそつきと、「よく考えないででたらめな答えをする人」は違う。 でたらめな答えはたまたま正しいこともあるが、 論理的なうそつきは決して正しいことを言わない。
説明としては、偽神は、最後の答えを出す直前までは正直に正しい推論をして、論理的に正しい真偽値について、最終結果だけ真偽反転させることになる。 うそつきなのは最後の一瞬だけで、内部的にほとんどの時間は正直者として機能している。 「うそつき」という日常語のイメージとはだいぶ違うが、「論理的に真偽値が決定できる限りにおいて、常にうそをつく」ということは、それ以外に解釈のしようがない。
もっとも、この問題もより深く考えると、微妙なあやがある。 偽神は実は論理的手順を踏んでおらず、 何らかの超越的・魔法的な方法で、質問に対して「いきなり」うその答えができる、のだとしたら…? 「いきなり」うその答えができるとした場合、 質問についての質問はどうなるか。 質問の答え(うそ)を考えてそれについてまたうそをつく、という処理ステップの分解可能性が、このパズルの大前提になっているので、 魔法的に「いきなり」1ステップで答えが出せるなら、もしかするとメタ質問については期待通りに動作してくれない可能性がある。
パズルの意図としては、神の処理ステップは分解可能であり、その動作は超越的(いきなり答えを出す)ではなく、論理的(筋道に従って1ステップずつ推論を進める)だと考えるべきだろう。 処理ステップが分解可能である以上、 「心の状態」を参照させることによる乱神対策もアトミック性を仮定しない限り機能しない。 この分解可能性の議論自体は論理ではなく単なる見解だが、まあ妥当な線ではないか。
神というと話が妙になるが、真・偽・乱の動作をする3つのコンピュータプログラムを想像して、 真・偽・乱の具体的意味をきちんと定義すれば、もう少しきっちり議論できるのかもしれない。 「乱プログラムは論理的に正しい推論プログラムで、真モードと偽モードが不規則に入れ替わるもの」と定義したなら、実際に「自分のモードを表す変数へのアクセス」は検討すべき問題となり、 その場合、アトミック性の議論は非常にもっともな論点になるだろう。 乱プログラムは、中にサルかタコが一匹入っていて、質問がインプットされると適当に二つのキーのどちらかを押すだけ…の方が実装が簡単だし、 「心の状態」を盗み読むことによるチートもできないので、セキュリティ上も好ましいようだ…。
論理パズルの「乱神」(“デスノートをさがして”の「ライト」)に対するチートが成立するか?を話題にしたことがあるが、これについてコンピュータ上で検証できた。 チート可能な乱神の振る舞いを実験的に再現できる。 乱神の実装の細部のどのような違いがチート可能性を特徴づけるか。
*
次の型の論理パズルを考える。 「3種類の神、真神・偽神・乱神が存在し、 それぞれ論理的に決定可能な命題について、常に正しく・常にうそをついて・ランダムに真偽を回答する。 3回の質問で、与えらた3個の神A, B, Cの種類を判別せよ。 ただし、{A, B, C} は {真神, 偽神, 乱神} とし、自他の属性について正しい知識を持っている。 神の答えは判定結果の真偽に対応して Ja か Da であり、一方が真、他方が偽を意味する。」
質問相手が乱神でない場合、「Aは乱神かと尋ねられたらあなたは Ja と答えますか」といったタイプの質問で情報が引き出せるが、 通常の解釈としては(直観や理論としても)一般に乱神からは情報を引き出せない。
乱神チートとは「今のあなたの心の状態では~と尋ねられたらあなたは Ja と答えますか」といった尋ね方で、乱神からも情報が引き出せるという主張である。
これは一般には正しくない。しかし、次の条件が満たされる特殊な場合には、チート可能だ。
(1) 乱神が、決定論的評価関数のアドレスを返す確率的関数として実装されていること。
(2) ある瞬間における乱神のアドレスの保存が許されていること。
これは、コンピュータ上の実際の実験によっても検証できる。
*
真神と偽神は、それぞれ次の形の評価関数だ。
Eval = function(str){ return eval(str); }
Eval = function(str){ return !eval(str); }
このメモで、コードはJavaScriptで表記する。どれも実際に実行してコンピュータ上で検証できる。
例えば Eval('1+1==2')
に対して、前者は true、 後者は false を返す。
これは「1+1=2ですか」を真神は肯定、偽神は否定することを意味する。
このパズルは、次のように形式化できる。 「変数 x, y, z はそれぞれ 0, 1, 2 のいずれかで、どの二つも等しくない。 内容が未知の評価関数 Eval を用いて、x, y, z を決定せよ」
例えば、x=1 かどうかを判定する場合を考えると真神・偽神に対しては「x=1かと尋ねられたら、あなたはtrueを返しますか」でうまくいくわけだが、
その意味は:
Eval("Eval('x==1')==true")
の外側の評価関数は、実質的に「偽神なら内側の判定結果を逆転させる」という作用を持つ。
実際、内側の Eval は true か false を返す。その真偽値は、評価関数の実体が eval なら真実、!eval なら真実の逆だ。
もし評価関数の実体が eval なら、つまり真神なら、外側の Eval は明らかに何もしない。内側の結果をそのまま伝達する。
評価関数の実体が !eval なら、つまり偽神なら、外側の Eval は内側の判定結果を逆転させる。
「偽神なら内側の判定結果を逆転させる」とは、「うそつきなら Yes と No を逆にせよ」つまり「うそつきなら本来の答えと逆を言え」要するに「うそつきならうそをやめさせる」という作用を持つ。
JaかDaかの一方が true で他方が false であるとして「~と聞かれたらJaと答えますか」は、
Eval("Eval('x==1')==Ja")==Ja
もし Ja が true なら最初の考察と変わらない。
Eval("Eval('x==1')==true")==true
Ja が false だった場合は単に、
Eval("Eval('x==1')==!true")==!true
外側の Eval の結果が逆転して、それを逆転した真偽値と照合するので、第1の場合に帰着される。
*
真神と偽神を同一視できるようにするトリックのため、1回の質問でEvalが2回呼び出されることに注意する。 適切なロック可能性(アトミック性)の仮定なしでは、この質問方法が乱神に対してうまくいかないことは明らかだ。 一般に、2回のEval呼び出しの間で変数Evalの内容(評価関数の種類)が変わってしまう可能性があるからだ。
「乱神は、瞬間瞬間においては、真神または偽神と同内容の評価関数である」という仮定のもとで、
乱神チートは、
Eval("Eval('x==1')==Ja")==Ja
を
var myEval = Eval(); myEval("myEval('x==1')==Ja")==Ja
と置き換えることで、上記問題を回避しようとするものだ。
var myEval = Eval()
の ()
は、Evalが0個の引数を取り関数を返す場合は必要だが、
Evalが1個の引数を取り真偽値を返す場合は不要だ。
この微妙な違いはチートが可能かどうかと関連している。
意図は「今のあなたの心の状態では」という言葉で評価関数をロックして、1回の質問の間では評価関数の内容が変わらないようにすることである。 どのタイミングでランダムに変わるか分からない評価関数を、ローカル変数に保存する試みだ。 これが正当な論理的手続きと呼べるかは問題だが、仮に許されたとしても、一般には失敗する。
チートは、
乱神が次のように(概念上)静的関数のアドレスをランダムに返す超関数として実装されていると、実際に成り立つ。
function trueEval( str ) { return eval(str); }
function falseEval( str ) { return !eval(str); }
function randomEval() { return Math.random() < 0.5 ? trueEval : falseEval ; }
対照的に、静的関数をランダムに呼び出すメソッドとして実装されていると、成り立たない。
function randomEval(str) { return Math.random() < 0.5 ? trueEval(str) : falseEval(str) ; }
前者においては、実質的に、ある瞬間に超関数から呼び出されている下請け関数のアドレスがコピーされる。 このアドレスを利用して以降は特定の下請けを直接呼べば、確かにいつも真または偽となりチートだ。 この実装は、機能的にプライベートな内部の下請けが直接呼び出し可能で、あまり安全でない(だからチートされる)。 後者においては、乱神の働き(ランダムに下請け関数を呼び出す)そのものがコピーされるので、普通に乱神を呼ぶことと変わらず、効果がない。 後者の実装では、乱神呼び出しは評価対象式を伴わなければならず、乱神は関数を返す超関数ではなく、 真偽値を返す関数だ。 前者がチートの可能性を主張する人の意図だが、乱神が前者のように実装されている保障はない。 むしろ前者の実装は、乱神が評価対象式を取り真偽値を返す関数でなく、しっくりしない。言語によっては、この超関数を0変数で呼び出すと下請けのアドレスが返り、1変数で呼び出すと下請けからの戻り値が返るのかもしれないが、不自然と言うしかない。 結局、非常に特殊な条件を仮定しないと、チートは成り立たない。 現在のモードを保存する試みも、Evalがロックされていないためうまくいかない。
そもそも「今のあなたの心の状態では」という言葉があってもなくても「今の心の状態」以外で判断することはあり得ず、 「今のあなたの心の状態では」という言葉は論理的な意味を持つというより、暗黙のロック要求である。 ところが、たとえ乱神が親切で協力的であったとしてすら、実装によっては原理的に乱神は自分をロックできない。
この作品は第一部が傑作だから、それで既に十分価値がある。 第二部は多少劣るが「人気があるため予定外に延長してつまらない」というのは仕方ないこと・よくあることで、 これはそれでもまだ非常に良い方だ。
よって、以下は全体として名作だというリスペクトが大前提で、 けなす意味では決してないのだが、 第二部に対する不満は大きい。
ネタばれ注意 以下のメモは作品の結末を踏まえた感想です。 具体的な展開については、意図的にぼかしてありますが、 何かが分かってしまう可能性があります。ご注意ください。
メロ・ニア萌え注意 メロ OR ニア萌えの方には大変申し訳ないのですが、 以下は第二部のキャラは第一部のキャラに比べて陰が薄いという立場から書かれています。 また単行本完結前に連載完結の時点で書いたことと、 書いたとき多少失望やフラストレーションを感じていたため、 大ざっぱ過ぎる表現が少なからずあります。 「派手でない(あまり目立たない)キャラの良さ」を否定する意図はありませんが、 上記のような事情なので、これららのキャラのファンの方が読むと腹が立つかもしれません。 どうせたいしたことは書いていないので、該当する方は読まない方がいいかもしれません。
デスノートの良さは、一言で言えば「ルパン」の良さだ。 (もう一つ、現代社会の「倦怠」「退屈」をうまくとらえているという面も大きいが、今回は略。) 再放送などで、タイムボカーンやら戦隊モノやらいろいろ見た人は多いと思うが、 あれらの致命的弱点は「正義が勝つ」という縛りのためストーリーをどうひねっても本質的な意外性がないということ。 もしタイムボカーンシリーズとルパン(初代)を同時に見た人がいたら、ルパンがどんなにカッコイイか、 ひしひし感じただろう。 一方はマンネリ自体が味であるとしか言いようがない退屈な世界、 他方は泥棒(悪)が警察(インターポール)を出し抜き何が起こるか分からないスリリングな世界。
誤解のないように言っておくが、現実世界で悪が栄えて不正がまかり通ることがおもしろいと言っているのではない。 ファンタジーの中では、現実とちょっと違う意外なことが起きてもいいではないか、という話で、 犯罪や悪を賛美することと「犯罪モノ」のおもしろさを語ることは違う。 「デスノート」のおもしろさを語ることは現実的に殺人を賛美しているのではない。
花の子ルンルンはパスポートを持たずに出入国管理法違反をしているが、 だから魔法の花を探して世界を旅してはいけない、 あれは犯罪者が主人公の悪いストーリーだ、などと夢のないことを言う人はいないだろう。 現実にはできないこと・やってはいけないこと、現実と違う世界やルールを前提にしてこそ、 空想や思考実験のおもしろさがある。 ルンルンが出入国管理法で逮捕されて終わったら「はっ?」である。 それは作品世界におけるストーリーの意外性ではなく、世界観自体の崩壊だ。 これはイニシャルDで主人公がダウンヒルで崖から落ちて突然死したら最悪であるのと同じくらい興ざめで、 現実であったら事故が起きておかしくないことだが、そういう現実的な部分には必要以上に触れないことで、 作品世界を純粋に楽しめるようになっている。 ルパンが銭形に逮捕されて死刑になったらこれも最悪である。 大泥棒だから最後には処刑されるのが当然である、などと現実のルールをいきなり押しつけられても困るし、 それを押しつけないということを前提にルパンの活躍を楽しむのが作品の世界なのだから。
まだ単行本の方は完結していないのでそれ以上は今は語らないが、 個人的感想としては、それがデスノ二部の残念な点だった。
意外性の世界はリアリティと程よくミックスされるとき、良い効果を上げやすい。 第一部でコンソメ味のポテチを食べたり、テニスをしたりするキャラたちは、 非常にリアルで濃い存在感があるのだが、 第二部は、 悪い意味でふわふわしていてストーリーに現実感がない。 第一部でキャラがポテチを食べたリンゴを食べると、それを追体験できる。 テニスをすればボールの重みがある。 ところが、 第二部のキャラがあれだけ板チョコを食いまくっても、一度も甘い味を追体験できなかった。 フルムーンとデスノートのネタを書いたとき、あれだけいろいろ細かいかけことばを使いながら、 言われてみれば明らかな「めろこ~メロ」を見落としていたのが象徴的だ。 「タクト・キラ~キラ」と違って、あの時点では、 メロは記憶だけを頼りにネタを書くと存在自体を忘れてしまうほどだった。
アメリカ合衆国自体を既に味方につけ、FBIでもCIAでも好きに動かせるはずのライト視点では、
あんなひとりで飛行機も乗れないニアを生かしておいても困ることは何もないわけで、
通信を着信拒否すればそれで終わりである。
ここは「敵ボス・デフレ」という非常に珍しい現象が起きている。
普通、対戦相手はだんだん強敵になって「インフレ」を起こすわけだが、
ニアはLより実力も存在感も弱い。単に「設定上」のみLを越えるかもしれないというだけで、
ストーリー的な裏付けに乏しい。
「わたしがLです」と大学に来てテニスをやるLの大胆さ、
とっさに
年少の読者も多いので、 まあ殺人者が主人公で勝利ではまずいのでは…と批判や配慮もあったのだろうなあ …という面は想像できるし、全体としては名作なので悪く言いたくないのだが… 最後は敵対していたこのふたりの深い友情というとってつけたような少年漫画的解決になっているのは、 ちょっと不自然かな…。
主人公が負けて終わるのが悪いとは言わない。 例えばヒカルの碁でヒカルが負けて終わるとしても、それはリアルの重さを感じさせる「心地良い裏切り」とも言える。 ジョーもホセに負けたが「負けたこと」でのみ表現できる美がある。 人によって考え方は異なるだろうが、 読者の夢を壊すようでも、 少なくとも、そこには作者の明確な主張がある。
しかし、あそこまで非現実感を醸成してしまったデスノ第二部で、突然、 正義は最後には勝つみたいな、まともなムードが出てくるのは…。
あんなに前からライトが負けそうな伏線をあれだけ出しまくって (やけに自信満々のキャラが必ず負けるのはお約束w)、そのまんま、ではね。 主人公が勝利するのは普通の展開だけに安っぽくなりやすいが、 主人公の敗北を美しく描くのには非常に高等な技術とストーリー展開の妙が要求される。 デスノの二部にそんな絶妙さなどない。 ニアには勝たせたいと応援したくなるほどの魅力すらない。 ライトをやばそうに見せて、その実、ライトには秘策があったのだが、さらに裏をかかれた…くらいの展開なら「おおお」と思うが、 ライトがあれだけ自信満々だと…。「さらにどんでん返しがあるのかあ?」と思って見たら「なんだやっぱりそういう展開なのかあ」と。 最初に書いたように、ルパンが銭形につかまって処刑されたとしたら「作品世界の中での心地良い意外性」ではなく、 「作品世界の構造全体を矛盾させる破綻」としか言いようがない。 だから、もし、ルパンがそうならざるをえないようにストーリーを進行させたら、 それは作品世界の失敗だろう。
そう分析するとき、デスノートのゲームバランスのまずさをあえて言えば、 「定期的な支払い」がなかったことである。 ライトは「無料で」ノートを使い続けた。 ルパンは盗んでもすぐ横取りされたり、空振りに終わる。 星飛馬は名投手でありながらひそかに腕を痛める。 矢吹丈はパンチドランカーになり脳を冒される。 オスカルはフランス革命を成功に導くが不治の病も進行し…。 というふうに、古典的名作では、プラスとマイナス、成長とブレーキが同時に進行することで、 敵キャラインフレの中でもゲームバランスが保たれる。ライトもいちばん最初には「ノートを使うことで精神をやられる」という「これは」と思わせるナイスな伏線を出しながら、なぜか、どう克服したのか説明がないままうやむやになっていて、 それは第一部のワン・アイデアな展開ではOKなのだが、長期連載すると、 プラスばかりでマイナスがなかったことが非常に大きなツケになってしまった感じがする。
マイナスの面を見せないのは、今風で、それ自体は決して悪くない。 ただでさえストレスの多い今の子どもが、漫画の中でまで精神的に苦悩しつつ競争相手を倒す、 という現実とパラレルの悪夢を見せられてはかなわない。 第一部はあれで完結した名作だ。だからこそ、Lが死んで、ライトがほくそ笑むところで、 後は想像にまかせて、余韻じょうじょうと終わってくれたらどんなに良かっただろう…。
とはいえ、第二部は第二部で決して悪くない。予定になかったのに急に作った続編としては、 なお非常に良い部類だ。本当に批判するべきものがあるとしたら、 この作品の展開ではなく「人気があると、既に完結しているものを無理矢理続けるはめになる」という作品作りの現状のネガティブな面だ。 デスノの二部が一部に比べてつまらない、と批判するとき、本当に悪いのは二部の展開ではない。 ストーリー的に完結しているのに「おもしろいから続編きぼんぬ」と無理を言う読者にこそ最終的な責任があり、 ひいては「読者の大量支持」が第一のパラメータになる制作現場の構造的問題である。
無名のお堅い同人作家なら、どんなに続編きぼんぬと言われても、 「これはこれで完結した世界ですから」「人気やお金儲けで書いてるのではありませんし」と拒むだろう。 メジャーの世界でも、そうできる場合も多々あると思うのだが、 この作品の場合は、結果的に続編を作ることになってしまった。 読者の強い希望で予定外に作った続編がまた傑作ということもありうるのだが、 そうでないことも多い。 そしてそれは、原作者の責任とばかりは言えない。