Теперь вернемся к примеру 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