
- •Глава 1 Введение в экспертные системы 7
- •Глава 2. Состояние работ в области искусственного интеллекта. Роль экспертных систем в исследованиях по искусственному интеллекту 19
- •Глава 3. Классификация экспертных систем и инструментальных средств 27
- •Глава 4. Анализ состояния экспертных систем и инструментальных средств 39
- •Глава 5. Представление знаний в системах, основанных на знаниях 53
- •Глава 6. Методы и стратегии поиска решений в системах, основанных на знаниях 71
- •Глава 7. Основы методологии разработки экспертных систем 94
- •Глава 8. Инструментальный комплекс для создания статических экспертных систем (на примере интегрированного комплекса эко) 110
- •Глава 9. Инструментальный комплекс для создания экспертных систем реального времени (на примере интегрированной среды g2-gensym corp., сша) 119
- •Предисловие
- •Глава 1 Введение в экспертные системы
- •1.1. Назначение экспертных систем
- •1.2. Формальные основы экспертных систем
- •1.3 Архитектура статических и динамических экспертных систем
- •1.4 Этапы разработки экспертных систем
- •Литература
- •Вопросы для самопроверки
- •Глава 2. Состояние работ в области искусственного интеллекта. Роль экспертных систем в исследованиях по искусственному интеллекту
- •2.1 Основные направления искусственного интеллекта
- •2.2 Состояние работ в области экспертных систем
- •2.3 Состояние работ в области естественно - языковых систем
- •2.4 Состояние работ в области нейронных сетей
- •2.5 Состояние работ по новым направлениям искусственного интеллекта
- •Литература
- •Вопросы для самопроверки
- •Глава 3. Классификация экспертных систем и инструментальных средств
- •3.1 Классификация экспертных систем
- •3.1.1 Тип приложения
- •3.1.2 Стадия существования
- •3.1.3 Масштаб эс (тип эвм )
- •3.1.4 Тип проблемной среды
- •3.2 Классификация инструментальных средств
- •3.2.1 Уровень используемого языка
- •3.2.2 Парадигмы программирования (механизмы реализации исполняемых утверждений)
- •3.2.3 Способ представления знаний
- •3.2.4 Механизмы вывода и моделирования
- •3.2.5 Средства приобретения знаний
- •3.2.6 Технология разработки эс
- •3.3 Сопоставление инструментальных средств с типами проблемных сред
- •Литература
- •Вопросы для самопроверки
- •Глава 4. Анализ состояния экспертных систем и инструментальных средств
- •4.1 Анализ состояния статических экспертных систем
- •4.2 Анализ состояния динамических экспертных систем
- •4.2.1 Основные производители ис для эс рв
- •4.2.2 Сравнение ис для создания эс рв
- •Литература
- •Вопросы для самопроверки
- •Глава 5. Представление знаний в системах, основанных на знаниях
- •5.1 Состав и организация знаний в экспертных системах
- •5.1.1 Уровни представления и уровни детальности
- •5.1.2 Организация знаний в рабочей памяти
- •5.1.3 Организация знаний в базе знаний
- •5.2 Модели представления знаний
- •5.2.1 Логические модели представления знаний
- •5.2.2 Семантические модели
- •5.2.3 Фреймы
- •5.2.4 Объектно-ориентированный подход
- •5.2.5 Продукционные модели и модули, управляемые образцами
- •5.3 Практика использования моделей представления знаний в экспертных системах
- •5.3.1. Применение продукционных правил
- •5.3.2 Использование семантических сетей
- •5.3.3 Использование фреймов
- •5.3.4 Использование управляемых образцами модулей
- •5.3.5 Смешанные представления (объекты и правила)
- •Литература
- •Вопросы для самопроверки
- •Глава 6. Методы и стратегии поиска решений в системах, основанных на знаниях
- •6.1 Механизмы вывода экспертных систем
- •6.2 Стратегии как механизмы управления
- •6.3 Методы поиска решений в экспертных системах
- •6.3.1 Поиск решений в одном пространстве
- •6.3.2 Поиск в иерархии пространств
- •6.3.3. Поиск в альтернативных пространствах
- •6.3.4 Поиск с использованием нескольких моделей
- •6.3.5 Выбор метода решения задач
- •Литература
- •Вопросы для самопроверки
- •Глава 7. Основы методологии разработки экспертных систем
- •7.1 Идентификация
- •7.2 Концептуализация
- •7.3 Формализация
- •7.3.1 Структуризация исходной задачи
- •7.3.2 Структуризация предметной области на основе иерархии классов
- •7.3.3 Структуризация выполняемых утверждений базы знаний приложений
- •7.3.4 Структуризация приложения на основе иерархии "часть/целое"
- •7.4 Выполнение
- •7.5 Отладка и тестирование
- •7.5.1 Методы тестирования экспертных систем
- •7.5.2 Механизм инспекции экспертной системы
- •7.5.3 Применение архивных данных для формирования сценариев отладки и тестирования динамических экспертных систем (дэс)
- •7.6 Опытная эксплуатация и внедрение
- •Литература
- •Вопросы для самопроверки
- •Глава 8. Инструментальный комплекс для создания статических экспертных систем (на примере интегрированного комплекса эко)
- •8.1 Средства представления знаний и стратегии управления
- •8.1.1 Структура комплекса эко
- •8.1.2 Средства представления знаний в оболочке эко
- •8.1.3 Стратегии управления в оболочке эко
- •8.2 Приобретение знаний и решение задач средствами оболочки эко
- •8.3 Ввод общих знаний средствами системы к-эко
- •8.4 Формирование баз знаний на основе обучающей выборки средствами системы илис
- •Литература
- •Вопросы для самопроверки
- •Глава 9. Инструментальный комплекс для создания экспертных систем реального времени (на примере интегрированной среды g2-gensym corp., сша)
- •9.1 База знаний
- •9.1.1 Сущности и иерархия классов
- •9.1.2 Иерархия модулей и рабочих пространств
- •9.1.3 Структуры данных бз
- •9.2 Машина вывода, планировщик и подсистема моделирования
- •9.2.1 Машина вывода
- •9.2.2 Планировщик
- •9.2.3 Подсистема моделирования
- •9.3 Среда разработчика в системе g2
- •9.3.1 Естественно-языковый текстовый редактор
- •9.3.2 Интерфейс с пользователем
- •9.3.3 Средства инспекции и отладки
- •9.4 Интерфейс с внешним окружением
- •9.5 Проблемно/предметно-ориентированные среды и графические языки на базе g2
- •9.5.2 ReThink (подумай еще)
- •9.5.5 BatchDesign_Kit – интеллектуальное проектирование серийного производства в фармакологии
- •Литература
- •Вопросы для самопроверки
- •Литература
- •Приложение 2 Бизнес-Процесс "реинжиниринг" и интеллектуальное моделирование компаний
- •Литература
- •Приложение 3 Нейросетевая технология
- •Литература
- •Приложение 4 Системы поддержки принятия решений, хранилища данных и извлечение знаний
- •Литература
- •Приложение 5 Опыт применения динамических оболочек экспертных систем
1.3 Архитектура статических и динамических экспертных систем
Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.1):
• решателя (интерпретатора);
• рабочей памяти (РП), называемой также базой данных (БД);
• базы знаний (БЗ);
• компонентов приобретения знаний;
• объяснительного компонента;
• диалогового компонента.
База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.
База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.
Решатель, используя исходные данные из рабочей, памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.
Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.
Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.
Рис. 1.1. Структура статической ЭС
Диалоговый компонент ориентирован на организацию дружественного общения с пользователем как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.
В разработке ЭС участвуют представители следующих специальностей:
эксперт в проблемной области, задачи которой будет решать ЭС;
инженер по знаниям - специалист по разработке ЭС (используемые им технологию, методы называют технологией (методами) инженерии знаний);
программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.
Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его.
Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введенных в ЭС знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС; осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ представления знаний в этом ИС; выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.
Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано.
Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области.
Отметим, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт (с помощью ЭС), не владеющий программированием.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к ЭС за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к ЭС с целью либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу). Следует подчеркнуть, что термин "пользователь" является многозначным, так как использовать ЭС кроме конечного пользователя может и эксперт, и инженер по знаниям, и программист. Поэтому когда хотят подчеркнуть, что речь идет о том, для кого делалась ЭС, используют термин "конечный пользователь".
В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. Подчеркнем, что в отличие от традиционных программ ЭС при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее. Если реакция системы не понятна пользователю, то он может потребовать объяснения: "Почему система задает тот или иной вопрос?", "как ответ, собираемый системой, получен?".
Структуру, приведенную на рис. 1.1, называют структурой статической ЭС. ЭС данного типа используются в тех приложениях, где можно не учитывать изменения окружающего мира, происходящие за время решения задачи. Первые ЭС, получившие практическое использование, были статическими. Они нашли применение в широком классе приложений (см. п.4.1).
Из общих соображений понятно, что существует огромный класс приложений, в которых требуется учитывать динамику, т. е. изменения, происходящие в окружающем мире за время исполнения приложения. На рис. 1.2 показано, что в архитектуру динамической ЭС по сравнению со статической ЭС вводятся два компонента: подсистема моделирования внешнего мира и подсистема связи с внешним окружением. Последняя осуществляет связи с внешним миром через систему датчиков и контроллеров. Кроме того, традиционные компоненты статической ЭС (база знаний и машина вывода) претерпевают существенные изменения, чтобы отразить временную логику происходящих в реальном мире событий (подробнее см. гл.9).
Подчеркнем, что структура ЭС, представленная на рис. 1.1 и 1.2, отражает только компоненты (функции), и многое остается "за кадром". На рис. 1.3 приведена обобщенная структура современного ИС для создания динамических ЭС, содержащая кроме основных компонентов те возможности, которые позволяют создавать интегрированные приложения в соответствии с современной технологией программирования (более подробно см. гл.9).
Рис. 1.2. Архитектура статических и динамических ЭС (компоненты, подвергающиеся изменениям, заштрихованы)
Рис. 1.3. Структура современных ИС для ЭС
В основе ИС лежат объектно-ориентированная база знаний (ОО-технология БЗ) и механизм вывода, способный оперировать с правилами, в которых явным образом отражено время (РВ - механизм вывода). Во внутреннем кольце расположены компоненты, обеспечивающие моделирование, анимацию, активную графику, механизм общих правил и т.д. Во внешнем кольце отражены технологии и требования, обязательные в современных ИС для создания ЭС (см. п. 1.1).