Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Горячева Н. В. ЭСвУК.doc
Скачиваний:
16
Добавлен:
04.05.2019
Размер:
750.59 Кб
Скачать

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

4.1. Составляющие экспертной системы

Обобщенная структура экспертной системы представлена на рис. 4.1.

Следует учесть, что реальные экспертные системы могут иметь более сложную структуру, однако блоки, изображенные на рисунке, непременно присутствуют в любой действительной экспертной системе [1].

Экспертные системы имеют две категории пользователей и два отдельных «входа», соответствующих различным целям взаимодействия пользователей с экспертной системой [3]:

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

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

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

Интерфейс пользователя – это система программных и аппаратных средств, обеспечивающих для конечного пользователя использование компьютера для решения задач, которые возникают в среде его профессиональной деятельности либо без посредников, либо с незначительной их помощью. Это совокупность средств интеллектуального интерфейса, имеющих гибкую структуру, которая обеспечивает возможность адаптации в широком спектре интересов конечных пользователей. Таким образом, интерфейс пользователя реализует диалог пользователя с экспертной системой, как на стадии ввода информации, так и при получении результатов [3].

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

База знаний – ядро экспертной системы, совокупность знаний предметной области, записанной на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному) [1].

База знаний – важная компонента экспертной системы, которая предназначена для хранения долгосрочных данных, описывающих рассматриваемую предметную область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области. В качестве предметной области выбирается узкая (специальная) прикладная область [3].

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

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

Существуют динамические и статические базы знаний. Динамическая база знаний изменяется со временем. Ее содержимое зависит и от состояния окружающей среды. Новые факты, добавляемые в базу знаний, являются результатом вывода, который состоит в применении правил к имеющимся фактам.

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

Иными словами, имеется возможность модифицировать значения атрибутов в составе фактов, находящихся в рабочей памяти. Изменение фактов в свою очередь приводит к необходимости удаления из базы знаний заключений, полученных с помощью упомянутых правил. Тем самым вывод выполняется повторно для того, чтобы пересмотреть те решения, которые были получены на основе подвергшихся изменению фактов [9].

Решатель – программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в базе знаний. Синонимы: дедуктивная машина, машина вывода, блок логического вывода [1].

Чаще всего для представления знаний в экспертной системе используются системы продукций и семантические сети. Допустим, база знаний состоит из фактов и правил (если «условие» то «действие»). Если экспертная система определяет, что посылка верна, то правило признается подходящим для данной консультации, и оно запускается в действие. Запуск правила означает принятие заключения данного правила в качестве составной части процесса консультации [5].

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

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

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

Подсистема объяснений – программа, которая объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала. Это облегчает эксперту тестирование и повышает доверие пользователя к полученному результату. Поскольку системы, основанные на знаниях, реализуются на компьютерах, то и входная информация воспринимается в виде, понятном компьютеру, т. е. в битах и байтах. Однако для того чтобы с системой мог взаимодействовать неподготовленный пользователь, в нее требуется включить средства общения на естественном языке. Подавляющее большинство систем, основанных на знаниях, обладают достаточно примитивным интерфейсом на естественном языке – допустимые входные сообщения пользователя ограничены набором понятий, содержащихся в базе знаний [9].

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

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

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

Участники работы экспертной системы:

Пользователь – специалист предметной области, для которого предназначена система.

Эксперт – специалист, обладающий знаниями в предметной области.

Инженер по знаниям – специалист в области искусственного интеллекта, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик [1]. В его обязанности входит:

- опрос эксперта;

- организация знаний;

- запись их в базу знаний экспертной системы;

- помощь программисту в написании экспертной системы.

4.2. Данные и знания

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

Данные – это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также их свойства [1].

При обработке на ЭВМ данные трансформируются, условно проходя следующие этапы:

D1 – данные как результат измерений и наблюдений;

D2 – данные на материальных носителях информации (таблицы, протоколы, справочники);

D3 – модели (структуры) данных в виде диаграмм, графиков, функций;

D4 – данные в компьютере на языке описания данных;

D5 – базы данных на машинных носителях информации.

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

Знания – это закономерности предметной области (принципы, связи, законы), полученные в результате практической деятельности и профессионального опыта, позволяющие специалистам ставить и решать задачи в этой области [1].

