Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Лекция №6. Отрицание в логическом программировании





Отрицание в логическом программировании

Логическая программа является совокупностью правил и фактов, описывающих истинные утверждения. Ложные факты явно не указываются, они просто опускаются. В данном разделе мы опишем расширение вычислительной модели логического программирования, допускающее ограниченное использование отрицательной информации в программах.

Определим отношение not G и опишем его значение. Данное отрицание является частным случаем отрицания в логике первого порядка. Отношение not трактует отрицание как отсутствие. Цель not G считается выводимойиз программыР, если G не выводима из Р.

Опишем отрицание как отсутствие в терминах дерева поиска. Дерево поиска цели G относительно программы Р называется конечно-безуспешным, если в дереве нет успешных вершин и нет бесконечных ветвей. Конечно-безуспешным множеством логической программы Р называется множество тех целей, для которых имеется конечно-безуспешное дерево поиска относительно программы Р.

Цель not следует из программы Р при понимании отрицания как отсутствия, если G входит в конечно-безуспешное множество программы Р.

Рассмотрим простой пример. Возьмем программу, состоящую из двух фактов:

любит (авраам, гранаты).

любит (исаак, гранаты).

Цель not любит (сара, гранаты) следует из программы при понимании отрицания как отсутствия. Дерево поиска любит (сара, гранаты) имеет одну безуспешную вершину.

Использование отрицания как отсутствия позволяет легко определять многие отношения. Например, отношение disjoint (Xs.Ys), означающее, что у двух списков Xs и Ys нет общих элементов, может быть декларативно определено следующим образом:

disjoint(Xs,Ys) ¬ not(member(X,Xs),member(Y,Ys));

Это означает: «список Xs не пересекается со списком Ys, если никакой элемент Xs не является членом обоих списков Xs и Ys».

Программа 5.1 является другим примером программы, использующей отрицание. В программе определяется отношение неженатый_студент (Человек), означающее, что Человек является неженатым студентом. Вопрос неженатый_студент (Х)?. имеет решение Х = билл.



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

неженатый_студент(X) ¬ not женат(X), студент(X),

студент(билл),

женат(джо).

Программа 5.1. Простая программа, использующая not.


 





Дата добавления: 2014-01-07; Просмотров: 324; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Рекомендуемые страницы:

Читайте также:
studopedia.su - Студопедия (2013 - 2021) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление
Генерация страницы за: 0.006 сек.