知識を扱う様相論理を認識論理という泥んこパズル


何人かの子どもが一緒に泥んこ遊びをしている。そのうちk 人の額に泥が付いていて、どの子も他の子の額は見られるが、自分の額は見られない。そこに大人が通りかかって「この中で少なくとも1人の額に泥が付いている」と伝え、全員の子どもに同時に「自分の額に泥がついているかわかるか」を繰り返し聞いていく。k -1回目まで泥のついた子どもたち含めみな「いいえ」と答えていたが、k 回目で泥のついた子どもたちだけがみな正しく「はい」と答えた。どうしてだろうか。
答えはこちら
k =1から、k を1ずつ増やして調べていく。まず泥の付いた子が1人だけなら、その子は他の子に泥が付いていないことから、自分がそうだとわかる。次に、k =2の場合を考える。泥がついた2人を a, b とする。最初の問いにb が「いいえ」と答えた段階で、a は自分に泥が付いていることがわかる。なぜなら、もしa に泥が付いていなければ、b は泥の付いている子を誰も見ていないことになり、自分に泥が付いていると推論できるからである。同様に、a の「いいえ」の答えから、b は自分に泥が付いていることがわかる。では、k =3とする。泥がついた子を a, b, c とする。a はこう考えるだろう。もし自分に泥が付いていなければ、k =2の場合に還元される。すると、最初の問いにb, c が「いいえ」と答えた段階で、彼らは自分に泥が付いていることを推論できたはずである。しかし、もう一度「いいえ」を繰り返したということは、a に泥が付いていないという仮定が否定される。つまり、a は自分に泥が付いていることを推論できる。同様に、b, c も自分に泥がついていることがわかる。k >3の場合についてもあとは同様である。(子供たちはk がいくつか知っているわけではなく、そうでなくても上の場合分けがうまくいくことに注意されたい)。上の解答に対してもう少し厳密な考察を与えてくれるのが、「認識論理」という一種の様相論理である。「a さんが命題 A を知っている(a knows A)」を Ka A で表す。そして、「b に泥がついている」という命題を pb とすると、a≠b ならば、pb → Ka pb が言える。重要なことはこれが事実であるだけでなく、みんながその事実を知っていること、つまりすべての子 c について、Kc (pb → Ka pb ) (ただし、a≠b ) が仮定されることである。さらには、すべての子 d についてKd Kc (pb → Ka pb ) も成り立つと思われるが、なぜそうなのか考え出すと自明ではない。いま、子供の数を3人として、その子たちを a, b, c とすると、k > 1 の時は、pa ∨ pb ∨ pc (誰かに泥が付いている)は大人の発言がなくてもみんな知っていることである。しかし、大人の発言がないと、みんな知っていることをみんな知っているとは限らず、それでは問題が解けないのである。では、一体どんな知識の公理が必要になるだろうか? これは認識論理における逆数学的問題である。

-
-
「知っている」という様相
を使って考えてみよう。