12.Основы теории экспертных систем.
Одним
из наиболее значительных достижений искусственного интеллекта стала разработка
мощных компьютерных систем, получивших название «экспертных» или основанных на
«знаниях» систем.
Под
экспертной системой (ЭС) будем понимать
программу, которая использует знания специалистов (экспертов)
о некоторой конкретной узко специализированной предметной области и в пределах
этой области способна принимать решения на уровне эксперта-профессионала.
Осознание
полезности систем, которые могут копировать дорогостоящие или редко
встречающиеся человеческие знания, привело к широкому внедрению и расцвету этой
технологии в 80-е, 90-е годы
Основу
успеха ЭС составили два важных свойства:
-в ЭС знания отделены от данных,
и мощность экспертной системы обусловлена в первую
очередь мощностью базы знаний и только во вторую очередь используемыми методами
решения задач;
-решаемые ЭС задачи являются
неформализованными или слабоформализованными и используют эвристические,
экспериментальные, субъективные знания экспертов в
определенной предметной области
Основными
категориями решаемых ЭС задач являются:
диагностика, управление (в том числе технологическими процессами),
интерпретация, прогнозирование, проектирование, отладка и ремонт, планирование,
наблюдение (мониторинг), обучение.
Обобщенная
схема ЭС

Обобщенная
схема ЭС. Основу ЭС
составляет подсистема логического вывода, которая использует информацию из базы
знаний (БЗ), генерирует рекомендации по решению искомой задачи. Чаще всего для
представления знаний в ЭС используются системы
продукций и семантические сети. Допустим, БЗ состоит из фактов и правил (если
<посылка> то <заключение>). Если ЭС
определяет, что посылка верна, то правило признается подходящим для данной
консультации и оно запускается в действие. Запуск правила означает принятие
заключения данного правила в качестве составной части процесса консультации.
Обязательными
частями любой ЭС являются также модуль приобретения
знаний и модуль отображения и объяснения решений.
Важную роль при создании ЭС играют инструментальные средства. Среди И.С. для создания ЭС наиболее популярны такие языки программирования, как LISP и PROLOG, а также экспертные системы-оболочки (ЭСО): KEE, CENTAUR, G2 и GDA, CLIPS, АТ_ТЕХНОЛОГИЯ.
Рассмотрим различные способы классификации ЭС.
По назначению ЭС
делятся на:
-ЭС общего
назначения.
-Специализированные ЭС:
- проблемно-ориентированные
для задач диагностики, проектирования, прогнозирования
- предметно-ориентированные для специфических задач,
например, контроля ситуаций на атомных электростанциях.
По
степени зависимости от внешней среды выделяют:
- Статические
ЭС, не зависящие от внешней среды.
- Динамические,
учитывающие динамику внешней среды и предназначенные для решения задач в
реальном времени. Время реакции в таких системах может задаваться в
миллисекундах, и эти системы реализуются, как правило, на языке С++.
По типу использования различают:
- Изолированные
ЭС.
- ЭС
на входе/выходе других систем.
- Гибридные
ЭС или, иначе говоря, ЭС
интегрированные с базами данных и другими программными продуктами
(приложениями).
По сложности решаемых задач различают:
- Простые
ЭС - до 1000 простых правил.
- Средние
ЭС - от 1000 до 10000 структурированных
правил.
- Сложные
ЭС - более 10000 структурированных правил.
По стадии создания выделяют:
- Исследовательский
образец ЭС, разработанный за 1-2 месяца с
минимальной БЗ.
- Демонстрационный
образец ЭС, разработанный за 2-4 месяца,
например, на языке типа LISP, PROLOG, CLIPS
- Промышленный
образец ЭС, разработанный за 4-8 месяцев,
например, на языке типа CLIPS с полной БЗ.
- Коммерческий
образец ЭС, разработанный за 1,5-2 года,
например, на языке типа С++, Java с полной БЗ.
Примером экспертной системы может являться
программа AutoExpert.
Типы задач, решаемых ЭС, и их области
применения
В настоящее время технология экспертных систем используется для решения различных
типов задач.
• Интерпретация - анализ информации с
целью определения ее смысла.
• Диагностика - классификация и поиск
неисправностей в живых и неживых системах, основанные на результатах
интерпретации.
• Мониторинг - непрерывный процесс интерпретации
сигналов и выдача сообщений в ситуациях, требующих вмешательства системы более
высокого уровня или человека.
• Предсказание - прогнозирование хода
событий в будущем на основании модели прошлого и настоящего.
• Планирование - подготовка программы
действий, которые необходимо выполнить для достижения сформулированных целей.
• Проектирование - разработка подробной
документации, предназначенной для создания объектов, удовлетворяющим специфицированным
требованиям.
Области использования ЭС:
финансы, военное дело
нефтяная и газовая промышленность
энергетика, транспорт
фармацевтическое производство
космос, металлургия
горное дело.химия
образование
целлюлозно-бумажная промышленность
телекоммуникации и связь
и этот список непрерывно увеличивается.
На протяжении I960 - 1985 гг. успехи ИИ касались в основном
исследовательских разработок, которые демонстрировали пригодность СИИ для практического
использования. Начиная примерно с
Структура экспертных систем
Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.):
·
решателя (интерпретатора);
·
рабочей памяти (РП), называемой также базой данных (БД);
·
базы знаний (БЗ);
·
компонентов приобретения знаний;
·
объяснительного компонента;
·
диалогового компонента.
База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.
Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.
Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.
Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.

Диалоговый компонент ориентирован на организацию дружественного общения с пользователем как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.
Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области.
Отметим, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт (с помощью ЭС), не владеющий программированием.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к ЭС за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к ЭС с целью либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу). В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. ЭС при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее. Если реакция системы не понятна пользователю, то он может потребовать объяснения:
"Почему система задает тот или иной вопрос?", "как ответ, собираемый системой, получен?".
Структуру, приведенную на рис. 1.1, называют структурой статической ЭС. ЭС данного типа используются в тех приложениях, где можно не учитывать изменения окружающего мира, происходящие за время решения задачи. Первые ЭС, получившие практическое использование, были статическими.

На рис. 1.2 показано, что в архитектуру динамической ЭС по сравнению со статической ЭС вводятся два компонента: подсистема моделирования внешнего мира и подсистема связи с внешним окружением. Последняя осуществляет связи с внешним миром через систему датчиков и контроллеров. Кроме того, традиционные компоненты статической ЭС (база знаний и машина вывода) претерпевают существенные изменения, чтобы отразить временную логику происходящих в реальном мире событий.
Подчеркнем, что структура ЭС, представленная на рис. 1.1 и 1.2, отражает только компоненты (функции), и многое остается "за кадром". На рис. 1.3 приведена обобщенная структура современного ИС для создания динамических ЭС, содержащая кроме основных компонентов те возможности, которые позволяют создавать интегрированные приложение в соответствии с современной технологией программирования




