Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IIS_lections.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.6 Mб
Скачать

Лекция 4. Экспертные системы: Определения и классификация

Одним из наиболее значительных достижений искусственного интеллекта стала разработка мощных компьютерных систем, получивших название «экспертных» или основанных на «знаниях» систем. В современном обществе при решении задач управления сложными многопараметрическими и сильносвязанными системами, объектами, производственными и технологическими процессами приходится сталкиваться с решением неформализуемых либо трудноформализуемых задач. Такие задачи часто возникают в следующих областях: авиация, космос и оборона, нефтеперерабатывающая промышленность и транспортировка нефтепродуктов, химия, энергетика, металлургия, целлюлозно-бумажная промышленность, телекоммуникации и связь, пищевая промышленность, машиностроение, производство цемента, бетона и т.п., транспорт, медицина и фармацевтическое производство, административное управление, прогнозирование и мониторинг. Наиболее значительными достижениями в этой области стало создание систем, которые ставят диагноз, предсказывают месторождения полезных ископаемых, помогают в проектировании электронных устройств, машин и механизмов, решают задачи управления реакторами и другие задачи.

Под экспертной системой (ЭС) будем понимать информационную систему, которая использует знания специалистов (экспертов) о некоторой конкретной узкоспециализированной предметной области и в пределах этой области способна принимать решения на уровне эксперта-профессионала.

Осознание полезности систем, которые могут копировать дорогостоящие или редко встречающиеся человеческие знания, привело к широкому внедрению и расцвету этой технологии в 80-е, 90-е годы прошлого века. Основу успеха ЭС составили два важных свойства, отмечаемые рядом исследователей:

  • в ЭС знания отделены от данных, и мощность экспертной системы обусловлена в первую очередь мощностью базы знаний и только во вторую очередь используемыми методами решения задач;

  • решаемые ЭС задачи являются неформализованными или слабоформализованными и используют эвристические, экспериментальные, субъективные знания экспертов в определенной предметной области.

Основными категориями решаемых ЭС задач являются: диагностика, управление (в том числе технологическими процессами), интерпретация, прогнозирование, проектирование, отладка и ремонт, планирование, наблюдение (мониторинг), обучение.

Обобщенная схема ЭС

Обобщенная схема ЭС приведена рисунке 4.1. Основу ЭС составляет подсистема логического вывода, которая использует информацию из базы знаний (БЗ), генерирует рекомендации по решению искомой задачи. Чаще всего для представления знаний в ЭС используются системы продукций и семантические сети. Допустим, БЗ состоит из фактов и правил (если <посылка> то <заключение>). Если ЭС определяет, что посылка верна, то правило признается подходящим для данной консультации и оно запускается в действие. Запуск правила означает принятие заключения данного правила в качестве составной части процесса консультации.

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

Типичная статическая ЭС состоит из следующих основных компонентов:

  • решателя (подсистема логического вывода);

  • рабочей памяти (РП), называемой также базой данных (БД);

  • базы знаний (БЗ);

  • компонентов приобретения знаний;

  • объяснительного компонента (подсистема объяснения решений);

  • диалогового компонента (интерфейс пользователя).

Рис. 4.1.  Структура экспертной системы

1) База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.

2) База знаний (БЗ) – ядро ЭС, совокупность знаний о предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении.

3) Решатель (подсистема логического вывода) – программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, машина вывода, блок логического вывода. Это программная компонента экспертных систем, реализующая процесс ее рассуждений на основе базы знаний и рабочего множества. Она выполняет две функции: во-первых, просмотр существующих фактов из рабочего множества и правил из базы знаний и добавление (по мере возможности) в рабочее множество новых фактов и, во-вторых, определение порядка просмотра и применения правил. Эта подсистема управляет процессом консультации, сохраняет для пользователя информацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в рабочем множестве оказывается недостаточно данных.

