КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Подстановки и унификация
Пусть имеется формула P (x,y,z). Ввести подстановку s это значит определить множество пар типа s = { t1/x, t2/y, t3/z },позволяющих заменить x на t1, y на t2, z на t3 во всех местах их вхождений. Полученная формула равносильна прежней: P (x,y,z) = P (t1, t2, t3). Подстановки открывают широкие возможности при преобразовании формул. Простейший пример: дана формула P (x,f (y) ,z) P (а,b,r). Введем подстановку s1 = { а/x,b/f(y),r/z } для первого предиката и получим: P (а,b,r) P (а,b,r) = P (а,b,r), т.е. произошла "склейка" - распространенный прием в процессах вывода. Проводя подстановки, надо следовать следующим правилам: ¨ подстановки применяются только для свободных переменных, в том числе и для функциональных, во всех местах их вхождений в данную формулу (предложение); ¨ переменную можно заменить константой, но нельзя константу заменить переменной; ¨ переменная не может быть заменена на терм, содержащий ту же самую переменную; ¨ подстановки могут касаться только некоторых термов предиката, остальные термы остаются без изменения; ¨ одна функция не может подставляться вместо другой, но может заменять переменную-аргумент; ¨ нельзя вместо свободной переменной ввести уже связанную, другими словами, вводимое подстановкой вхождение переменной не должно попадать в область действия квантора, связывающего данную переменную. К последнему правилу приведем простой пример. Формула y (x<y) отображает вполне корректное математическое условие (для любого х всегда найдется y, что x < y). Некорректная подстановка y/x приводит к ложному суждению: y (y < y). Если к формуле Е применена подстановка s1, тo пишут Еs1. Так, если к предикату P (x,f (y) ,B) применена подстановка s1 = { z/x,w/y }, то можно написать P (x,f (y) ,B) s1 = P (z,f (w) ,B). Если к полученной формуле применить еще подстановку s2= { C/z, D/f (w)}, то получится P (x,f (y) ,B) s1s2 = P (C,D,B). Если все термы предиката не содержат переменных, то мы имеем "основной частный случай" ("основной пример"). Последовательное применение подстановок называется их композицией. Некоторая подстановка s называется унифицированной (унификатором), если ее применение к ряду формул E1,E2,,... делает их равными: E1s = E2s = E3s... Например, подстановка s = { A/x,B/y } унифицирует формулы P (x,f (y) ,B) и P (x,f (B) ,B) и дает P (A,f (B) ,B). Примечание. Обратите внимание, что предикатные символы при этом должны быть одинаковыми. Освоить технику унификации совершенно необходимо. В процессе резолюции, например, контрарные литералы должны быть идентичны, что как раз и достигается их унификацией. Разберем поэтому несколько показательных примеров. Пример 1. Унифицировать множество литералов: { P (a,x), P (y,f (b))}. Поиск возможных подстановок начинаем с установления различий в термах обоих литералов, начиная с левых позиций. Первое рассогласование: (a,y). Tак как переменной здесь является y, то вводим подстановку s1= (а/y). Получаем пару литералов { P (a,x), P (a,f (b))}. Очередное рассогласование: (x,f (b)). Теперь уже вводим подстановку s2 = (f (b) /x): { P (a,f (b)), P (a,f (b))}. Унификация состоялась. Общая подстановка имеет вид su = s1s2 = (a/y, f (b) /x). Подстановка su, определенная таким образом, называется наиболее общим унификатором - ноу. Пример 2. Определить ноу для пары литералов P(x,f(x),z) и P(A,u,u). Начинаем с левых позиций. Рассогласование: (x,A), подстановка Окончательно: P(A,f(A),f(A)) и P(A,f(A),f(A)). Наиболее общий унификатор su = s1s2s3 = (A/x,f (A) /u,f (A) /z).
Дата добавления: 2014-01-20; Просмотров: 972; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |