Модель экспертных систем
Экспертные системы работают в диалоговом режиме (отвечают на поставленные пользователем вопросы), при этом, они должны уметь объяснять, откуда получено то или иное решение, любая экспертная система содержит как минимум пять компонентов или подсистем (рис. 30).
Рис. 30. Базовая структура экспертной системы
Пользователь экспертной системы - специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока и поэтому он нуждается в помощи и информационной поддержке своей деятельности.
Инженер по знаниям — специалист в области искусственного интеллекта, работающий с экспертами и формирующий базу знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик.
Интерфейс пользователя — комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов.
База знаний — ядро экспертной системы, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному).
Решатель — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в базе знаний. Синонимы: дедуктивная машина, машина вывода, блок логического вывода.
Подсистема объяснений — программа, позволяющая пользователю получить ответы на вопросы: "Как была получена та или иная рекомендация?" и "Почему система приняла такое решение?" Ответ на вопрос "как" — это трассировка всего процесса получения решения с указанием использованных фрагментов базы знаний, т. е. всех шагов цепи умозаключений. Ответ на вопрос "почему" — ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т. е. отход на один шаг назад. Развитые подсистемы объяснений поддерживают и другие типы вопросов.
Средства разработки экспертных систем
Существующие средства разработки экспертных систем можно разделить на 3 класса (рис. 33). Традиционные языки программирования (C ++, Java, Delphi) позволяют построить экспертные системы «с нуля» для конкретной задачи или предметной области, обеспечив хорошие показатели качества и необходимую функциональность системы, но на разработку требуются значительные временные и финансовые ресурсы. Так создают экспертные системы любой стадии существования, в особенности, коммерческие системы, продажа которых возместит затраты.
Языки искусственного интеллекта (LISP, PROLOG, Рефал) были разработаны специально для представления знаний, построение с их помощью экспертных систем позволяет более легко оперировать экспертными знаниями, но ограничивают способ их представления структурой языка. С помощью языков искусственного интеллекта создаются исследовательские и демонстрационные образцы.
Следующий класс средств построения экспертных систем – специальный программный инструментарий – ориентирован только на создание интеллектуальных информационных систем и делится на два подкласса: оболочки и среды разработки интеллектуальных систем.
Среды разработки являются программными комплексами, позволяющими строить системы из отдельных готовых блоков, на их основе создаются демонстрационные и промышленные образцы экспертных систем.
Оболочка экспертных систем - инструментальное средство для проектирования и создания экспертных систем. В состав оболочки входят средства проектирования базы знаний с различными формами представления знаний и выбора режима работы решателя задач. Для конкретной предметной области инженер по знаниям определяет нужное представление знаний и стратегии решения задач, а затем, вводя их в оболочку, создает конкретную экспертную систему.
Системы поддержки принятия решений
Системы поддержки принятия решений – это программные средства и информационно-аналитические технологии, предназначенные специально для оказания помощи в решении задач поиска, анализа и выбора лучших из возможных вариантов. При этом лицо, принимающее решение, должно обеспечиваться не только информационной, но в первую очередь технологической поддержкой процедуры, вплоть до выбора лучшего решения.