Цель ЭС – вывести некоторый заданный факт, который называется целевым утверждением (то есть в результате применения правил добиться того, чтобы этот факт был включен в рабочее множество), либо опровергнуть этот факт (то есть убедиться, что его вывести невозможно, следовательно, при данном уровне знаний системы он является ложным). Целевое утверждение может быть либо «заложено» заранее в базу знаний системы, либо извлекается системой из диалога с пользователем.

Работа системы представляет собой последовательность шагов, на каждом из которых из базы выбирается некоторое правило, которое применяется к текущему содержимому рабочего множества. Цикл заканчивается, когда выведено либо опровергнуто целевое утверждение. Цикл работы экспертной системы иначе называется логическим выводом. Логический вывод может происходить многими способами, из которых наиболее распространенные – прямой порядок вывода и обратный порядок вывода.

Прямой порядок вывода – от фактов, которые находятся в рабочем множестве, к заключению. Если такое заключение удается найти, то оно заносится в рабочее множество. Прямой вывод часто называют выводом, управляемым данными.

Обратный порядок вывода – заключения просматриваются до тех пор, пока не будет обнаружены в рабочей памяти или получены от пользователя факты, подтверждающие одно из них. В системах с обратным выводом вначале выдвигается некоторая гипотеза, а затем механизм вывода в процессе работы как бы возвращается назад, переходя от нее к фактам, и пытается найти среди них те, которые подтверждают эту гипотезу. Если она оказалась правильной, то выбирается следующая гипотеза, детализирующая первую, являющаяся по отношению к ней подцелью. Далее отыскиваются факты, подтверждающие истинность подчиненной гипотезы. Вывод такого типа называется управляемым целями. Обратный поиск применяется в тех случаях, когда цели известны и их сравнительно немного.

4) Подсистема объяснения решения – программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» – это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, то есть всех шагов цепи умозаключений. Ответ на вопрос «почему» – ссылка на умозаключение, непосредственно предшествовавшее полученному решению, то есть отход на один шаг назад. Развитые подсистемы объяснений поддерживают и другие типы вопросов.

5) Интеллектуальный редактор БЗ – программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» – режим) и других сервисных средств, облегчающих работу с базой. Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый экспертом.

6) Диалоговый компонент ориентирован на организацию дружественного общения с пользователем как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.

Поскольку системы, основанные на знаниях, реализуются на персональных компьютерах, то и входная информация должна восприниматься в виде, понятном компьютеру. Однако для того чтобы с ЭС мог взаимодействовать неподготовленный пользователь, в нее требуется включить средства общения на естественном языке. Подавляющее большинство систем, основанных на знаниях, обладают интерфейсом на естественном языке. Допустимые входные сообщения пользователя содержатся в базе знаний.

Итак, на примере простой ЭС и базы знаний диалог пользователя с системой можно представить себе следующим образом:

Система: Вы хотите узнать, нужно ли взять с собой зонтик?

Пользователь: Да.

Система: Верно ли, что небо покрыто тучами?

Пользователь: Да.

Система: Верно ли, что барометр падает?

Пользователь: Да.

Система: Нужно взять с собой зонтик.

Как видно из этого примера, в ходе консультации инициатива диалога принадлежит системе, а сама консультация у ЭС выглядит так же, как и консультация у эксперта – человека, – задается ряд вопросов и на основании их анализа выдается экспертное заключение. Однако в отличие от беседы со специалистом, диалог с ЭС имеет свои психологические особенности: большинство пользователей (по вполне понятным причинам, таким, как отсутствие опыта работы на компьютерах, лаконичность диалога с ЭС, отсутствие пояснений в ходе консультации и другим) склонны меньше доверять “мнению” ЭС, чем мнению “живого” эксперта.

Коллектив разработчиков ЭС

Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введенных в ЭС знаний.

Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС; осуществляет выбор той модели представления знаний, которая наиболее подходит для данной проблемной области, и определяет набор инструментальных средств; выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом. Фактически инженер по знаниям ИЗВЛЕКАЕТ знания из эксперта. Извлечение знаний – получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней.

Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т.е. их замена программистами) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его.

