月刊「理系への数学」数学パズルにトドメをさす?! 今月のFlash
第23回
2012年 7月号
ロジックの糸を解きほぐせ!(その3) 〜この文は偽である〜
正直者と嘘つきを見抜け

目的

「正直者」は必ず真実を述べ、「嘘つき」は必ず嘘を含む発言をするという設定で、だれが嘘つきかを特定するパズルに挑戦してみましょう。

操作方法

A〜Fの6人の発言を元に、各人が「正直者」「嘘つき」のどちらであるかを推理し、属性欄の該当する方をクリックして選択します。選択後「解答」をクリックすると、属性の組合せ全てが正しい場合は「正解」と表示し、間違いがある場合は選択された属性を前提とすると矛盾が生じる発言を赤くハイライトして示します。

自動生成される問題について

出題される問題は、必ず属性の組合せが1通りに確定する(唯一解となる)ように作成されています。したがって、矛盾のない属性の組合せが1組でも見つかればそれが正解となりますが、他に正解がないことも理詰めで検証してみてください。

自動生成においては、「唯一解となるように」と観点以外では特に制御せずに無作為にヒントとなる発言を選んでいるため、問題の難易度は大きくばらつきますが、高々64通りの可能性からの絞り込みなので、軽い頭の体操としては手頃だと思います。

不正解時にハイライトされるのは、解答された6人の属性を前提とするならば矛盾が生じる発言、すなわち「正直者なのに誤りを含む発言となっているもの」や「嘘つきなのに正しい発言となっているもの」を示しています。したがって、発言がハイライトされた人の属性が必ずしも誤っているわけではなく、他の人の属性を修正することで矛盾が解消される可能性もあります。

なお、6人の発言は、以下のパターンのいずれかとなります。

・Xは 正直者/嘘つき です

・XとYはどちらも 正直者/嘘つき です

・XとYのうち少なくとも1人は 正直者/嘘つき です

・6人のうちちょうどN人が 正直者/嘘つき です

解法のヒント

Xが「Yは正直者です」と発言している場合は、XとYの属性は同じです。また、Xが「Yは嘘つきです」と発言している場合は、XとYの属性は異なります。このようなシンプルな発言がある場合は、まずはそれらを足がかりとして可能性を絞り込みましょう。