論理矛盾ラボ

全探索で唯一解が確認された新しい矛盾パズルを解きます。

インタラクティブシミュレーションを読み込んでいます...
パズルはブール方程式の連立系

真実を話す人を1、嘘つきを0とします。発言者の文の値が自身の役割ビットと一致するとき整合します。

SX(R) = RX

ラボは各 X で S_X(R) = R_X を確認します。全方程式が同じ役割ベクトル R を共有し、同時に成立する必要があります。

各文は完全な役割割り当てのブール関数です。

1つの矛盾が可能世界全体を消去する

役割割り当てを仮定し、各文を評価して発言者の役割と比較します。

SX(R) ≠ RX ⇒ reject R

1つでも不一致なら割り当て全体を棄却できます。ヒントは仮定と、その分岐を不可能にする方程式を示します。

矛盾は世界が規則を満たせないことを証明します。

解けるだけでは不十分:答えは一意であるべき

整合するパズルでも、有効な割り当てが複数ある場合があります。

|{R : ∀X, SX(R)=RX}| = 1

生成した各パズルを全探索し、残る世界がちょうど1つの場合だけ採用します。

緑の世界が論理系の唯一のモデルです。

強い手掛かりは多くの世界を消す

有用な文は候補を分けます。弱い文はほぼ全候補で同じ値かもしれません。

candidates: 2n → … → 1

ヒントは未適用のうち最も多くの世界を消す方程式を選び、答えへ飛ばずに不確実性を減らします。

情報量の多い方程式で候補数が減ります。

自己言及が必ず役立つとは限らない

「私は真実を話す」は両方の役割と整合し、新しい情報を与えません。

SX(R) = RX

「私は嘘をついている」は厳密な規則ではどちらの役割でも整合しません。生成器は両方を除外し、参加者間の関係を使います。

一方は恒真な自己主張、他方は充足不能な方程式です。

例題