Программист разрабатывает интеллектуальную систему, содержащую в пределе все основные компоненты ЭС, и осуществляет ее сопряжение с той средой, в которой она будет использована.

Важную роль при создании ЭС играют инструментальные средства. Среди инструментальных средств для создания ЭС наиболее популярны такие языки программирования, как LISP и PROLOG, а также экспертные системы-оболочки (ЭСО): KEE, CENTAUR, G2 и GDA, CLIPS, АТ_ТЕХНОЛОГИЯ, предоставляющие в распоряжение разработчика-инженера по знаниям широкий набор для комбинирования систем представления знаний, языков программирования, объектов и процедур.

Режимы работы ЭС

Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).

В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области.

Отметим, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт (с помощью ЭС), не владеющий программированием.

В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к ЭС за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к ЭС с целью либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу). Следует подчеркнуть, что термин «пользователь» является многозначным, так как использовать ЭС кроме конечного пользователя может и эксперт, и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идет о том, для кого делалась ЭС, используют термин «конечный пользователь».

Классификация ЭС.

Рис.4.2 Классификация ЭС

Рассмотрим различные способы классификации ЭС.

Классификация по решаемой задаче:

Интерпретация данных – это одна из традиционных задач для ЭС, процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Предусматривается многовариантный анализ данных. (Обнаружение и идентификация различных типов океанских судов по результатам аэрокосмического сканирования, определение свойств личности по результатам тестирования АВАНТЕСТ, МИКРОЛЮШЕР);

Диагностика – процесс соотнесения объекта с некоторым классом объектов и обнаружение отклонения от нормы. Диагностика и терапия сужения коронарных сосудов, диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ;

Мониторинг. Основная задача мониторинга – непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Контроль за работой электростанций СПРИНТ, помощь диспетчерам атомного реактора, контроль аварийных датчиков на химическом заводе – FALCON.

Проектирование – подготовка спецификаций на создание «объектов» с заранее определенными свойствами. Под спецификацией понимается полный набор документов. В задачах проектирования тесно связаны два основных процесса ЭС: процесс вывода решения и процесс объяснения. Проектирование конфигураций ЭВМ, синтез электрических цепей.

Прогнозирование – позволяет предсказывать события на основании имеющихся данных, логически выводить вероятные следствия из данных ситуаций. Предсказание погоды – WILLARD; оценки будущего урожая – PLANT; прогнозы в экономике - ECON.

Планирование – нахождение планов действий объектов, способных выполнять некоторые функции. Для выведения логических последствий планируемой деятельности используются модели поведения реальных объектов. Планирование поведения робота – STRIPS, планирование промышленных заказов – ISIS, эксперимента – MOLGEN.

Обучение – системы обучения с помощью компьютера диагностируют ошибки и подсказывают правильные решения. Они аккумулируют знания о гипотетическом ученике, о его характерных ошибках и способны диагностировать слабости в познаниях обучаемых и находить средства их ликвидации.

Управление – функция организованной системы, поддерживающая определенный режим деятельности. Такого рода ЭС осуществляют управление поведением сложных систем в соответствии с заданными спецификациями. Управление газовой котельной GAS, управление системой календарного планирования Project Assistant.

Поддержка принятия решений – это совокупность процедур, обеспечивающая лицо, принимающее решение, необходимой информацией и рекомендациями. Выбор стратегии выхода фирмы из кризисной ситуации Crisis, выбор страховой компании Choice.

В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Задачи анализа: интерпретация данных, диагностика, поддержка принятия решения. Задачи синтеза: проектирование, планирование, управление. Комбинированные задачи: обучение, мониторинг, прогнозирование.

Классификация по связи с реальным временем:

Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени. Они стабильны. (Диагностика автомобиля).

Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом во времени.

Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени и непрерывной интерпретацией поступающих в систему данных. (Управление гибкими производственными комплексами, мониторинг в реанимационных палатах).

