русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод резолюций в исчислении предикатов


Дата добавления: 2013-12-23; просмотров: 2063; Нарушение авторских прав


С помощью унификации можно распространить правило резолюций на исчисление предикатов. При унификации возникает одна трудность: если один их термов есть переменная x, а другой терм содержит x, но не сводится к x, унификация невозможна. Проблема решается путем переименования переменных таким образом, чтобы унифицируемые дизъюнкты не содержали одинаковых переменных.

Определение 34: Если два или более литерала (с одиниковым знаком) дизъюнкта C имеют наиболее общий унификатор s, то Cs - называется склейкой C.

Пример 17. Рассмотрим дизъюнкты:

Пусть C= P(x)Ъ P(f(y))Ъ ШQ(x).

Тогда 1 и 2 литералы имеют наиболее общий унификатор s = {f(y)/x}. Следовательно, Cs=P(f(y))Ъ ШQ(f(y)) есть склейка C.

Определение 35: Пусть C1 и C2 – два дизъюнкта, которые не имеют никаких общих переменных. Пусть L1 и L2 - два литерала в C1 и C2 соответственно. Если L1 и ШL2 имеют наиболее общий унификатор s, то дизъюнкт (C1s - L1s) И (C2s - L2s) называется резольвентой C1 и C2.

Пример 16:Пусть C1= P(x)Ъ Q(x) и C2= ШP(a)Ъ R(x). Так как x входит в C1 и C2, то мы заменим переменную в C2 и пусть C2= ШP(a)Ъ R(y). Выбираем L1= P(x) и L2=ШP(a). L1 и L2 имеют наиболее общий унификатор s={a/x}. Следовательно, Q(a)Ъ R(y) – резольвента C1 и C2.

Пример 17:Доказать, что формула R(a, z) выводима из множества дизъюнктов S={ШP(x, f(x))Ъ R(x, f(x), g(x)), Q(x, g(x)) Ъ R(x, f(x), g(x)), ØQ(x, g(x)) Ù P(x, f(x))}.

Пусть C1=ШP(x, f(x))Ъ R(x, f(x), C2= Q(x, g(x)) Ъ R(x, f(x), C3=ØQ(x, g(x)) Ъ P(x, f(x)). Добавим к множеству S единичный дизъюнкт C4=ШR(a, z).

Так как в дизъюнктах C1 , C2 , C3 есть одинаковая переменная x, то заменим её в C2 на y, а в C3 на u. Таким образом, решение исходной задачи сводится к доказательству противоречивости следующего множества дизъюнктов:

C1=ШP(x, f(x))Ъ R(x, f(x);



C2= Q(y, g(y)) Ъ R(y, f(y);

C3=ØQ(u, g(u)) Ъ P(u, f(u));

C4=ШR(a, z).

Найдём резольвенту C5 дизъюнктов C1 и C3 и добавим её к множеству дизъюнктов, для чего произведём унификацию переменных x и u, таким образом, что u заменим на x, и получим C5= R(x, f(x)) Ъ ØQ(x, g(x)).

Найдём резольвенту C6 дизъюнктов C2 и C5 и добавим её к множеству дизъюнктов, для чего произведём унификацию переменных y и x, таким образом, что y заменим на x, и получим C6= R(x, f(x)) Ъ R(x, f(x))= R(x, f(x)).

Найдём резольвенту C7 дизъюнктов C2 и C6 и добавим её к множеству дизъюнктов, для чего произведём замену переменной x на константу a, а переменную z заменим на функцию f(a), таким образом получим C7= я, то есть пустой дизъюнкт.

Алгоритм метода резолюций.

Шаг 1. Если в S есть пустой дизъюнкт, то множество противоречиво (невыполнимо), иначе перейти к шагу 2.

Шаг 2. Найти в исходном множестве S такие дизъюнкты или склейки дизъюнктов C1 и C2, которые содержат унифицируемые контрараные литералы L1 О C1 и L2 О C2. Если таких дизъюнктов нет, то исходное множество выполнимо, иначе перейти к шагу 3.

Шаг 3. Вычислить резольвенту C1 и C2 и добавить ее в множество S. Перейти к шагу 1.




<== предыдущая лекция | следующая лекция ==>
Правило унификации в логике предикатов. | Общие положения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

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


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.