Продукционные модели
Эта модель называется продукционной, так как все знания представляются в виде продукций – правил вида
ЕСЛИ A, ТО B,
где A – условная часть; B – заключительная часть.
Условная часть состоит из одного или нескольких высказываний, соединенных операциями конъюнкции. Заключение состоит из одного высказывания.
Если высказывания условной части истинны, то высказывание заключительной части тоже считается истинным.
Правила, условная часть которых истинна на некотором этапе логического вывода, образуют фронт готовых продукций.
Математические или программные средства, обрабатывающие знания, представленные правилами, называются продукционными системами или системами продукций.
Популярность продукционных моделей определяется следующими факторами:
- простой и точный механизм использования знаний: подавляющая часть человеческих знаний может быть записана в виде продукций;
- однородность: знания описываются по единому синтаксису;
- параллельность: одновременно могут обрабатываться несколько правил.
При большом числе продукций (более 1000) продуцкионная модель имеет, по крайней мере, два недостатка:
- усложняется проверка непротиворечивости продукций;
- усложняется проверка правильности работы логического вывода.
Системы продукций состоят из двух частей:
1) БЗ, состоящая из правил;
2) блок логического вывода новых знаний из правил БЗ.
Пример 7.3. Рассмотрим функционирование системы продукций, БЗ которой включает два правила.
правило П1 ЕСЛИ лето = жаркое И
осадков = мало
ТО урожай = плохой
правило П2 ЕСЛИ урожай = плохой
ТО цены_на_продукты = растут.
В правилах использовались высказывания, представляющие названия переменных и их значения.
Рассмотрим два способа логического вывода в продукционных моделях: прямую и обратную цепочки рассуждений. В прямой цепочке дано исходное истинное высказывание, которое служит для доказательства истинности новых высказываний. Далее производится перебор правил. Если условная часть правила является истинной, то и заключительная часть становится истинной.
Пусть известны два факта, то есть эти высказывания истинны:
лето = жаркое;
осадков = мало.
Прямая цепочка рассуждений будет состоять из следующих шагов.
1. Анализируется правило П1. Его условная часть истинна, так как оба высказывания из условной части истинны.
2. Так как условная часть правила П1 истинна, то заключительная часть правила П1 считается истинной. Следовательно, высказывание урожай = плохой является истинным.
3. Происходит переход к правилу П2 и анализируется его условная часть. Условная часть является истинной, так как высказывание урожай = плохой истинно.
4. Условная часть правила П2 является истинной, поэтому и заключительная часть этого правила является истинной. А значит высказывание цены_на_продукты = растут является истинным.
В результате прямой цепочки рассуждений при условии истинности высказываний
лето = жаркое;
осадков = мало.
были выведены следующие факты
урожай = плохой;
цены_на_продукты = растут. □
При обратной цепочке рассуждений анализируются заключительные части правил. Задачей обратной цепочки является доказательство истинности высказывания. В качестве исходных данных задаются уже известные истинные высказывания.
Пример 7.4. Пусть БЗ включается два правила и два факта, что и в предыдущем примере. Необходимо доказать истинность высказывания цены_на_продукты = растут.
Обратная цепочка рассуждений включает следующие шаги.
1. Производится поиск правила, в заключительной части которого находится это высказывание. Это правило П2.
2. Анализируется условная часть правила П2, состоящая из высказывания урожай = плохой. Истинность этого высказывания неизвестна, поэтому производится поиск правила, заключительная часть которого содержит высказывание урожай = плохой. Это правило П1.
3. Анализируется условная часть правила П1. Она является истинной, так как оба высказывания условной части истинны. Следовательно, высказывание урожай = плохой является истинным.
4. Условная часть правила П2 является истинной, что доказывает истинность высказывания цены_на_продукты = растут.
В результате обратной цепочки рассуждений доказана истинность высказывания цены_на_продукты = растут.□
В рассмотренном примере в БЗ находились всего два правила, но в реальных системах продукций число правил может достигать тысячи. Поэтому возникает проблема выбора продукции, которая будет активизирована в данной ситуации. Решение этой задачи возлагается на систему управления продукциями.
Рассмотрим несколько стратегий выбора продукций. Основная их идея сводится к сокращению фронта готовых продукций.
1. Принцип «стопки книг». Стратегия основана на идее, что наиболее используемая продукция является наиболее полезной. Готовые продукции образуют «стопку», в которой порядок определяется накопленной частотой использования в прошлом. На самом верху стопки находится продукция, у которой частота использования максимальна. Этот принцип особенно хорош, когда частота использования подсчитывается с учетом некоторой ситуации, в которой ранее исполнялась продукция, и это использование имело положительную оценку.
2. Принцип наиболее длинного условия. Стратегия заключается в выборе из фронта готовых продукций той, у которой стало истинным наиболее «длинное» условие. Этот принцип опирается на соображении, что частные правила, относящиеся к узкому классу ситуаций, важнее общих правил, относящихся к широкому классу, так как первые учитывают больше информации о ситуации, чем вторые. Трудность использования данного принципа состоит в том, что необходимо заранее упорядочить условия по вхождению друг в друга по отношению «ЧАСТНОЕ – ОБЩЕЕ».
3. Принцип метапродукций. В систему продукций вводятся специальных метапродукций, задачей которых является организация управления в системе продукций в случае неоднозначного выбора из фронта готовых продукций. Пример метапродукции:
ЕСЛИ (A) И (Существуют продукции, в условной части которых есть B) ТО (продукции, в условной части которых есть C, следует активизировать раньше, чем продукции, содержащие в условной части B),
где A, B, C – некоторые условия.
4. Принцип «классной доски». При реализации этой стратегии выделяется специальное рабочее поле памяти – аналог классной доски, на которой мелом пишут объявления и стирают их по мере необходимости. На этой «доске» выполняющиеся процессы осуществляют следующие действия:
- находят знания, инициирующие их активизацию;
- выносят информацию о своей работе, которая может оказаться необходимой для других процессов.
5. Принцип приоритетного выбора. Стратегия связана с введением статических или динамических приоритетов для продукций. Статические приоритеты могут формироваться априорно на основании сведений о важности продукционных правил в данной предметной области. Эти сведения, как правило, предоставляет эксперт. Динамические приоритеты вырабатываются в процессе функционирования продукционной системы и могут отражать, например, такой параметр, как время нахождения во фронте готовых продукций.
Фреймы
Основная идея фреймового подхода заключается в представлении понятий или ситуаций в виде фрейма.
Фрейм – это структура для описания понятий или ситуаций, состоящая из их значений характеристик.
Фрейм можно рассматривать как фрагмент семантической сети, предназначенный для описания объектов и всех их свойств.
Фрейм состоит из слотов. Слот соответсвует некоторой характеристике объекта, представленного фреймом. Значением слота может быть текстовым или числовым. Другие ферймы могут являться значением слота.
Для управления значения слота, со слотом может быть связана процедура. Процедура запускается при выполнении действия над значением слота или фреймом целиком. Со слотами могут быть связаны следующие процедуры:
1. ЕСЛИ – ДОБАВЛЕНО: выполняется, когда новая информация помещается в слот;
2. ЕСЛИ – УДАЛЕНО: выполняется при удалении информации из слота;
3. ЕСЛИ – НУЖНО: выполняется, когда запрашивается информация из слота, а он пуст.
Процедуры связываются с определенным слотом или фреймом целиком. С одним слотом могут быть связаны несколько процедур.
Рассмотрим основные особенности фреймов, как модели представления знаний.
1. Базовый тип. Базовые фреймы используются для наглядного представления наиболее важных объектов предметной области. На основе базовых фреймов строятся фреймы для новых объектов. При этом каждый дочерний фрейм содержит слот-указатель на родительский фрейм.
2. Процесс сопоставления. Во фреймовых системах осуществляется поиск фрейма, который соответствует цели (данной ситуации), то есть сопоставляются значения слота фрейма и значения атрибутов цели.
3. Иерархическая структура. Фреймовая система построена на основе иерархической структуры, в которой значения атрибутов фреймов верхнего уровня совместно используются всеми дочерними фреймами нижних уровней. Такая структура позволяет решать следующие задачи:
- удобно систематизировать и записывать схожие объекты;
- добавлять новые объекты в соответствующие позиции иерархии;
- упростить просмотр знаний и обнаружение противоречий в знаниях;
- сделать фреймовую систему более гибкой.
Пример 7.5. Для иллюстрации работы фреймов рассмотрим иерархию делового отчета со слотами, их значениями и связанными с ними процедурами (рис. 7.5).
Рис. 7.5. Иерархия делового отчета
Пусть системе задан запрос: «Необходимо создать квартальный финансовый отчет о выполнении проекта по новой технологии». Рассмотрим ее действия по шагам.
1. На основе родительского фрейма «Финансовый отчет» создается новый фрейм «Финансовый отчет №3». Далее все действия совершаются с этим вновь созданным фреймом. В слот «ТЕМА» записывается значение «Проект по новой технологии».
2. Запускается процедура «ЕСЛИ – ДОБАВЛЕНО», связанная со слотом «ТЕМА», так как в слот «ТЕМА» было записано новое значение. Пусть процедура нашла руководителя этого проекта по фамилии Иванов. Процедура вписывает его фамилию в слот «АВТОР» финансового отчета №3. Если руководитель этого проекта не будет найден, значение слота «АВТОР» будет наследовано от родительского фрейма «Финансовый отчет», а именно в слот будет помещен текст «РУКОВОДИТЕЛЬ ПРОЕКТА».
3. Запускается процедура «ЕСЛИ – ДОБАВЛЕНО», связанная с фреймом, так как в один из слотов было вписано новое значение. Данная процедура составляет сообщение, чтобы отправить его Иванову, но обнаруживает отсутствие даты исполнения. Процедура «ЕСЛИ – ДОБАВЛЕНО» передает управление процедуре «ЕСЛИ – НУЖНО», связанной со слотом «ДАТА»
4. Запускается процедура «ЕСЛИ – НУЖНО», связанная со слотом «ДАТА». Процедура, анализируя текущую дату (например, 12 марта этого года), определяет, что ближайшей к ней является дата «30 марта» и вписывает ее в слот «ДАТА».
5. Процедура «ЕСЛИ – ДОБАВЛЕНО», связанная с фреймом, обнаруживает, что отсутствует значение объема отчета. В слоте «ОБЪЕМ» нет данных, и он не связан с процедурами. В этом случае значение наследуется из одноименного слота родительского узла.
6. Когда все необходимые значения слотов определены, процедура составляет следующее сообщение: «Господин Иванов, пожалуйста, подготовьте квартальный финансовый отчет по проекту новой технологии к 30 марта объемом 2 страницы».
Если в какой-то момент узел «Финансовый отчет №3» будет удален, то система автоматически отправит АВТОРУ сообщение, что отчет не требуется. □
В общем случае фрейм представляет собой таблицу, структура и принципы организации которой являются развитием понятия отношения в реляционной модели данных. Обобщенная структура фрейма имеет вид таблицы (табл. 7.3).
Таблица 7.3. Структура фрейма
ИМЯ ФРЕЙМА | |||
Имя слота | Указатель наследования | Указатель типа данных | Значение слота |
слот 1 слот 2 …………. слот N |
Слот включает следующие параметры.
Имя слота. Каждый слот должен иметь уникальное имя во фрейме, к которому он принадлежит. Имя слота в некоторых случаях может быть служебным. Среди служебных имен могут быть следующие: имя пользователя, определяющего фрейм; дата определения или модификации фрейма; комментарий.
Указатель наследования. Определяет, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с теми же именами во фрейме нижнего уровня. Типы указателей наследования:
- S (same, тот же) – слот наследуется с теми же значениями данных;
- U (unical, уникальный) – слот наследуется, но данные в каждом фрейме могут принимать любое значение;
- I (independent, независимый) – слот не наследуется.
Указатель типа данных. Типом данных, включаемым в слот, могут быть:
- FRAME (указатель) – указывает имя фрейма верхнего уровня;
- ATOM (переменная);
- TEXT (текстовая информация);
- LIST (список);
- LISP (присоединенная процедура).
С помощью механизма управления наследованием по отношениям IS-A осуществляется автоматический поиск и определение значений слотов фрейма верхнего уровня и связанных процедур.
Фреймы, как и семантические сети, можно записать с помощью предикатов. Например, предикат
значение (фрейм, слот, значение)
определяет значение слота фрейма, а предикат
функция (фрейм, слот, событие, f(x))
определяет функцию, связанную со слотом; здесь событие принимает одно из значений ЕСЛИ – ДОБАВЛЕНО, ЕСЛИ – УДАЛЕНО или ЕСЛИ – НУЖНО.
Фреймовая модель представления знаний эффективна для иерархического описания сложных понятий и решения задач, в которых в зависимости от ситуации необходимо применять различные способы вывода. В то же время во фреймовой модели затруднено управление завершенностью и постоянством целостного образа. По этой причине существует опасность нарушения связи со связанными процедурами и проблемы зацикливания процесса вывода.
Дата добавления: 2019-04-03; просмотров: 799;