Классификация по степени интеграции с другими программами:

Автономные ЭС работают непосредственно в режиме консультаций с пользователем для специфических «экспертных» задач;

Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (мат. статистику, линейное программирование, СУБД) и средства манипулирования знаниями.

Следует отметить, что разработка гибридных систем являет собой задачу на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий порождает целый комплекс теоретических и практических трудностей.

Классификация по сложности решаемых задач различают:

  1. Простые ЭС - до 1000 простых правил.

  2. Средние ЭС - от 1000 до 10000 структурированных правил.

  3. Сложные ЭС - более 10000 структурированных правил.

Классификация по стадии создания:

  1. Исследовательский образец ЭС, разработанный за 1-2 месяца с минимальной БЗ.

  2. Демонстрационный образец ЭС, разработанный за 2-4 месяца, например, на языке типа LISP, PROLOG, CLIPS.

  3. Промышленный образец ЭС, разработанный за 4-8 месяцев, например, на языке типа CLIPS с полной БЗ.

  4. Коммерческий образец ЭС, разработанный за 1,5-2 года, например, на языке типа С++, Java с полной БЗ.

Трудности при разработке экспертных систем

Разработка ЭС связана с определенными трудностями, которые необходимо хорошо знать, так же как и способы их преодоления. Рассмотрим подробнее эти проблемы.

  • Проблема извлечения знаний из экспертов. Ни один специалист никогда просто так не раскроет секреты своего профессионального мастерства, свои сокровенные знания в профессиональной области. Он должен быть заинтересован материально или морально, причем хорошо заинтересован. Никто не хочет рубить сук, на котором сидит. Часто такой специалист опасается, что, раскрыв все свои секреты, он будет не нужен компании. Вместо него будет работать экспертная система. Избежать этой проблемы поможет выбор высококвалифицированного эксперта, заинтересованного в сотрудничестве.

  • Проблема формализации знаний экспертов. Эксперты-специалисты в определенной области, как правило, не в состоянии формализовать свои знания. Часто они принимают правильные решения на интуитивном уровне и не могут аргументировано объяснить, почему принято то или иное решение. Иногда эксперты не могут прийти к взаимопониманию (фраза «встретились два геолога, у них было три мнения» - не шутка, а реальная жизнь). В таких ситуациях поможет выбор эксперта, умеющего ясно формулировать свои мысли и легко объяснять другим свои идеи.

  • Проблема нехватки времени у эксперта. Выбранный для разработки эксперт не может найти достаточно времени для выполнения проекта. Он слишком занят. Он всем нужен. У него есть проблемы. Чтобы избежать этой ситуации, необходимо получить от эксперта, прежде чем начнется проект, согласие тратить на проект время в определенном фиксированном объеме.

  • Правила, формализованные экспертом, не дают необходимой точности. Проблему можно избежать, если решать вместе с экспертом реальные задачи. Не надо придумывать «игрушечных» ситуаций или задач. В условиях задач нужно использовать реальные данные, такие как лабораторные данные, отчеты, дневники и другую информацию, взятую из практических задач. Постарайтесь говорить с экспертом на одном языке, используя единую терминологию. Эксперт, как правило, легче понимает правила, записанные на языке, близком к естественному, а не на языке типа LISP или PROLOG.

  • Недостаток ресурсов. В качестве ресурсов выступают персонал (инженеры знаний, разработчики инструментальных средств, эксперты) и средства построения ЭС (средства разработки и средства поддержки). Недостаток благожелательных и грамотных администраторов порождает скептицизм и нетерпение у руководителей. Повышенное внимание в прессе и преувеличения вызвали нереалистические ожидания, которые приводят к разочарованию в отношении экспертных систем. ЭС могут давать не самые лучшие решения на границе их применимости, при работе с противоречивыми знаниями и в рассуждениях на основе здравого смысла. Могут потребоваться значительные усилия, чтобы добиться небольшого увеличения качества работы ЭС. Экспертные системы требуют много времени на разработку. Так, создание системы PUFF для интерпретации функциональных тестов легких потребовало 5 человеко-лет, на разработку системы PROCPECTOR для разведки рудных месторождений ушло 30 человеко-лет, система XCON для расчета конфигурации компьютерных систем на основе VAX 11/780 потребовала 8 человеко-лет. ЭС последних лет разрабатываются более быстрыми темпами за счет развития технологий ЭС, но проблемы остались. Удвоение персонала не сокращает время разработки наполовину, потому что процесс создания ЭС - это процесс со множеством обратных связей. Все это необходимо учитывать при планировании создания ЭС.

  • Неадекватность инструментальных средств решаемой задаче. Часто определенные типы знаний (например, временные или пространственные) не могут быть легко представлены на одном ЯПЗ, так же как и разные схемы представления (например, фреймы и продукции) не могут быть достаточно эффективно реализованы на одном ЯПЗ. Некоторые задачи могут быть непригодными для решения по технологии ЭС (например, отдельные задачи анализа сцен). Необходим тщательный анализ решаемых задач, чтобы определить пригодность предлагаемых инструментальных средств и сделать правильный выбор.

