Загрузил kvsimonova

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

реклама
ДОКЛАД
ПО ДИСЦИПЛИНЕ «СОВРЕМЕННЫЕ МЕТОДЫ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ»
Тема: «Продукционная модель представления знаний»
Продукционная модель представления знаний
Впервые были предложены Постом в 1943 г., применены в системах искусственного
интеллекта в 1972 г. При исследовании процессов рассуждения и принятия решений
человеком пришли к выводу, что человек в процессе работы использует продукционные
правила. Правило продукций (англ. Production) – это правило вывода, порождающее
правило.
Продукционные модели можно считать наиболее распространенными моделями
представления знаний. Продукционная модель – это модель, основанная на правилах,
позволяющая представить знание в виде предложений типа:
«ЕСЛИ условие, ТО действие»
Продукционная модель обладает тем недостатком, что при накоплении достаточно
большого числа (порядка нескольких сотен) продукций они начинают противоречить друг
другу.
В общем случае продукционную модель можно представить в следующем виде:
– имя продукции;
▪
– сфера применения продукции;
▪
– условие применимости продукции;
▪
– ядро продукции;
▪
– постусловия продукции, актуализирующиеся при положительной реализации
продукции;
▪
– комментарий, неформальное пояснение (обоснование) продукции, время
введения в базу знаний и т. д.;
Системы обработки знаний, использующие продукционную модель получили
название «продукционных систем». В состав экспертных систем продукционного типа
входят база правил (знаний), рабочая память и интерпретатор правил (решатель),
реализующий определенный механизм логического вывода. Любое продукционное
правило, содержащееся в базе знаний, состоит из двух частей: антецендента и
консеквента. Антецедент представляет собой посылку правила (условную часть) и
состоит из элементарных предложений, соединенных логическими связками «и», «или».
Консеквент (заключение) включает одно или несколько предложений, которые
▪
выражают либо некоторый факт, либо указание на определенное действие, подлежащее
исполнению. Продукционные правила принято записывать в виде антецедентконсеквент. Для представления продукционного правила в обобщенном виде
используется следующая теоретико-множественная модель: (i): Q; P; A→B; N, где i –
имя продукции; Q – сфера применения продукции; P – предусловие (условие
применимости ядра продукции); A→B – ядро продукции (Если … То …); N –
постусловие продукции.
Модель реализована в объектно-ориентированном виде (рис. 1).
Рисунок 1.- Модель продукционного правила
При этом свойства «Условие» и «Заключение» содержат в себе информацию о фактах,
используемых в процедуре вывода; «Предусловие» и «Постусловие» – информацию,
управляющую процессом вывода. Примером управляющей информации могут быть
запреты на срабатывание правила при условии, что в оперативной памяти присутствуют
запросы на прерывание процесса вывода, например, для вычисления значения какоголибо из свойств нового факта.
Примеры продукционных правил:
ЕСЛИ
«двигатель
не
и
«стартер
двигателя
ТО
«неполадки в системе электропитания стартера»
заводится»
не
работает»
Любое правило состоит из одной или нескольких пар «атрибут-значение». В рабочей
памяти систем, основанных на продукционных моделях, хранятся пары атрибут-значение,
истинность которых установлена в процессе решения конкретной задачи к некоторому
текущему моменту времени. Содержимое рабочей памяти изменяется в процессе решения
задачи. Это происходит по мере срабатывания правил. Правило срабатывает, если при
сопоставлении фактов, содержащихся в рабочей памяти, с антецедентом анализируемого
правила имеет место совпадение, при этом заключение сработавшего правила заносится в
рабочую память. Поэтому в процессе логического вывода объём фактов в рабочей памяти,
как правило, увеличивается (уменьшаться он может в том случае, если действие какогонибудь правила состоит в удалении фактов из рабочей памяти). В процессе логического
вывода каждое правило из базы правил может сработать только один раз.
Существуют два типа продукционных систем – с «прямыми» и «обратными» выводами.
Прямые выводы реализуют стратегию «от фактов к заключениям». При обратных выводах
выдвигаются гипотезы вероятностных заключений, которые могут быть подтверждены или
опровергнуты на основании фактов, поступающих в рабочую память. Существуют также
системы с двунаправленными выводами.
Основные достоинства систем, основанных на продукционных моделях, связаны с
простотой представления знаний и организации логического вывода. К недостаткам таких
систем можно отнести следующее:
отличие от структур знаний, свойственных человеку;
неясность взаимных отношений правил;
сложность оценки целостного образа знаний;
низкая эффективность обработки знаний.
При разработке небольших систем (десятки правил) проявляются в основном
положительные стороны продукционных моделей знаний, однако при увеличении объёма
знаний более заметными становятся слабые стороны.
•
•
•
•
Вывод в продукционных моделях. Механизм логического вывода и рекурсия
Процедура логического вывода в системах, основанных на продукционных моделях, в
принципе не сложная. Как правило, она включает следующие части:
рабочую память (базу данных) – фактические данные, описывающие возможное и
текущее состояние предметной области – хранящуюся в оперативной памяти;
• базу продукционных правил, содержащую все допустимые зависимости между
фактами предметной области и хранящуюся в долговременной памяти;
• механизм логического вывода.
Механизм логического вывода обеспечивает формирование заключений, воспринимая
вводимые факты как элементы правил, отыскивая правила, в состав которых входят
введенные факты, и актуализируя те части продукций, которым соответствуют введенные
факты. Теоретической основой построения механизма логического вывода служит теория
машины Поста.
Механизм логического вывода выполняет функции поиска в базе правил,
последовательного выполнения операций над знаниями и получения заключений.
Существует два способа проведения таких заключений – прямые выводы и обратные
выводы.
Пусть имеется совокупность продукций в виде цепочек правил:
•
Прямым выводам (прямой цепочке рассуждений) соответствует движение от посылок к
следствиям.
Механизм логического вывода, использующий прямые выводы, в качестве образца
выбирает введенный в базу данных (рабочую память) факт
и если при сопоставлении он
согласуется с посылкой правила, то делается заключение , которое тоже помещается в
базу данных как факт, описывающий состояние предметной области. Последовательно
выводятся новые результаты, начиная с уже известных. Однако отсутствие связи между
фактами
и может привести к обрыву процедуры и конечный результат
не может
быть получен. Это считается основным недостатком прямых механизмов логического
вывода и требует от пользователя знания всей структуры модели предметной области.
Особенно явно этот недостаток проявляется при включении в базу знаний новых фактов и
правил: если они не связаны в цепочку с имеющимися фактами, то они становятся
балластом – механизм логического вывода никогда их не найдет. С этой точки зрения
использование обратной цепочки рассуждений предпочтительнее.
Обратным выводам (обратной цепочке рассуждений) соответствует движение от цели
(факта, который требуется установить) к предпосылкам. В обратном механизме
логического вывода работа начинается от поставленной цели. Если цель
согласуется с
консеквентом (заключением) продукции, то антецедент (посылка) принимается за подцель
и делается попытка подтверждения истинности этого факта. Процесс повторяется до тех
пор, пока не будут просмотрены все правила, имеющие в качестве заключения требуемый
факт.
Так, в приведенном примере движение от заключения
приводит к необходимости
подтверждения факта . Факт
может подтвердиться, если подтверждается .
Если не подтверждается, то механизм логического вывода отыщет правило,
связывающее с
и перейдет на анализ второй цепочки правил. Дойдя до
правила
, система запросит базу данных (рабочую память) или пользователя о
справедливости факта . Если факт
подтверждается, то происходит возвратное
движение по правилам, все факты актуализируются (считаются справедливыми) и цель
достигается успешно. В противном случае система явно указывает причину недоказанности
выводов, что, в отличие от прямой цепочки рассуждений, облегчает работу пользователя.
Функцией, реализующей работу механизма логического вывода, является рекурсивная
процедура сопоставления с образцом.
Рекурсия (лат. «recurso» – бегу назад, спешу обратно, возвращаюсь) – способ решения
задач, заключающийся в разбиении исходной задачи на подзадачи. Если подзадача есть
уменьшенный вариант исходной задачи, то способ ее разбиения и решения идентичен
примененному к исходной задаче. Последовательное разбиение приводит к задаче,
решаемой непосредственно. Это решение служит основанием для решения подзадачи
верхнего уровня и т. д., пока первоначальная задача не будет решена.
Пример рекурсивных рассуждений:
Как найти льва в пустыне? Для этого следует выполнить следующие шаги:
1. По периметру пустыни поставить забор (чтобы лев не убежал).
2. Поймать льва в выделенном пространстве. Если лев не пойман,
то перейти к п. 3, иначе - к п. 5.
3. Выделенное пространство разделить забором на две равные части
(в два раза сократить пространство поиска).
4. Выбрать одно из подпространств и перейти к п. 2.
5. Завершение, цель достигнута
В заключении отметим, что в практике наиболее часто встречаются механизмы логического
вывода, опирающиеся на обратную цепочку рассуждений. Это обусловлено их более
надежной работой (практически всегда имеется возможность найти цепочку рассуждений
от конца до начала) и большей производительностью, что становится особенно заметно при
большом количестве продукций.
Компьютерная поддержка исследователя в слабоформализованных предметных областях,
связанных с процессами, представляющими опасность для человека (например,
производство полиэтилена в нефтехимии) [1], является актуальной проблемой. Ее
актуальность главным образом обусловлена необходимостью обеспечения безопасности
людей и повышения надежности оборудования, задействованного в опасных процессах.
Одним из современных направлений решения данной проблемы является создание
специализированного программного обеспечения, в частности, программных систем,
автоматизирующих исследование динамики опасных процессов. Для создания условий
активного применения средств автоматизации проектируемые системы исследований
должны обладать высокой универсальностью (гибкостью), то есть обеспечивать
возможность решения широкого круга задач исследования (идентификация,
диагностирование и прогнозирование) и настройки на определенную предметную область
непрограммирующими пользователями.
Наиболее эффективным способом создания программных систем, удовлетворяющих
требованию универсальности (гибкости), является компонентная сборка (Component-Based
Development) требуемой системы из функциональных компонентов [2]. В соответствии с
данным подходом программная система с требуемым набором функций «синтезируется» из
отдельных программных проблемно-ориентированных компонентов. Этот подход
позволяет повысить эффективность разработки программных систем путем создания
расширяемого и настраиваемого компонентного программного обеспечения, способного
решать широкий круг исследовательских задач. Недостатком существующих технологий
является их ориентация на программирующего пользователя.
Эффективность решения предметных задач при
помощи
компонентного
программного
обеспечения зависит от набора доступных
методов, реализованных в виде компонентов:
это могут быть как вычислительные методы,
направленные на получение точных численных
решений, так и методы искусственного
интеллекта,
оперирующие
символьными
вычислениями, направленные на получение
решений качественного характера [3].
Одним из методов искусственного интеллекта,
обеспечивающих моделирование механизмов
мышления человека, являются продукционные
экспертные системы. Реализация продукционной экспертной системы в качестве одного из
компонентов системы автоматизации исследований позволила бы предметнику решать
проблемы на основе логических правил, описывающих динамику опасных процессов, и
получать обоснование полученного решения, используя только предметные знания.
Цель данной работы – описание модуля продукционной экспертной системы как одного из
компонентов системы автоматизации исследований динамики опасных процессов для
специалистов-предметников (непрограммирующих пользователей).
Концепция многокомпонентной системы автоматизации исследований. Технология сборки
систем из компонентов [2] является одним из подходов объектно-ориентированного
программирования. Центральным понятием данной технологии является компонент –
независимый модуль, который может быть реализован в виде исполняемого файла или
динамической библиотеки.
Каждый компонент реализует как минимум один интерфейс, который определяет границу
взаимодействия компонента с другими компонентами или программами. Интерфейс строго
специфицирует поведение компонента, благодаря чему компонент может использоваться
на основании описания интерфейса при сокрытии (инкапсуляции) от конечного
пользователя подробностей реализации компонента.
В данной работе под компонентом системы автоматизации исследований понимается
компонент, который, кроме основной функциональности, обеспечивает реализацию
механизма внутренней памяти и предложенного авторами унифицированного интерфейса
компонента [3].
Концептуально в архитектуре подобной системы (рис. 1) можно выделить библиотеку
компонентов, содержащую компоненты с унифицированными интерфейсами, и
управляющий модуль с механизмом интеграции компонентов в единую систему [4].
Использование унифицированного интерфейса позволяет перестраивать архитектуру
системы исследования динамически, без внесения в код компонентов информации о
межкомпонентных связях.
Компонент продукционной экспертной системы. Использование продукционной
экспертной системы является одним из способов обеспечения пользователя компьютерной
поддержкой при принятии решений на основе знаний эксперта. Как компонент
продукционная экспертная система может использоваться либо для решения задач
предметной области (связанных с логическим выводом), либо для интеллектуализации
работы программной системы (возможность программной системы осуществлять
самонастройку с использованием внутренних баз знаний).
Решение подобных задач требует предметных (модель предметной области) и проблемных
(принципиальные методы решения проблемы на основе модели предметной области)
знаний. Предметные знания зависят от предметной области, проблемные остаются
неизменными при выборе любой предметной области. На этом принципе организована
реализация оболочек экспертных систем. Предлагается создать архитектуру компонента
продукционной системы, обеспечивающую решение широкого круга задач на основе
использования множества баз знаний. Предполагается, что базы знаний могут быть
накоплены различными пользователями и описаны на независимом от машины вывода
языке.
В настоящее время существуют как коммерческие, так и свободно распространяемые
оболочки продукционных экспертных систем (CLIPS [5], JESS, OPS5), с помощью которых
можно реализовать механизм рассуждения на основе продукций. В связи с этим наиболее
рациональным представляется реализация данного компонента на основе уже
существующей машины вывода. В данной работе для этой цели выбрана свободно
распространяемая система CLIPS (C Language Integrated Production System).
На рисунке 2 представлена предлагаемая архитектура компонента, построенного на основе
CLIPS. Опишем модули компонента.
Управляющий модуль. Для применения CLIPS в качестве компонента системы
автоматизации исследований необходимо создать модуль управления данной системой.
Модуль управления с помощью механизма компонентной обертки обеспечивает
реализацию унифицированного интерфейса компонента и механизма внутренней памяти
для управляемой программной системы. Функции модуля управления можно разделить на
не зависимые от специфики компонента (присущие всем модулям управления
компонентами, создаваемыми в соответствии с данным подходом) и зависимые
(специализированные).
К функциям, не зависимым от специфики компонента, относятся:
· предоставление информации о свойствах управляемой системы и реализуемых ею
функциях;
·
прямое и обратное преобразование полученной извне информации в формат,
используемый управляемой системой;
·
управление состоянием параметров управляемой (контролируемой) системы.
Необходимо отметить, что при реализации компонента продукционной экспертной
системы предлагается использовать двухуровневую модель представления правил и
фактов: первый уровень – логический: представление фактов и правил в виде, не зависимом
от конкретной машины вывода (обобщенный вид); второй уровень – физический:
представление фактов и правил в формате определенной машины вывода, например CLIPS.
Использование подобной двухуровневой модели позволяет значительно снизить затраты на
разработку нового компонента при выборе другой машины вывода.
С учетом данного положения перечислим зависимые функции управляющего модуля,
зависящие от специфики компонента, – продукционной экспертной системы:
·
создание базы знаний в виде набора правил и классов фактов в обобщенном виде;
· преобразование правил и фактов из обобщенного вида к формату машины вывода
CLIPS;
·
управление процессом вывода:
- формирование рабочей базы знаний на основе обобщенного представления (вида);
- передача рабочей базы знаний в машину вывода (загрузка ее в рабочую память);
- получение результатов и преобразование их в обобщенный вид.
За реализацию каждой из специализированных функций управляющего модуля отвечают
подсистемы (функциональные модули): модуль управления базами знаний и модуль
преобразования.
Модуль управления базами знаний предназначен для работы (выполнение операций
создания, модификации и удаления) с фактами и правилами, представленными в
обобщенном виде. При этом правила и факты могут быть как абстрактными (образцы
правил и фактов), так и конкретными (экземпляры правил и фактов). Факты и правила
группируются согласно их предметной классификации, образуя базы знаний и формируя
таким образом сферы своего применения. Каждая база знаний имеет уникальное имя и
рассматривается компонентом в качестве предоставляемой им функции, доступ к которой
осуществляется через унифицированный интерфейс компонента.
Для представления продукционного правила в обобщенном виде используется следующая
теоретико-множественная модель: (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
http://clipsrules.sourceforge.net/ (дата обращения: 09.05.2008).
//
Sourceforge.net.
URL:
Скачать