Разрабатывать оболочки небольших ЭС можно практически на любом языке процедурного или объектно-ориентированного программирования, а также на языках логического типа, наиболее известным представителем которых является PROLOG.
При разработке оболочек ЭС продукционного типа на процедурных языках программирования кроме создания БЗ необходимо реализовать механизм прямого или обратного логического вывода на основе правила Modus Ponendo Ponens и организацию интерфейса с пользователем. В базе знаний должны храниться список фактов в виде текстовых знаний и набор правил, показывающих связи между фактами в рассматриваемой предметной области.
На рис. 2.10 и 2.11 приведены экранные формы оболочки ЭС, ориентированной на задачи диагностики, где показано взаимо-
Рис. 2.10. Окно ввода и изменения фактов в ЭС продукционного типа
Рис. 2.11. Окно ввода и редактирования правил в ЭС для решения задач диагностики действие ЭС с пользователем на этапе ввода и редактирования знаний.
В разработанной системе реализована стратегия прямого логического вывода, в процессе которого осуществляется горизонтальный поиск фактов на заданной в виде И-ИЛИ-фафа структуре знаний предметной области.
Процесс функционирования системы диагностики, реализованной на языке TurboPascal 7.0 и работающей под управлением MS DOS, проиллюстрирован на рис. 2.12. В данной версии системы не предусмотрено формирование файла вопросов, пользователь просто указывает на наличие или отсутствие предъявляемого симптома. Система предоставляет пользователю объяснение полученных результатов, показывая наборы фактов, на основании которых получены те или иные заключения.
Профаммная реализация процедур поиска и обработки знаний не вызывает принципиальных трудностей. В простейшем случае БЗ представляет собой два файла, в одном из которых хранятся текстовые описания фактов, используемых в антецедентах и консеквентах правил, а в другом — правила, устанавливающие взаимосвязи фактов. Пользователи подобных систем должны подготовить конкретную информацию и создать необходимые файлы БЗ. При этом порядок записи правил может оказывать влияние на порядок вопросов, которые ЭС будет задавать пользователю. Поэтому целесообразно построить И-ИЛИ-фаф, отражающий взаимосвязи фактов, и с его помощью определить первичные факты (симптомы), которые встречаются только в антецедентах правил, вторичные, присутствующие в условных частях одних правил и в заключениях других, и диагнозы — факты, являющиеся окончательными заключениями. Совершая обход И-ИЛИ-фафа в направлении от первичных фактов к заключениям, ЭС задает пользователю вопросы, на основании полученных ответов формирует содержимое рабочей памяти и делает соответствующие выводы.
Для разрешения конфликтов в разработанных системах используются алгоритм LEX, а также другие эвристические способы. Применение профамм подобного типа приносит пользу в процессах извлечения знаний и в экспериментальных исследованиях возможностей их представления средствами продукционной модели. При выборе адекватной модели представления знаний в создаваемых ИИС часто возникает необходимость рассмотрения альтернативных вариантов представления, при этом использование простых в обращении инструментальных профаммных средств позволяет с минимальными затратами осуществить экспериментальную проверку продукционной модели.