Научная статья на тему 'Компонентный подход: модуль продукционной экспертной системы'

Компонентный подход: модуль продукционной экспертной системы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
197
87
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Компонентный подход: модуль продукционной экспертной системы»

1. Проверяется наличие политики.

2. Если политика не найдена, исследуется иерархия классов в онтологии от более специфичного к более общему классу до тех пор, пока не будет найдена информация о репутации.

3. Если информация все еще не найдена, берется репутация на онтологию для данного агента.

4. Если значение репутации по-прежнему не найдено, используется общая репутация агента, средняя по всем доменам.

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

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

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

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

В работе [3] описаны пять стратегий доверия для агентов в Semantc Web: оптимизм, пессимизм, централизованное и транзитивное доверие, а также расследование. Оптимизм подразумевает доверие, пессимизм - недоверие, централизованное доверие - это доверие через третью сторону, расследование - сбор информации из множества источников, транзитивность - использование сети доверия. В предлагаемой автором модели используется комбинация стратегий расследования и транзитивного доверия.

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

Литература

1. Donovan Artz, Yolanda Gil. A Survey of Trust in Computer Science and the Semantic Web, Journal of Web Semantics: Science, Services and Agents on the World Wide Web. 2007.

2. Marsh S. Formalizing Trust as a Computational Concept. PhD thesis, University of Stirling, Department of Computer Science and Mathematics. 1994.

3. O'Hara K., Alani H., Kalfoglou Y. and Shadbolt N. Trust strategies for the semantic web. In Proceedings of Workshop on Trust, Security, and Reputation on the Semantic Web, 3rd International Semantic Web Conference. 2004.

УДК 004.89

КОМПОНЕНТНЫЙ ПОДХОД: МОДУЛЬ ПРОДУКЦИОННОЙ ЭКСПЕРТНОЙ СИСТЕМЫ

(Работа выполнена при поддержке Фонда содействия отечественной науке)

О.А. Николайчук, к.т.н.; А.И. Павлов, к.т.н.; А.Ю. Юрин, к.т.н. (Институт динамики систем и теории управления СО РАН, г. Иркутск, nikoly@icc.ru, asd@icc.ru, iskander@irk.ru)

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

Ключевые слова: компонент, автоматизация исследований, продукционная экспертная система, база знаний, качественные решения.

Компьютерная поддержка исследователя в слабоформализованных предметных областях,

