17.3.3.
Языки логического программирования экспертных систем
Критически оценивая первый
опыт применения инструментальных средств типа оболочек при проектировании экспертных
систем, в частности опыт использования EMYCIN, многие исследователи полагали,
что более перспективным является альтернативный подход, основанный на логическом
программировании (см., например, [Kowalski, 1982]). Например, предполагалось,
что порождающие экспертные системы, аналогичные MYCIN, могут быть довольно просто
реализованы на языке PROLOG [Clark and McCabe, 1982]. Правила можно представить
в виде фраз Хорна (см. об этом в главе 8), в которых головной (позитивный) литерал
соответствует заключению, а прочие (негативные) литералы будут соответствовать
условиям.
Встроенный
в PROLOG режим управления приблизительно соответствует стратегии обратного логического
вывода, которая используется в системах, подобных MYCIN. Таблицы знаний и другие
данные можно представить с помощью утверждений. Рекурсивные структуры данных —
графы и деревья — можно организовать с помощью фраз языка PROLOG, которые содержат
комплексные термы. Языковые средства PROLOG позволят программисту разработать
собственный механизм обработки неопределенности, причем не исключается и использование
коэффициентов уверенности.
С
практической точки зрения, пользуясь языком PROLOG, программист в качестве "бесплатного
приложения" получает в свое распоряжение следующие возможности:
Действительно, дедуктивную
порождающую систему довольно ПРОСТО эмулировать на языке PROLOG. Можно без особого
труда разработать и простой интерпретатор, реализующий стратегию построения прямой
цепочки вывода. Модификация рабочей памяти выполняется операторами assert и retract,
которые добавляют или удаляют формулы из базы данных. Вы уже знаете из главы 11,
как можно организовать локальное управление ходом процесса в системе, основанной
на фреймах, как организовать обработку значений по умолчанию и исключений, хотя
эти методы и не вписываются в стандартную логику.
Успешный опыт применения идей логического программирования, в частности создание программы МЕСНО (см. главу 11), продемонстрировал ряд явных отклонений от синтаксиса исчисления предикатов первого порядка и его процедурной интерпретации в стандартной версии PROLOG. Некоторые семантические и синтаксические ограничения в программах МЕСНО и PLANNER до сих пор не преодолены в системах, базирующихся на языках логического программирования.
| Maya 3D графика в кино и телевидении Воздействие испытаний ядерного оружия на здоровье населения Объектно-ориентированный язык программирования Java Объектно-ориентированное программирование Delphi Библиотека визуальных компонентов VCL и ее базовые классы Кроссплатформенное программирование для Linux Элементы управления Win32 Элементы управления Windows XP Файлы и устройства ввода/вывода Что такое экспертная система? Объектно-ориентированное программирование Инструментальные средства разработки экспертных систем Программирование на языке CLIPS Критерии и количественные характеристики надежности Расчет характеристик надежности невостанавливаемых резервированных изделий Расчет надежности системы с постоянным резервированием Интегрирование тригонометрических функций ; |