Принцип резолюции в исчислении высказываний и логике предикатов и его модификации

Автор: Пользователь скрыл имя, 24 Декабря 2011 в 20:55, курсовая работа

Описание работы

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

Содержание

Введение………………………………….……………………………….3
1. Основные производители……………………………………………..5
2. История возникновения и развития языка ПРОЛОГ……….……….6
3. Исчисление высказываний…………………………………....………9
3.1. Исчисление предикатов…………………………………………….11
3.2. Программирование на ПРОЛОГЕ…………………………………14
3.3. Принцип резолюций……………………………………..…………16
3.4. Поиск доказательства в системе резолюций………………….…..18 Заключение……………………………………………………………….22
Список литературы………..…………………………………………..…24

Работа содержит 1 файл

Принцип резолюции в исчислении высказываний и логике предикатов и его модификации.doc

— 161.00 Кб (Скачать)

     {¬p,q},{¬q,¬r}/{¬p,¬r},

     {¬p,¬r},{p}/{¬r}

     При таком способе доказательства к Т добавляется другая резольвента. В связи со сказанным возникает ряд проблем.

     Когда множество Т велико, естественно  предположить, что должно существовать несколько способов вывести интересующую нас конкретную формулу (эта формула является целевой). Естественно, что предпочтение следует отдать тому методу, который позволяет быстрее сформулировать доказательство.

     Множество Т может поддерживать и те правила, которые не имеют ничего общего с  доказательством целевой формулы. Как же заранее узнать, какие правила приведут нас к цели?

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

     Та  схема логического вывода, которой  мы следовали до сих пор, обычно называется прямой, или восходящей стратегией. Мы начинаем с того, что нам известно, и строим логические суждения в направлении  к тому, что пытаемся доказать. Один из возможных способов преодоления сформулированных выше проблем — попытаться действовать в обратном направлении: от сформулированной целевой формулы к фактам, которые нужны нам для доказательства истинности этой формулы.

     Предположим, перед нами стоит задача вывести {q} из некоторого множества фраз

     Т= {...,{ ¬p, q},...}.

     Создается впечатление, что это множество  нужно преобразовать, отыскивая  фразы, включающие q в качестве литерала, а затем попытаться устранить  другие литералы, если таковые найдутся. Но фраза {q} не "сталкивается" с такой фразой, как, например, { —р, q}, поскольку пара, состоящая из одинаковых литералов q, не является взаимно дополняющей.

     Если q является целью, то метод опровержения резолюции реализуется добавлением  негативной формулы цели к множеству Т, а затем нужно показать, что формула

     Т' = Т U {¬q}

     является  несовместной. Полагая, что множество  Т непротиворечиво, приходим к выводу, что Т' может быть противоречивым вследствие Т |- q.

     Рассмотрим  этот вопрос более подробно. Сначала к существующему множеству фраз добавляется отрицание проверяемой фразы {-q}. Затем предпринимается попытка резольвировать {-q} с другой фразой в Т. При этом существуют только три возможные ситуации.

     В Т не существует фразы, содержащей q. В этом случае доказать искомое невозможно.

     Множество Т содержит {q}. В этом случае доказательство выполняется немедленно, поскольку  из {¬q} и {q} можно вывести пустую фразу, что означает несовместность (наличие  противоречия).

     Множество Т содержит фразу {..., q, ...}. Резольвирование этой фразы с {¬q} формирует новую фразу, которая содержит остальные литералы, причем для доказательства противоречия все они должны быть удалены в процессе резольвирования.

     Эти оставшиеся литералы можно рассматривать  в качестве подцелей, которые должны быть разрешены, если требуется достичь главной цели. Описанная стратегия получила название нисходящей (или обратной) и очень напоминает формулирование подцелей в системе MYCIN.

     В качестве примера положим, что множество  Т, как и ранее, имеет вид {{¬p,q},{¬q,¬r},{p}}. Мы пытаемся показать, что Т|- ¬r. Для этого докажем, что фраза {r} является следствием существующего множества Т, для чего добавим к этому множеству отрицание фразы ¬r. Поиск противоречия происходит следующим образом:

     [{¬q,¬r},{r}]/{¬q}

     [{¬p,q},{¬q}]/{¬q}

     [{¬p},{p}]/{}

     Этот метод доказательства теорем получил название "опровержение резолюции", поскольку, во-первых, он использует правило вывода резолюций, а во-вторых, следует стратегии "от противного" (стратегии опровержения).

     Теперь вернемся к примеру PROLOG-программы, представленному в листинге 1. На рис. 1 показано дерево доказательства утверждения above(a, с). Дерево строится сверху вниз, и каждая ветвь связывает две "родительские фразы", в которых содержатся дополняющие литералы, с фразой, которая образуется в результате применения правила резолюции. Ко всем целям, записанным справа от значка ":-", неявно применяется отрицание. В левой части дерева представлены формулы целей, а в правой — фразы, взятые из базы данных.

     Корнем  дерева является пустая фраза {}. Это означает, что поиск доказательства был успешным. Добавление негативной фразы :- above (а, с) к исходному множеству (теории) привело к противоречию. Таким образом, можно утверждать, что фраза above (а, с) является логическим следствием из этой теории.

     Обратите  внимание на роль операции унификации в этом доказательстве. Цель above (а, с) унифицируется с головной фразой above(X, Y) с помощью подстановки {Х/а, Y/c}, где выражение Х/а можно  интерпретировать как "X получает значение а". Затем эта подстановка применяется к хвостовой части фразы

     on(Z, Y), above(X, Z),

     из  чего следует формулировка подцелей

     on(Z, с), above(a, Z).

     Следующая подцель on(Z, с) унифицируется с on(b, с) подстановкой {Z/b}. Эта подстановка  затем применяется и к оставшейся подцели, которая таким образом превращается в above (а, b), и так до тех пор, пока не образуется пустая фраза.

     

     Рис. 1. Дерево доказательства методом опровержения резолюций

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

 

      4. Заключение 

     Тема  искусственного интеллекта всегда была в информатике "страной плохишей", населенной массой "неправильных" проблем, не поддающихся решению  традиционными способами. Эта область  привлекла внимание прежде всего  разносторонних специалистов, которых не испугало ее открытое, лишенное всякой организации пространство, — людей, которых влечет задача узнать, как мы мыслим. Такие исследователи, как Марвин Минский (Marvin Minsky), Джон Мак-Карти (John McCarthy), Герберт Саймон (Herbert Simon), Пат Хейес (Pat Hayes), Дональд Мичи (Donald Michie) и Бернард Мельтцер (Bernard Meltzer), стали первопроходцами для тех, кто следовал за ними по пути, пролегающем через информатику, психологию и математическую логику.

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

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

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

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

 

      Список литературы: 

