Главная / Искусственный интеллект / Экспертные системы / Экспертные системы, основанные на правилах

Экспертные системы, основанные на правилах

Поверхностные представления

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

  • MYCIN — осуществляет диагностику инфекционных заболеваний;
  • HEURISTIC DENDRAL — идентифицирует органические соединения;
  • PROSPECTOR — оказывает помощь геологам в оценке месторождений полезных ископаемых;
  • PUFF  — анализирует результаты функциональных тестов работы легких человека;
  • INTERNIST — ставит терапевтические диагнозы;
  • XCON (прежнее название R1) — осуществляет выбор конфигурации вычислительных систем VAX-11/780;
  • SACON — дает инженерам рекомендации по проведению структурного анализа.

Было создано несколько систем широкого применения, которые существенно упростили организацию экспертных систем, построенных на правилах и предназначенных для конкретных областей. Назовем некоторые из них: EMYCIN, AGE, OPS5, ADVISE, Hearsay-3, AL/X, EXPERT-EASE (фирма «Хьюмен эдж софтуэр». Пало-Альто, шт. Калифорния), KS 300 (модифицированный вариант системы EMYCIN; фирма «Текноледж», Пало-Альто), KES (фирма «Интеллидженетикс», Пало-Альто), Personal Consultant (Персональный консультант; фирма «Тексас Инструменте», Даллас, шт. Техас).

Система, основанная на правилах, состоит из МРО, которые собственно и называются правилами. Каждое правило состоит из двух частей: левой («посылки» — комбинации высказываний о содержимом базы данных) и самостоятельной правой («следствия» — совокупности действий). В СОП операции анализа данных, выполняемые посредством левой части, отделены от процедур их модификации, которые осуществляются правой частью правила.

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

  1. Выбор: выбираются правила и элементы данных, относящиеся к рассматриваемому случаю. Выбор бывает либо тривиальным (в  частности,  если  в каждом цикле могут рассматриваться вес правила и элементы данных), либо весьма сложным (например, когда есть возможность разработать специальные процедуры фильтрации, позволяющие исключить из рассмотрения те правила, которые, как может оказаться, «не подходят» для обработки текущих данных). В системе TAXADVISOR правила образуют иерархическую структуру, в результате чего на каждой ступени рассматривается ограниченное их число.
  2. Сопоставление: действующие правила «примеряются» к активным элементам данных с целью нахождения подходящих образцов, т. е. правил, для которых удовлетворяются условия выполнения. (Пример процедуры сопоставления с образцами приведен здесь)
  3. Подготовка «расписания»: принимается решение, какие из правил, условия выполнения которых удовлетворяются, следует «запустить». Процесс «запуска» состоит из выборки и выполнения процедур, связанных с теми элементами образцов, которые сопоставимы с текущими данными. Если удовлетворяются условия более чем одного правила, то для принятия решения о том, какое из них нужно «запустить», применяются эвристические алгоритмы разрешения конфликтных ситуаций.
  4. Выполнение: запускаются правила, выбранные на этапе подготовки расписания. В результате выполнения модифицируются элементы или структуры данных. В системе TAXADVISOR процесс выполнения приводит к выдаче рекомендаций клиенту относительно оптимального планирования доходов от имущества (см. здесь).

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

Для нахождения значений этих переменных необходимо отыскать значения исходных посылок таких правил. Чтобы удовлетворить условиям каждой посылки, представляющей определенную подцель, система собирает предшествующие правила, следствия которых согласуются со значением данной посылки. Такой процесс «обратного прохождения правил»—от следствий к посылкам и снова к следствиям (предыдущих правил)—для нахождения последовательности причинных связей, которая приводит к достижению поставленной цели, называется обратной цепочкой рассуждений.

В системах, управляемых посылками (т. е. действующих согласно прямой цепочке рассуждений), процесс выполнения программы представляет собой просто непрерывную последовательность циклов, заканчивающуюся в тот момент, когда часть правила, относящаяся к действию, предписывает останов процесса. В каждом цикле система просматривает посылки и выявляет правила, посылкам которых удовлетворяет содержимое имеющейся базы данных. Если таких правил несколько, то с помощью стратегии разрешения конфликтных ситуаций выбирается одно из них. После этого выполняется полный набор действий, связанных с выбранным правилом, и вносятся соответствующие изменения в базу данных. К примеру, при работе с системой R1 (XCON) в базу данных закладывается вся информация, относящаяся к решаемой задаче, после чего система, используя необходимые правила, проводит рассуждения в прямом направлении — от исходных данных к заключениям. Таким образом, построение прямой цепочки рассуждений сводится к организации очереди из правил с последующим выполнением для них цикла типа «распознавание—действие».

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

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