Примеры экспертных систем

Для начала совершим краткий экскурс в историю создания ранних и наиболее известных ЭС. В большинстве этих ЭС в качестве модели представления знаний использовались системы продукций (правила) и прямая цепочка рассуждений. Медицинская ЭС MYCIN разработана в Стэнфордском университете в середине 70-х годов для диагностики и лечения инфекционных заболеваний крови. MYCIN в настоящее время используется для обучения врачей.

ЭС DENDRAL разработана в Стэнфордском университете в середине 60-х годов для определения топологических структур органических молекул. Система выводит молекулярную структуру химических веществ по данным масс-спектрометрии и ядерного магнитного резонанса.

ЭС PROSPECTOR разработана в Стэнфордском университете в 1974-1983 годах для оценки геологами потенциальной рудоносности района. Система содержит более 1000 правил и реализована на INTERLISP. Программа сравнивает наблюдения геологов с моделями разного рода залежей руд. Программа вовлекает геолога в диалог для извлечения дополнительной информации. В 1984 году она точно предсказала существование молибденового месторождения, оцененного в многомиллионную сумму.

Среди современных коммерческих систем хочется выделить экспертную систему - оболочку G2 американской фирмы Gensym (USA) как реализованную на достаточно высоком уровне экспертную коммерческую систему для работы с динамическими объектами. Работа в реальном времени с малыми временами ответа часто необходима при анализе ситуаций в корпоративных информационных сетях, на атомных реакторах, в космических полетах и множестве других задач. В этих задачах необходимо принимать решения в течение миллисекунд с момента возникновения критической ситуации. ЭС G2, предназначенная для решения таких задач, отличается от большинства динамических ЭС такими характерными свойствами, как:

  1. работа в реальном времени с распараллеливанием процессов рассуждений;

  2. структурированный естественно-языковый интерфейс с управлением по меню и автоматической проверкой синтаксиса;

  3. обратный и прямой вывод, использование метазнаний, сканирование и фокусирование;

  4. интеграция подсистемы моделирования с динамическими моделями для различных классов объектов;

  5. структурирование БЗ, наследование свойств, понимание связей между объектами;

  6. библиотеки знаний являются ASCII-файлами и легко переносятся на любые платформы и типы ЭВМ;

  7. развитый редактор для сопровождения БЗ без программирования, средства трассировки и отладки БЗ;

  8. управление доступом с помощью механизмов авторизации пользователя и обеспечения желаемого взгляда на приложение;

  9. гибкий интерфейс оператора, включающий графики, диаграммы, кнопки, пиктограммы и т.п.;

  10. интеграция с другими приложениями (по TCP/IP) и базами данных, возможность удаленной и многопользовательской работы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]