Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Семантика логики Печать

Определив синтаксис пропозициональной логики, мы можем приступить к определению ее семантики. Семантика диктует правила выявления истинности высказывания по отношению к конкретной модели. В пропозициональной логике любая модель просто фиксирует истинностное значение (true или false) для каждого пропозиционального символа. Например, если в высказываниях некоторой базы знаний используются пропозициональные символы P1,2, P2,2 и P3,1 то одна из возможных моделей состоит в следующем:

m1 = {P1,2 = false, P2,2 = false, P3,1 = true}

При наличии трех пропозициональных символов существует 23 = 8 возможных моделей; именно столько моделей показано на рисунке. Однако следует отметить, что с тех пор, как мы определили синтаксис, модели стали чисто математическими объектами, которые не обязательно должны быть связаны с миром вампуса. Например, P1,2 — это просто символ; он может означать, что "в квадрате [1,2] есть яма" или "я буду в Париже сегодня и завтра".

Семантика пропозициональной логики должна определять, как следует вычислять истинностное значение любого высказывания при наличии модели. Эта процедура выполняется рекурсивно. Все высказывания формируются из атомарных высказываний и пяти связок, поэтому необходимо указать, как следует вычислять истинность атомарных высказываний, а затем — как вычислять истинность высказываний, сформированных с помощью каждой из этих пяти связок. Задача вычисления истинности атомарных высказываний, как показано ниже, является простой.

  • Высказывание True истинно в любой модели, а высказывание False ложно в любой модели.
  • Истинностное значение любого другого пропозиционального символа должно быть указано непосредственно в модели. Например, в модели m1 приведенное выше высказывание P1,2 является ложным.

Для определения истинности сложных высказываний применяются правила, подобные приведенному ниже.

  • Для любого высказывания s и любой модели m высказывание ¬s является истинным в модели m тогда и только тогда, когда s является ложным в модели m.

Эти правила позволяют свести задачу определения истинности сложных высказываний к задаче определения истинности более простых высказываний. Правила определения истинности для каждой связки могут быть подитожены в виде истинностной таблицы, которая определяет истинностное значение сложного высказывания для каждого возможного присваивания значений истинности его компонентам. Истинностные таблицы для рассматриваемых пяти логических связок приведены в таблице. С использованием этих таблиц истинностное значение любого высказывания s применительно к любой модели m может быть вычислено с помощью простого процесса рекурсивной оценки. Например, высказывание ¬P1,2 ˆ (P2,2 v P3,1), оцениваемое в модели m1 приводит к получению true ˆ (false v true) = true ˆ true = true.

Выше было сказано, что любая база знаний состоит из множества высказываний. Теперь можно показать, что логическая база знаний представляет собой конъюнкцию этих высказываний. Это означает, что, начиная с пустой базы знаний KB и применяя операции Tell (KB, S1) ,..., Tell (KB, Sn), мы получим: KB=S1
ˆ...ˆSn. Таким образом, базы знаний и высказывания могут рассматриваться как взаимозаменяемые понятия.

Истинностные таблицы для пяти логических связок. Чтобы воспользоваться этой таблицей, например для вычисления значения Р v Q, когда Р является истинным, a Q — ложным, вначале необходимо найти в левой части таблицы строку, в которой Р имеет значение true, a Q— false (третья строка). Затем нужно искать запись в этой строке, соответствующую столбцу Р v О, чтобы определить результат — true. Еще один способ поиска истинностного значения состоит в том, что каждая строка может рассматриваться как модель, а записи под каждым столбцом для этой строки — как утверждение о том, является ли соответствующее высказывание истинным в данной модели

Истинностные таблицы для связок л ("и"), v ("или") и -. ("нет") почти полностью соответствуют интуитивным представлениям о смысле таких же слов естественного языка. Основным источником возможной путаницы является то, что высказывание Р v Q истинно, если истинными являются р, или Q, или оба эти высказывания. Есть также другая связка, называемая "исключительное ИЛИ" (сокращенно "XOR" — exclusive OR), которая принимает ложное значение, если оба дизъюнкта являются истинными. В отношении того, какое обозначение следует применять для связки "исключительное ИЛИ", нет общего согласия; двумя возможными вариантами являются v и ©.

Истинностная таблица для связки => на первый взгляд может показаться озадачивающей, поскольку не совсем соответствует интуитивному пониманию выражений "Р влечет за собой Q", или "если Р, то Q". Но прежде всего необходимо отметить, что пропозициональная логика не требует, чтобы между высказываниями Р и Q устанавливались какие-либо причинно-следственные отношения или отношения, определяющие их релевантность применительно к друг другу. Высказывание "то, что 5 — нечетное число, влечет за собой то, что Токио — столица Японии", — это истинное высказывание пропозициональной логики (при нормальной интерпретации), даже несмотря на то, что в естественном языке определенно кажется странным. Еще один источник путаницы состоит в том, что любая импликация является истинной, если ее антецедент ложен. Например, высказывание "то, что 5 — четное число, влечет за собой что, что Сэм умен", является истинным, независимо от того, умен ли Сэм. Это может показаться странным, но приобретает смысл, если рассматривать высказывание в форме "Р => Q" как утверждение: "Если Р истинно, то я утверждаю, что 0 истинно. В противном случае я не высказываю никаких утверждений". Единственный вариант, при котором это высказывание может принять значение false, состоит в том, чтобы высказывание Рбыло истинным, a Q — ложным.

Истинностная таблица для двухсторонней импликации, Р <=> 0, показывает, что это высказывание является истинным, если истинны иР=> О, и ?) => Р. В словесной форме соответствующее высказывание часто записывают следующим образом: "Р тогда и только тогда, когда Q", или сокращенно "Рттогда Q" (ттогда — не опечатка). Правила для мира вампуса лучше всего записывать с помощью связки <=>. Например, в некотором квадрате чувствуется ветерок, если в соседнем квадрате имеется яма, а ветерок в некотором квадрате может чувствоваться, только если в одном из соседних квадратов имеется яма. Поэтому нам потребуются двухсторонние импликации, такие как

B1,1 <=> (P1,2 v P2,1)
где
B1,1 означает, что в квадрате [1/1] чувствуется ветерок. Обратите внимание на то, что следующая односторонняя импликация:
B1,1 => (P1,2 v P2,1)
в мире вампуса является истинной, но неполной. Она не позволяет исключить из рассмотрения модели, в которых высказывание
B1,1 ложно и P1,2 истинно и которые нарушают правила мира вампуса. Эту мысль можно иначе выразить таким образом, что импликация требует наличия ям, если чувствуется ветерок, а двухсторонняя импликация требует также отсутствия ям, если ветерок не чувствуется.