связанных с процессами, представляющими опасность для человека (например, производство по-

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

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

Наиболее эффективным способом создания программных систем, удовлетворяющих требованию универсальности (гибкости), является компонентная сборка (Component-Based Development) требуемой системы из функциональных компонентов [2]. В соответствии с данным подходом программная система с требуемым набором функций «синтезируется» из отдельных программных проблемно-ориентированных компонентов. Этот подход позволяет повысить эффективность разработки программных систем путем создания расширяемого и настраиваемого компонентного программного обеспечения, способного решать широкий круг исследовательских задач. Недостатком существующих технологий является их ориентация на программирующего пользователя.

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

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

Цель данной работы - описание модуля продукционной экспертной системы как одного из компонентов системы автоматизации исследований динамики опасных процессов для специали-

стов-предметников (непрограммирующих пользователей).

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

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

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

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

Библиотека компонентов

: Компонент N

Or

Ко мпонент 1

\ Внутренняя ! память

ч___________

X_

X

О Интерфейс О Унифицированный интерфейс

Рис. 1. Концептуальная архитектура компонентной системы

Компонент продукционной экспертной системы. Использование продукционной экспертной системы является одним из способов обеспечения пользователя компьютерной поддержкой при принятии решений на основе знаний эксперта. Как

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

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

В настоящее время существуют как коммерческие, так и свободно распространяемые оболочки продукционных экспертных систем (CLIPS [5], JESS, OPS5), с помощью которых можно реализовать механизм рассуждения на основе продукций. В связи с этим наиболее рациональным представляется реализация данного компонента на основе уже существующей машины вывода. В данной работе для этой цели выбрана свободно распространяемая система CLIPS (C Language Integrated Production System).

На рисунке 2 представлена предлагаемая архитектура компонента, построенного на основе CLIPS. Опишем модули компонента.

Управляющий модуль. Для применения CLIPS в качестве компонента системы автоматизации исследований необходимо создать модуль управления данной системой. Модуль управления с помощью механизма компонентной обертки обеспечивает реализацию унифицированного интерфейса компонента и механизма внутренней

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

К функциям, не зависимыгм от специфики компонента, относятся:

• предоставление информации о свойствах управляемой системы и реализуемых ею функциях;

• прямое и обратное преобразование полученной извне информации в формат, используемый управляемой системой;

• управление состоянием параметров управляемой (контролируемой) системы.

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

С учетом данного положения перечислим зависимым функции управляющего модуля, зависящие от специфики компонента, - продукционной экспертной системы:

• создание базы знаний в виде набора правил и классов фактов в обобщенном виде;

• преобразование правил и фактов из обобщенного вида к формату машины вывода CLIPS;

• упр авл ение процессом вывода:

- формирование рабочей базы знаний на основе обобщенного представления (вида);

- передача рабочей базы знаний в машину вывода (загрузка ее в рабочую память);

- получение результатов и преобразование их в обобщенный вид.

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

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

Описания классов фактов, абстрактные и конкретные правила

Начальный набор фактов, описывающих проблему

Описание проблемы

Полученная рекомендация и объяснение

Продукционная машина вывода (CLI PS)

S

Модуль преобразования правил и фактов в формат используемой машины вывода

Оперативная база знаний в формате CLIPS (факты и правила)

Результат работы (сработавшие правила, полученные факты)

J

Модули, реализация которых зависит от CLIPS

Рис. 2. Архитектура компонента, осуществляющего рассуждение по правилам

Предусловие

Продукционное правило База знаний

• Имя правила ► • Наименование

4

t 0 .. 1| 1 . 1 1 .. 1

Постусловие

Заключение

X

Запрос на вычисление значения

Граница интервала

Знач ение ограничения Вид ограничения

1 .. 1 <>-

Факты

• Условие • Логическое условие м— Контейнер фактов

к

Сравнение с интервалом

Условие на свойство факта

Свойство

2

Сравнение с константой

Значение

Сравнение с другим свойством

Рис. 3. Модель продукционного правила

о.. 1

о .. n

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 .. 1

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

Для представления продукционного правила в обобщенном виде используется следующая теоретико-множественная модель: (i): Q; P; A^-B; N, где i - имя продукции; Q - сфера применения продукции; P - предусловие (условие применимости ядра продукции); A^B - ядро продукции (Если ... То ...); N - постусловие продукции.

Модель реализована в объектно-ориентированном виде (рис. 3). При этом свойства «Условие» и «Заключение» содержат в себе информацию о фактах, используемых в процедуре вывода; «Предусловие» и «Постусловие» - информацию, управляющую процессом вывода. Примером управляющей информации могут быть запреты на срабатывание правила при условии, что в оперативной памяти присутствуют запросы на прерывание процесса вывода, например, для вычисления значения какого-либо из свойств нового факта.

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

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

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

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

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

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

Литература

1. Берман А.Ф. Деградация механических систем. Новосибирск: Наука, 1998.

2. Heineman G.T., Councill W.T. Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, 2001.

3. Павлов А.И. Подход к автоматизации исследования надежности механических систем // Информационно-вычислительные технологии и их приложения: матер. Между-нар. науч.-технич. конф. Пенза: РИО ПГСХА, 2007. С. 137— 139.

4. Павлов А.И., Юрин А.Ю. Компонентный подход: модуль правдоподобного вывода по прецедентам // Программные продукты и системы. 2008. № 3. С. 55-58.

5. CLIPS: A Tool for building Expert Systems // Source-forge.net. URL: http://clipsrules.sourceforge.net/ (дата обращения: 09.05.2008).

i Надоели баннеры? Вы всегда можете отключить рекламу.