1. А.Н. Адаменко, А.М. Кучуков. Логическое программирование и Visual Prolog

СПб.: БХВ—Петербург, 2003.

2. Братко И. Алгоритмы искусственного интеллекта на языке PROLOG. М.: «Вильямс», 2004.

3. Джексон П. Введение в экспертные системы.-Москва, С. Петербург, Киев: Изд. дом "Вильямс", 2002

4. Дж. Доорс, А. Рейблейн, С. Вадера.Пролог - язык программирования будущего. М.: Финансы и статистика, 1990

5. Дюбуа Д., Прад А. Теория возможностей. Приложения к 
представлению знаний. -М.: Радио и связь, 1995

6. Корнеев В.В., Гарев А.Ф., Васюшин СВ., Райх В.В. Базы данных. 
Интеллектуальная обработка информации. - М.: Изд-во "Нолидж", 
2000

7. Мендельсон Э. Введение в математическую логику. М., 1976

8. Нечаев В.В., Панченко В.М., Свиридов А.П. Исследование операций 
и теория систем. Основы статистической динамики знаний. Учебное 
пособие.-М.: МИРЭА, 2000

9. Новиков П. С. Элементы математической логики. М., 1959

10. Попов Э.В. Экспертные системы реального времени. В: Открытые 
системы, N2 (10), 1995

11. Хоггер К. Введение в логическое программирование М.: Мир, 1988

12. Черч А. Введение в математическую логику, т. I. М. 1960

Информация о работе Принцип резолюции в исчислении высказываний и логике предикатов и его модификации