При обработке на ЭВМ знания трансформируются аналогично данным.

Z1 – знания в памяти человека как результат мышления;

Z2 – материальные носители знаний (учебники, методические пособия);

Z3 – поле знаний – условное описание основных объектов предметной области, их атрибутов и закономерностей, их связывающих;

Z4 – знания, описанные на языках представления знаний (продукционные языки, семантические сети, фреймы);

Z5 – база знаний на машинных носителях информации.

Часто используется такое определение знаний.

Знания – это хорошо структурированные данные, или данные о данных, или метаданные [1].

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

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

Проведем аналогию с управлением качеством.

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

Информация о качестве – это структурированные, обработанные данные о качестве. То есть сравнение полученного размера с установленным допуском, которое информирует о качестве детали, является информацией.

После многократного использования, осмысления и подтверждения истинности на практике информация преобразуется в знания.

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

В отличие от данных знания обладают следующими свойствами [3].

1. Внутренняя интерпретируемость.

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

2. Структурированность.

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

3. Связность.

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

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

4. Семантическая метрика.

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

5. Активность.

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

Знания делятся на факты и правила.

Факты не всегда могут быть либо истинны, либо ложны. В экспертной системе сомнения относительно истинности фактов учитываются коэффициентом уверенности (доверия), КУ [0;1]. Многие правила экспертной системы являются эвристиками. Эвристики отличаются от алгоритмов тем, что позволяют более быстро найти решение, но не дают никаких гарантий.

Знания могут быть классифицированы по следующим категориям [1, 2]:

- поверхностные – знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области.

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

Поверхностные знания: «Если нажать на кнопку звонка, раздастся звук. Если болит голова, то следует принять аспирин».

Глубинные знания: «Принципиальная электрическая схема звонка и проводки. Знания физиологов и врачей высокой квалификации о причинах, видах головных болей и методах их лечения».

Можно привести следующие примеры из менеджмента качества.

Поверхностные знания: «Чтобы обеспечить качество закупаемой продукции, нужно выбирать лучших поставщиков».

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

Современные экспертные системы работают в основном с поверхностными знаниями.

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

Кроме того, знания традиционно делятся на процедурные и декларативные [1, 2, 8].

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

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

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

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

В отличие от процедурных знаний, отвечающих на вопрос: «Как сделать объект X?», декларативные знания отвечают на вопросы: «Что есть объект X?» или «Какие связи имеются между объектами X и Y?» и т. п.

Исторически первичными были процедурные знания, то есть знания, «растворенные» в алгоритмах. Они управляли данными. Для их изменения требовалось изменять программы. Однако с развитием искусственного интеллекта приоритет данных постепенно изменялся, и все большая часть знаний сосредотачивалась в структурах данных (таблицы, списки, абстрактные типы данных), то есть увеличивалась роль декларативных знаний.

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

4.3. Модели представления знаний

Представление знаний – это соглашение о том, как описывать реальный мир. В естественных и технических науках принят следующий традиционный способ представления знаний. На естественном языке вводятся основные понятия и отношения между ними. Но при этом используются ранее определенные понятия и отношения, смысл которых уже известен. Далее устанавливается соответствие между характеристиками (чаще всего количественными) понятий и подходящей математической моделью. Представление знаний обычно выполняется в рамках той или иной системы представления знаний [3].

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

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

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

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

- продукционные модели;

- семантические сети;

- фреймы;

- формальные логические модели.

4.3.1. Продукционные модели

Продукционная модель или модель, основанная на правилах, позволяет представить знания в виде предложений типа «Если (условие), то (действие)» [1]. Идея этого метода принадлежит Э. Посту (1943 г.).

Продукционная система состоит из трех основных компонентов, схематично изображенных на рис. 4.2 [2].

Первый из них – это база правил типа ЕСЛИ (условие), ТО (действие).

Вторым компонентом является рабочая память, в которой хранятся исходные данные к задаче и выводы, полученные в ходе работы системы.

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

Рис. 4.2. Блок-схема продукционной системы

Когда в рабочую память поступают исходные данные, механизм вывода начинает сопоставлять образцы из условных частей правил с образцами, хранимыми в рабочей памяти. Если образцы из условной части имеются в рабочей памяти, то условная часть считается истинной, в противном случае – ложной [2].

