ЭС в общем случае представляются как продукционные системы /1/. В продукционной системе данные представляются в символьном виде, набор символов составляет алфавит системы. С помощью символов составляются описания. В зависимости от принятого способа представления данных символьное описание состоит или из последовательных символов, или символов объединенных связками (связка – некоторое логическое понятие, объединяющее символы). Обработка символьных данных состоит в преобразовании символьного описания. Это действие называется продукцией. Продукция представляется как XiWWYi. Это означает, что если в некотором описании Y присутствует последовательность символов Xi, то продукция состоит в исключении Xi из Y и в присоединении к оставшейся части Yi . Например, если Y:abc, то продукция abWWd представляет Y:cd.(приводит к модификации Y:cd).
Продукции поддерживаются правилами преобразования описания, которые называются продукционными. Таким образом, продукционная система включает в себя набор описаний (данных), набор продукционных правил и интерпретатор. Интерпретатор определяет последовательность применения правил к данным. С учетом изложенного продукционная система имеет вид:
PS=(B, R, I),
где B – база данных;
R – продукционные правила или база знаний;
I – интерпретатор.
Интерпретатор представляется в виде:
I=(V, S, K, W)
10
Последовательность действий интерпретатора:
На шаге V осуществляется выборка данных и знаний. Эта выборка может выполняться тривиально, т.е. последовательным выбором всех данных и всех правил, или по определенным формальным признакам.
На шаге S осуществляется сопоставление выбранных данных и правил, т.е. выявляется, к каким данным какие правила можно применить. Создаются активные пары "данные-правила", которые используются на следующих шагах.
На шаге K выполняется разрешение конфликтов, при котором определяется последовательность работы с активными парами. Эта последовательность задается механизмом вывода (стратегией поиска).
При установленном порядке обработки данных выполняется стадия W, т.е. выполнение. В результате выполнения образуется набор новых описаний, с которым интерпретатор повторяет все шаги работы, и так до тех пор, пока не будет получено решение или выявлено, что его не существует.
ОК
ДК
КПЗ
ИР
И
РП
БЗ
Рис.2. Структура статической экспертной системы
В состав экспертной системы входят компоненты, обеспечивающие принятие решений, исполнение экспертной системы и общение с экспертами и пользователями (Рис.2).
11
Ядро системы – интеллектуальный решатель ИР, представляющий собой многопроцессорную систему, обеспечивающую работу с базой данных, решение задач поиска и информационное взаимодействие с внешним миром.
Преобразование информации выполняется через рабочую память РП, которая связана с базой данных через интерфейс ИБД. В базе знаний БЗ размещаются решающие правила, которые определяют последовательность обработки данных в ИР. Здесь же могут размещаться метазнания, которые указывают последовательность применения решающих правил. Для общения с внешним миром в системе присутствуют следующие компоненты:
Компонент приобретения знаний КПЗ. Этот компонент обеспечивает наполнение системы данными и знаниями. Его основа - символьные языки и программные средства их поддержки;
Диалоговый компонент ДК. С помощью этого компонента обеспечивается диалог между пользователем и системой. Средства ДК обеспечивают представление информации для пользователя в понятиях предметной области;
Объяснительный компонент ОК. Этот компонент - средство представления пользователю сведений о том, почему экспертная система принимает то или иное решение.
Представленная структура является статической экспертной системой, т.к. предназначена для работы в неизменяемой предметной области. Пополнение базы данных или базы знаний может выполняться по инициативе пользователя с привлечением экспертов.
Системы, которые могут самостоятельно пополнять базы данных и знаний, называются динамическими. Ядро динамической системы – статическая система, дополнительные элементы: средства получения информации из предметной области, средства преобразования этой информации, модель предметной области. Динамическая система в рабочем режиме постоянно получает информацию из предметной области. Ее
12
преобразование состоит в приведении к установленным форматам (распознавание и составление символьного описания). Полученное описание накладывается на модель предметной области с целью выявления новых признаков. При наличии таковых пополняется база данных через компонент преобразования знаний КПЗ. При поиске решения и использовании новых признаков могут формулироваться новые решающие правила, которыми пополняется база знаний.
Статические и динамические системы работают в режиме обучения (накопления знаний) и консультаций. Первый режим реализуется при разработке системы; второй – пользовательский, когда с системой работает конечный пользователь. В первом режиме максимально задействован КПЗ, во втором – ОК и ДК.
Информация для экспертной системы поступает из предметной области ПО. Разработка экспертной системы для конкретной ПО состоит из нескольких унифицированных этапов (Рис.3). Первый из них - идентификация И. На этом этапе рассматривается предметная область и определяется целесообразность и возможность создания экспертной системы. Принцип целесообразности состоит в выявлении степени неопределенности предметной области. Если предметная область может быть четко формализована в виде алгоритмической или математической модели, то экспертную систему создавать нецелесообразно.
Возможность создания ИС определяется наличием экспертов и предварительной оценкой представления ПО в виде символьных описаний. При положительном решении формируется группа разработки проекта, которая начинает работу с этапа концептуализации К. При этом выбирается символьный язык и систематизируется предметная область, т.е. выявляются основные ее понятия (признаки).
После этого осуществляется формализация Ф. При Ф
13
систематизированные признаки предметной области представляются в символьном виде и разрабатываются или предлагаются правила работы с символьными представлениями. После Ф на этапе выполнения В экспертная система наполняется знаниями, т.е. сведениями в символьном представлении, которые описывают различные ситуации (свойства) предметной области. Здесь же символьные данные описываются средствами программирования вычислительных систем.
ПО ЭС
И
Т ОЭ
ПФ
ПФ
ПК
К
Ф
В
Рис.3. Последовательность разработки экспертной системы
По завершении этапа В система готова для использования; до передачи ее конечному пользователю выполняется тестирование Т и опытная эксплуатация ОЭ. При тестировании разработчиками проекта предлагаются системе различные наборы данных с известными решениями. Контролируются правильность принятия решений и последовательность их поиска. При опытной эксплуатации системе предлагаются реальные задачи ПО, и оценивается объективность решения с контролем последовательности его принятия. По результатам тестирования и опытной эксплуатации принимается решение о степени готовности системы. При отрицательном решении может выполняться переформулирование ПФ поставленной задачи на этапах И и К и (или) п ереконструирование на этапе формали-
14
зации. При положительном выводе о готовности системы, она передается конечному пользователю.
Обычно разработка систем выполняется как разработка прототипов, т.е. не ставится задача разработки сразу системы с полным объемом знаний. Для начала на этапах И и К выбираются наиболее существенные признаки ПО, и система разрабатывается и тестируется только в объеме этих признаков. В дальнейшем в систему добавляется новый объем признаков, создается второй прототип и так далее до исчерпания всех известных признаков.
При принятии решения сначала выполняется выборка Выб (Рис. 4). При выборке из рабочей памяти РП извлекаются данные, а из базы знаний БЗ правила.
В
РП
РК
Соп.
Выб.
ОМ
КМ
АМ
БЗ
Рис. 4. Последовательность вывода в экспертных системах
Выбранный означенный модуль ОМ выполняется на этапе выполнения Все извлекаемые данные и знания анализируются на возможность применения при решении. В результате чего создается набор активных модулей АМ. Далее модули из набора сопоставляются (Соп). При сопоставлении создаются пары или тройки из данных и правил, т.е. выбираются данные и правила, которые к этим данным можно применить. Резуль
15
тат сопоставления – набор конфликтных модулей КМ. Модули конфликтны в том смысле, что поиск решения может начинаться с любого из них. Выбор последовательности работы с модулями осуществляется при разрешении конфликтов РК. В. В результате модифицируется РП (изменение данных). В дальнейшем механизм вывода может работать или в стадии РК до перебора всех конфликтных модулей или запускаться по полному циклу с учетом модификации базы данных (РП).
Предметная область представляется пространством состояний. Каждое состояние – это или признак объекта ПО, или сам объект. Процесс поиска решений состоит в переходе от одного элемента в пространстве состояний к другому до тех пор, пока не будет определено состояние классифицирующееся как решение. Алгоритмы перехода в пространстве перехода определяются как методы поиска решения. Выбор метода зависит от вида пространства состояний. Если пространство ограничено по количеству признаков и переходов между ними, то поиск выполняется в одном пространстве состояний. Если пространство состояний велико или имеет большую степень неопределенности, поиск реализуется во множестве пространств (иерархия пространств).
Поиск в одном пространстве состояния рассматривается в графовой интерпретации. Граф представляет из себя совокупность признаков, объединенных связями: G=G(X,Y),
где G – представление графа;
X – множество признаков;
Y – множество пар Xi,Xj;
Xi,Xj – признаки из множества X, объединенных связями f,
f – оператор переводящий состояние Xi в состояние Xj .
Каждому Х соответствует вершина графа, а каждому f – линия соединяющая вершины (дуга). Таким образом,
16
пространство состояния представляется множеством вершин, объединенных дугами. Во множестве вершин выделяются следующие:
X0 – вершина начального состояния;
Xц – целевые вершины (вершины, соответствующие решениям);
Xт – терминальные вершины (вершины, означающие отсутствие решения, или тупиковые). К терминальным вершинам не применяется ни один оператор.
Граф обычно представляется в виде слоев (Рис. 5). В каждом графе нулевой слой – слой начальных состояний (исходные данные из предметной области). Поиск решения состоит в применении операторов к признакам нулевого слоя. Эта операция называется раскрытием вершин. Состояние, получившееся в результате применения оператора, соответствует дочерней вершине, множество которых образует слой номер 1. Дальнейшее раскрытие вершин слоя 1 порождает слой 2 и т.д. пока не будут достигнуты вершины Ху (целевые) или Хт (терминальные).
Процесс поиска может заканчиваться различными исходами:
раскрытием всех целевых и терминальных вершин;
раскрытием определенного количества целевых вершин;
достижением определенной глубины поиска.
Глубина поиска определяется номером слоя, до которого проводится раскрытие вершин. Если в этом граничном слое
имеются целевые вершины, то они принимаются как решения,
если отсутствуют, то признается отсутствие решения. Направления поиска – последовательность раскрытия вершин в графе. При поиске в ширину вершины раскрываются послойно. На рисунке 6 это представлено нумерацией вершин без скобок. При поиске в ширину сначала раскрываются все вершины нулевого слоя, результаты раскрытия хранятся в рабочей памяти
системы. Затем раскрываются порожденные вершины до завершения поиска по одному из критериев, указанных выше.
17
X01 X02
X03