![]() Главная страница Случайная лекция ![]() Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика ![]() Мы поможем в написании ваших работ! |
Метод резолюций в логике предикатовДля того чтобы метод резолюций можно было применить к предложениям логики предикатов, необходимо вначале преодолеть различие одноименных предикатных символов, порожденное различием термов, выступающих в роли аргументов этих предикатов. Поэтому метод резолюций в логике предикатов включает шаги: Множество утверждений естественного языка записывается в виде формул логики предикатов. Каждая из записанных формул преобразуется к пренексной нормальной форме. Выполняется переход каждой формулы к сколемовской нормальной форме. При необходимости производится нормализация переменных. Полученные формулы записываются в теоретико-множественной форме. К полученному множеству дизъюнктов применяется алгоритм унификации и определяется НОУ, если это возможно. После унификации дизъюнкты, входящие в каждое предложение, содержат только основные примеры. Алгоритм резолюции применяется к полученному множеству основных примеров. Два дизъюнкта могут резольвировать, если они содержат дополнительные литералы (атомы, различающиеся способом вхождения в дизъюнкт). Пусть имеются два дизъюнкта (P1ÚP2Ú…ÚPn) и ( Таким образом, метод резолюций в логике предикатов является расширением метода резолюций в логике высказываний за счет добавления алгоритма унификации, применяемого для идентификации одноименных атомов. Для множества S дизъюнктов логики предикатов резолютивный вывод из S есть конечная последовательность дизъюнктов C1, …, Cn, такая, что для каждого Ci, Поскольку переменные во всех дизъюнктах считаются связанными кванторами общности, можно переименовывать эти переменные, чтобы избежать конфликтов во время процедуры унификации. Такое переименование называется нормализацией переменных. Основные частные случаи резолюции приведены в табл. 12. Из таблицы видно, что резолюция позволяет объединить несколько операций в одно простое правило вывода. Таблица 12 Предложения и резольвенты
Примеры 1. Из двух данных дизъюнктов C1= C2= требуется получить резольвенту C3= Рассмотрим приведенные дизъюнкты как утверждения о следовании некоторых фактов из других фактов. Приведенным дизъюнктам соответствуют формулы логики предикатов: для С1
для С2
для С3
Построим вывод дизъюнкта С3 методом резолюций.
2. Допустим, существуют факты: F1: Все люди смертны. Это можно представить секвенцией ├(Все люди смертны), которая называется фактом. F2: Сократ - человек. Этой формуле соответствует факт ├(Сократ – человек). Требуется проверить вывод Сократ смертен. Представим эти предложения в виде формул: F1: "х (человек(х)®смертен(х)), F2: человек(Сократ) R: смертен (Сократ) Поскольку в методе резолюций доказательство строится методом от противного, в представленное рассуждение необходимо внести противоречие, которое приведет к невыполнимости этого рассуждения. Обычно такое противоречие вводится путем опровержения вывода. С учетом этого запишем полученные формулы в виде бескванторных формул, представленных в КНФ. F1: (Øчеловек(x)Úсмертен(x)); F2: человек(Сократ); F3: (Øсмертен(Сократ)). Последней формулой введено противоречие в исходное рассуждение. Теоретико-множественное представление сформулированной таким образом задачи имеет вид: Применяя метод унификации к множеству S, определим НОУ. Для атома человек(x) из дизъюнктов (1) и (2) получаем подстановку q={x/Сократ}. Для дизъюнктов (1) и (3) имеем ту же подстановку. Применяя полученный НОУ к S, получим
R(1,2)=F4: {(смертен(Сократ))}. Применяя далее резолюцию к дизъюнктам (3) и (4), получим пустую резольвенту R(3,4) = F5: ð. Введя опровержение вывода силлогизма, получили противоречие, признаком которого является пустая резольвента. Следовательно, неверно, что Сократ бессмертен. Пример. Докажем справедливость следующего рассуждения: Посылки: F1: Некоторые пациенты любят докторов. F2: Ни один пациент не любит знахарей. Заключение: R: Никакой доктор не является знахарем. ¨ Введем элементарные высказывания: P(x): “x – пациент”; D(x): “x – доктор”; Z(x): “x – знахарь”; L(x,y): “x любит y”. Запишем рассуждения естественного языка, сформулированные в условии, с помощью формул логики предикатов: F1: $xP(x), F2:$xD(x), F3:$xZ(x), F4: $x"y(P(x)&D(y)®L(x,y)),
Так как доказательство строится от противного, сформулируем отрицание утверждения R: Следующий этап – приведение всех формул к пренексной нормальной форме, но вначале произведем нормализацию переменных. Так как переменная x имеет в разных формулах разный смысл, то во избежание коллизии переменных целесообразно переименовать некоторые из связанных переменных. Примем следующие назначения переменных: x – пациент, y –доктор, u – знахарь, – и перепишем формулы F1-F6 в пренексной нормальной форме: F1:$xP(x), F2:$yD(y), F3:$uZ(u), F6:$y(D(y)&Z(y)). Переходя к сколемовской нормальной форме, введем сколемовские константы: с – для пациента, а – для доктора, b – для знахаря. Тогда теоретико-множественное представление приведенного рассуждения будет иметь вид Применим к этому множеству алгоритм унификации. В языке логического программирования ПРОЛОГ применяется эффективный алгоритм доказательства противоречивости множества дизъюнктов, который состоит в том, что вначале и для унификации, и для резолюции выбираются целевые дизъюнкты. В рассматриваемом примере это дизъюнкты, соответствующие формуле F6, т.е. {D(a)}, {Z(a)}. Выбрав дизъюнкт {D(a)}, найдем все встречающиеся в множестве S дизъюнкты, содержащие атом D, найдем множество рассогласования DS1={y,a}. Проверка вхождений дает отрицательный ответ. Следовательно, подстановка, унифицирующая атомы D, имеет вид q1={y/a}. Применяя эту подстановку к S, получим
Следующий подлежащий унификации атом - Р(1). Для него определяем подстановку q2={x/c}. После выполнения этой подстановки, которую мы здесь опустим, останется не унифицированным атом L(2). Для него унифицирующая подстановка q3={u/a}.
К полученному множеству основных примеров можно применять метод резолюции, как это делалось в логике высказываний. Целью в данном рассуждении являются дизъюнкты (5) и (6). Выберем для резолюции дизъюнкты (3) и (5). R(3,5)=C7= Далее будем выбирать подходящие дизъюнкты с целью получения пустого дизъюнкта, подтверждающего рассуждение: R(4,6)=C8=
Получение пустого дизъюнкта означает, что в рассмотренном наборе фактов имеется противоречие, которое возникло из-за введения отрицания в заключение. Следовательно, заключение рассуждения верно.
Дата добавления: 2014-11-08; просмотров: 1539; Нарушение авторских прав ![]() Мы поможем в написании ваших работ! |