Эпистемическая логика
Эпистемическая логика создана для изучения понятия знания и является направлением в модальной логике. Начнём с примера, который иллюстрирует понятие знания.
Задача о грязных детях
правитьВ песочнице играют детей . Мама предупреждает их: "Если кто-нибудь из вас запачкается, у него будут большие проблемы". Предположим, что детей запачкали свои лбы (и, следовательно, не знают, чистые они или нет). Чтобы как-то помочь детям, папа заявляет им: "Кое-кто из вас уже запачкался". Поскольку мама слышит всё, что произносится детьми и отцом (но не видит, так как, скажем, читает газету), то отцу не так просто намекнуть детям, кто из них запачкал лоб. Предположим, что отец -- математик или философ. Решение отца таково: задавать один и тот же вопрос:
"Знает ли каждый из вас, грязен он или нет?"
ровно столько раз, сколько грязных детей, т.е. раз. (Он не смущается это делать, поскольку жена и без того считает его несколько сумасшедшим). Если предположить, что дети честны, гениальны (т.е. способны вывести все следствия из их знаний), видят других и слышат отца, то решение отца пройдёт! (Важно также, что дети отвечают хором, т.е. одновременно). Оказывается, что:
1) На первые вопросов все дети ответят "Нет". 2) На -й вопрос все грязные ответят "Да", а все чистые по-прежнему "Нет"!
Например, если , то картина такая:
-- грязный
В этом случае, ответ на первый вопрос будет "Нет" для каждого ребёнка, поскольку каждый из них видит хотя бы одного грязного (ребёнок может ответить "Да" уже на первом шагу, только если видит перед собой всех чистыми). На втором шаге каждый из грязных рассуждает так: "я вижу только одного грязного, но он на предыдущем шаге ответил "Нет" и, значит, он видел перед собой хотя бы одного грязного, т.е. это грязный я!". Следовательно, на шаге все грязные отвечают "Да". Чистые на втором шаге по-прежнему ответят "Нет" (проверьте!). Проверьте это для .
Обозначим утверждение отца "кое-кто из вас уже запачкался" через . Через обозначим тот факт, что все дети знают . Аналогично
т.е. все знают, что все знают, что все знают, и т.д. раз, что все знают .
Пусть . Тогда и без утверждения отца каждый ребёнок видит перед собой хотя бы одного грязного. Т.е. все знали и без утверждения отца. Так что же нового дало публичное заявление отцом факта детям? Оно дало не только , но и , для любого ! Т.е. отец сделал общим знанием детей (common knowledge). Проверьте, что до утверждения отца имело место , но не ! (возьмите ) не достаточно для того, чтобы дети определили на -ом шаге, кто из них грязный, а уже достаточно! (Отец, конечно, сообщил им гораздо больше.)
Кроме того, чтобы решение отца было решением, необходимо дополнительно предположить:
"все дети честны, гениальны, чувствительны и т.д."
Например, если , то после первого вопроса грязный не был бы уверен, что второй грязный, ответив "Нет" на первый вопрос, сказал правду.
Вопрос: может ли отец сделать общим знанием детей не заявляя им публично?
Носители знания в эпистемологии называются агентами. Агентами могут быть дети, роботы, программы (в этом случае знанием программы может быть память к которой у неё есть доступ) и т.д.
Для описания и изучения ситуаций, при которых агенты, находясь в общих условиях, преобразовывают свои знания (как например в задаче "о грязных детях") разработан формальный язык -- эпистемическая логика.
Описание языка
правитьСинтаксис
правитьМир, в котором находятся агенты, описывается свойствами (например, "снег белый" - свойство нашего мира). Для обозначения различных свойств различных миров используются пропозициональные буквы:
Для каждого агента (предположим, что их конечное число, n штук) с номером вводится знак . Интуитивно, если - некоторое свойство, то означает " -й агент знает ". Отождествим агентов с их номерами . Пусть множество агентов. Для каждого такого G вводятся символы . Интуитивно:
"Все агенты из знают "
" - общее знание агентов из "
" - дистрибутивное зание агентов из " " это такое знание, которое может быть получено в результате опроса агентов из (при этом каждый агент в отдельности может не знать "
Логические связки: ("и"), ("не"), ("или") ...
\mathfrak{M} \models \varphi\,\!</math> и
Итак, согласно пункту 4, агент, находясь в некотором состоянии знает , если истинно во всех для него состояниях.
Пусть - структура Крипке для трёх детей (см. выше). Проверьте, что:
Определения
( - универсально истинна)
- выполнима
Проверьте, что следующие формулы универсально истинны для любого :
(дистрибутивность)
(аксиома знания)
(позитивная интроспекция)
(негативная интроспекция)
Проверьте, что если , то .