Каждое правило состоит из двух частей:

1) антецедент – это элементарное предложение, которое может быть соединено логическими связками И, ИЛИ;

2) консеквент – представляет собой одно или несколько предложений, которые образуют решение или указывают на действие, подлежащее выполнению.

Антецедент – Если обнаружено несоответствие И установлена его причина,

Консеквент – То необходимо корректирующее действие.

Каждое правило включает в себя атрибуты и значения. Любое правило состоит из одной или нескольких пар атрибутов или значений («несоответствие» – атрибут, «обнаружено» – значение).

Действия, выполняемые правилами: модификация фактов и правил в базе знаний, добавление новых фактов, непосредственное взаимодействие с окружающей средой.

Рассмотрим конкретный пример (рис. 4.3). В базе правил экспертной системы имеются два правила [2].

Правило 1: ЕСЛИ «намерение – отдых» и «дорога ухабистая», ТО «использовать джип».

Правило 2: ЕСЛИ «место отдыха – горы», ТО «дорога ухабистая».

Рис. 4.3. Пример продукционной модели

Допустим, что в рабочую память поступили исходные данные: «намерение – отдых», «место отдыха – горы».

В данном примере при рассмотрении правила 1 оказывается, что образец «намерение – отдых» имеется в рабочей памяти, а образец «дорога ухабистая» отсутствует, поэтому условная часть правила 1 считается ложной. При рассмотрении правила 2 выясняется, что его условная часть истинна. Механизм вывода выполняет заключительную часть этого правила, и образец «дорога ухабистая» заносится в рабочую память. Правило 2 при этом выбывает из числа кандидатов на рассмотрение.

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

Аналогичный пример из управления качеством, связанный с оценкой процесса с помощью индексов воспроизводимости, приведен на рис. 4.4.

Рис. 4.4. Пример продукционной модели из управления качеством

В рассмотренных примерах приведен прямой вывод – от данных к поиску цели. Однако применяют и обратный вывод – от цели для ее подтверждения к данным. Продемонстрируем этот способ на нашем примере. Допустим, что наряду с исходными данными «намерение – отдых», «место отдыха – горы» имеется цель «использовать джип» [2].

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

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

В приведенном примере на каждом этапе прямого вывода можно было использовать только одно правило. В общем же случае на каждом этапе вывода таких правил несколько, и тут возникает проблема выбора. Например, введем в рассмотрение еще одно правило.

Правило 3: ЕСЛИ «намерение – отдых», ТО «нужна скорость».

Кроме того, введем условие останова системы – появление в рабочей памяти образца «использовать джип» (рис. 4.5) [2].

Теперь на первом этапе прямого вывода появляется возможность применять либо правило 2, либо правило 3. Если сначала применить правило 2, то на следующем этапе можно будет применить правило 1 или правило 3. Если на этом этапе применить правило 1, то выполнится условие останова системы, но если прежде применить правило 3, то потребуется еще один этап вывода.

Этот пример показывает, что выбор применяемого правила оказывает прямое влияние на эффективность вывода. В реальной системе, где имеется множество правил, появляется проблема их оптимального выбора.

Если на каждом этапе логического вывода существует множество применимых правил, то это множество носит название конфликтного набора, а выбор одного из них называется разрешением конфликта.

Рис. 4.5. Пример продукционной модели с выбором правил

Помимо продукционных правил база знаний должна включать и простые факты, поступающие в систему через интерфейс пользователя или выводимые в процессе поиска решения задачи. Факты являются простыми утверждениями типа «клиент работает на одном месте более двух лет». И когда в процессе интерпретации правил машиной вывода какой-либо факт согласуется с частью правила ЕСЛИ, то выполняется действие, определяемое частью ТО этого правила. Новые факты, добавляемые в базу знаний в результате действий, описанных в правилах, также могут быть использованы для сопоставления с частями ЕСЛИ других правил. Последовательное сопоставление частей правил ЕСЛИ с фактами порождает цепочку вывода. Цепочки вывода экспертной системы могут быть предъявлены пользователю и помогают понять, как было получено решение [3].

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

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

4.3.2. Семантические модели (сети)

В основе этого способа представления знаний лежит идея о том, что любые знания можно представить в виде совокупности понятий (объектов) и отношений (связей) [2].

Термин семантическая означает «смысловая», а сама семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков [1].

Семантическая сеть – это ориентированный граф, вершины которого – понятия, а дуги – отношения между ними (рис. 4.6) [2].

Рис. 4.6. Пример семантической сети

В качестве понятий обычно выступают абстрактные или конкретные объекты, а отношения – это связи типа: «это», «имеет частью», «принадлежит» и т. п [1].

Характерной особенностью семантических сетей является обязательное наличие трех типов отношений [1] (рис. 4.7):

- класс – элемент класса (система менеджмента – система менеджмента качества);

- свойство – значение (отношение к группе процессов – управленческие);

- пример элемента класса (разработка политики в области качества).

Рис. 4.7. Пример семантической сети из менеджмента качества

Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска (подсети), отражающей поставленный запрос к базе.

Основным ее преимуществом является наглядность представления знаний, а также соответствие современным представлениям об организации долговременной памяти человека. Но для нее характерна неоднозначность представления знаний и неоднородность связей [2].

Недостатком этой модели является сложность организации процедуры поиска вывода из семантической сети, а также сложность корректировки, т. е. удаления и дополнения сети новыми знаниями [1].

4.3.3. Фреймы

Термин фрейм (от английского frame, что означает «каркас» или «рамка») был предложен Марвином Минским [11], одним из пионеров искусственного интеллекта, в 70-е годы для обозначения структуры знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование [1].

Фрейм – это модель абстрактного образа, минимально возможное описание сущности какого-либо явления, события, ситуации, процесса или объекта [2]. Мини­мально возможное означает, что при дальнейшем упрощении описа­ния теряется его полнота, оно перестает определять ту единицу зна­ний, для которой оно предназначено.

Другими словами, фрейм – это абстрактный образ для представления некоторого стереотипа восприятия [1].

Фрейм имеет почти однородную структуру и состоит из стандартных единиц, называемых слотами [1, 2]. Каждая такая единица – слот – содер­жит название и свое значение (рис. 4.8, 4.9). Изображается фрейм следующим образом:

Имя фрейма:

(имя 1-го слота: значение 1-го слота),

(имя 2-го слота: значение 2-го слота),

…..

(имя N-го слота: значение N-го слота).

В качестве значения слота может выступать имя другого фрейма. Таким образом, фреймы объединяются в сеть. Свойства фреймов наследуются сверху вниз, т. е. от вышестоящих к нижестоящим через AKO-связи (начальные буквы английских слов «A Kind Of», что можно перевести как «это»). Слот с именем AKO указывает на имя фрейма более высокого уровня иерархии.

Млекопитающее

АКО

Живая материя

Ч еловек

Состоит из

Костей и мяса

АКО

Млекопитающее

Студент

Возраст

0-120 лет

АКО

Человек

Рост

50-220 см

Учится

В академии

Умеет

Мыслить

Сдает

Экзамены

Рис. 4.8. Пример фреймовой модели

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

Модель фрейма использует следующие элементы:

- фреймы-структуры, использующиеся для обозначения объектов и понятий (документ, система);

- фреймы-роли (менеджер, поставщик, потребитель);

- фреймы-сценарии (обычный режим, нештатная ситуация, сертификация) [1].

Документ СМК

АКО

Носитель информации

П роцедура

Является частью

СМК

АКО

Документ СМК

Процедура процесса

Уровень документации

Второй

АКО

Процедура

Отражает

Последовательность действий

Описывает

Процесс

Создается

Владельцем процесса

Рис. 4.9. Пример фреймовой модели из менеджмента качества

Основным преимуществом фреймов как способа представления знаний является наглядность и гибкость в употреблении. Кроме того, фреймовая структура согласуется с современными представлениями о хранении информации в памяти человека [2].

4.3.4. Формальные логические модели

Эти модели представляют собой некоторое логическое исчисление.

Все знания о предметной области описываются в виде набора формул и аксиом или правил вывода.

В виде формул представляются декларативные знания, а в виде правил вывода – процедурные знания.

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

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

В последнее время наметилась тенденция создавать комбинированные модели. Чаще всего комбинируют фреймовые и продукционные модели.