5. Продукционные системы. Управление системами продукций

Продукционные системы

Основное правило: «Если УСЛОВИЕ, то ДЕЙСТВИЕ».
Продукционная система состоит из трёх элементов:

  1. Классы и отношения (база данных или рабочая память);
  2. Правила (набор продукций);
  3. Управляющая структура (интерпретатор данных) — определяет, какое правило будет проверено следующим.

Пример. Задача нахождения минимума в массиве в продукционной системе:

  1. Рабочая область: N = 10, I = 1, A(10) = -1; …; A(10) = 100; MIN = MAX = A(1)
  2. Правила:
1)​ if I > N then print(MIN, MAX); STOP;
2)​ if A(I) > MAX then MAX := A(I);
3)​ if A(I) < MIN then MIN := A(I);
4)​ I := I + 1;
  1. Управляющие структуры: поочерёдно проверять правила, пока одно из них не сработает и не встретится оператор STOP.

Вариант правил, не зависящих от их порядка:

1)​ if (I <= N) and (A(I) > MAX) then MAX := A(I);
2)​ if (I <= N) and (A(I) < MIN) then MIN := A(I);
3)​ if (I > N) then print(MIN, MAX);
4)​ if (I <= N) and (A(I) <= MAX) and (A(I) >= MIN) then I := I+1;

Общий вид продукционного правила:

(i); Q; P; A => B; N,, где

i – имя продукции в системе правил,
Q – сфера применения продукции (для организации удобного поиска и структурирования)
P – условие применимости ядра продукции (предусловие), обычно является предикатом,
N – постусловие (действия, которые могут быть выполнены только при реализации ядра).

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

Если выполнимы несколько продукций, то они образуют конфликтный набор (conflict set). Продукции, которые содержатся в конфликтном наборе, называются допустимыми. Возникает проблема разрешения конфликтов.

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


Пример

Правила:

Правило #1: если <Вася имеет шерсть и ест мясо>, то <Вася – кот>
Правило #2: если <Вася – хищник>, то <Вася ест мясо>
Правило #3: если <Вася имеет шерсть>, то <Вася млекопитающее>
Правило #4: если <Вася из сем. кошачьих>, то <Вася ест мясо>

Факты:

Факт #1. <Вася имеет шерсть> Факт #2. <Вася – хищник>

Способы вывода:

  • прямой (дедуктивный)
  • обратный

Задачи управления и разрешение конфликтов

Проблема: какая система должна быть активизирована.
Методы управления (решение проблемы):

  • Централизованные: решение об актуализации принимает центральная система;
  • Децентрализованные: решение об актуализации продукции определяется складывающейся на этот момент ситуацией.

Если порядок следования продукции важен, то в самом правиле должна содержаться информация о требовании к этому порядку.

☠ Стратегии управления

  • Принцип стопки книг. Наиболее часто используемая продукция оказывается наиболее важной. Такой принцип управления хорош, когда частота использования подсчитывалась с учётом некоторой ситуации, в которой исполнялась продукция, и это исполнение имело положительную оценку. Данный принцип имеет смысл, если продукции относительно независимы друг от друга. Часто применяется в планирующей системе роботов.
  • Принцип наиболее длинного условия: выбор из фронта готовой продукции той, у которой стало истинным наиболее длинное условие выполнимости ядра (самый частный случай). Трудность использования этого подхода в том, что необходимо заранее упорядочивать продукцию по вхождению «частное-общее». Это привело к созданию так называемых K-систем, где набор связей формируется по типовым примерам. Управление по данному принципу стоит применять, если знания и сами продукции хорошо структурированы привязкой к типовым ситуациям, на которых задано отношение “частное-общее”.
  • Принцип метапродукции: идея ввода в систему специальных метапродукций (метаправил), задачей которых является организация управления в случае конфликтного набора. В условии, занесённом в метапродукции, может быть утверждение о вхождении или невхождении продукции во фронт готовых, т.е. о предпочтительности использования той или иной продукции.
  • Принцип классной доски (для параллельно выполняющихся процессов): в интеллектуальной системе выделяются специальное рабочее поле памяти, на которое параллельно выполняющиеся процессы находят информацию, инициирующую их запуск, и на неё же записывают информацию о своей работе, которая может быть полезна другим процессам.
    Методология классной доски позволяет организовать рабочую память в виде отдельных модулей, каждый из которых соответствует подмножеству продукционных правил. Классная доска интегрирует отдельные наборы правил и координирует действия многочисленных решателей задач в пределах отдельной глобальной структуры. Решение многих задач требует координации различных типов знаний.
    На «классной доске» выделяют специальные поля, например:
    • поля для условий применимости ядер продукции
    • поля для записи результатов срабатывания продукции
    • поля для записи постусловий, если они адресованы другим продукциям

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

Пример. Распознавание речи:

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

Классификация ядер продукции:

  • детерминированные (однозначные)
  • недетерминированные (альтернативные)
    • A => B, но при выполнении A B может и не выполняться. Возможность реализации оценивается коэффициентами уверенности, которые могут определяться экспертами или быть результатом логического вывода
    • Ax => By – информация об A берётся из блока X, а информация о B помещается в блок Y; X,Y ∈ {БЗ, БД, Логика, Внешняя среда}
Topics:

5. Продукционные системы. Управление системами продукций

Продукционные системы

Основное правило: «Если УСЛОВИЕ, то ДЕЙСТВИЕ».
Продукционная система состоит из трёх элементов:

  1. Классы и отношения (база данных или рабочая память);
  2. Правила (набор продукций);
  3. Управляющая структура (интерпретатор данных) — определяет, какое правило будет проверено следующим.

Пример. Задача нахождения минимума в массиве в продукционной системе:

  1. Рабочая область: N = 10, I = 1, A(10) = -1; …; A(10) = 100; MIN = MAX = A(1)
  2. Правила:
1)​ if I > N then print(MIN, MAX); STOP;
2)​ if A(I) > MAX then MAX := A(I);
3)​ if A(I) < MIN then MIN := A(I);
4)​ I := I + 1;
  1. Управляющие структуры: поочерёдно проверять правила, пока одно из них не сработает и не встретится оператор STOP.

Вариант правил, не зависящих от их порядка:

1)​ if (I <= N) and (A(I) > MAX) then MAX := A(I);
2)​ if (I <= N) and (A(I) < MIN) then MIN := A(I);
3)​ if (I > N) then print(MIN, MAX);
4)​ if (I <= N) and (A(I) <= MAX) and (A(I) >= MIN) then I := I+1;

Общий вид продукционного правила:

(i); Q; P; A => B; N,, где

i – имя продукции в системе правил,
Q – сфера применения продукции (для организации удобного поиска и структурирования)
P – условие применимости ядра продукции (предусловие), обычно является предикатом,
N – постусловие (действия, которые могут быть выполнены только при реализации ядра).

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

Если выполнимы несколько продукций, то они образуют конфликтный набор (conflict set). Продукции, которые содержатся в конфликтном наборе, называются допустимыми. Возникает проблема разрешения конфликтов.

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


Пример

Правила:

Правило #1: если <Вася имеет шерсть и ест мясо>, то <Вася – кот>
Правило #2: если <Вася – хищник>, то <Вася ест мясо>
Правило #3: если <Вася имеет шерсть>, то <Вася млекопитающее>
Правило #4: если <Вася из сем. кошачьих>, то <Вася ест мясо>

Факты:

Факт #1. <Вася имеет шерсть> Факт #2. <Вася – хищник>

Способы вывода:

  • прямой (дедуктивный)
  • обратный

Задачи управления и разрешение конфликтов

Проблема: какая система должна быть активизирована.
Методы управления (решение проблемы):

  • Централизованные: решение об актуализации принимает центральная система;
  • Децентрализованные: решение об актуализации продукции определяется складывающейся на этот момент ситуацией.

Если порядок следования продукции важен, то в самом правиле должна содержаться информация о требовании к этому порядку.

☠ Стратегии управления

  • Принцип стопки книг. Наиболее часто используемая продукция оказывается наиболее важной. Такой принцип управления хорош, когда частота использования подсчитывалась с учётом некоторой ситуации, в которой исполнялась продукция, и это исполнение имело положительную оценку. Данный принцип имеет смысл, если продукции относительно независимы друг от друга. Часто применяется в планирующей системе роботов.
  • Принцип наиболее длинного условия: выбор из фронта готовой продукции той, у которой стало истинным наиболее длинное условие выполнимости ядра (самый частный случай). Трудность использования этого подхода в том, что необходимо заранее упорядочивать продукцию по вхождению «частное-общее». Это привело к созданию так называемых K-систем, где набор связей формируется по типовым примерам. Управление по данному принципу стоит применять, если знания и сами продукции хорошо структурированы привязкой к типовым ситуациям, на которых задано отношение “частное-общее”.
  • Принцип метапродукции: идея ввода в систему специальных метапродукций (метаправил), задачей которых является организация управления в случае конфликтного набора. В условии, занесённом в метапродукции, может быть утверждение о вхождении или невхождении продукции во фронт готовых, т.е. о предпочтительности использования той или иной продукции.
  • Принцип классной доски (для параллельно выполняющихся процессов): в интеллектуальной системе выделяются специальное рабочее поле памяти, на которое параллельно выполняющиеся процессы находят информацию, инициирующую их запуск, и на неё же записывают информацию о своей работе, которая может быть полезна другим процессам.
    Методология классной доски позволяет организовать рабочую память в виде отдельных модулей, каждый из которых соответствует подмножеству продукционных правил. Классная доска интегрирует отдельные наборы правил и координирует действия многочисленных решателей задач в пределах отдельной глобальной структуры. Решение многих задач требует координации различных типов знаний.
    На «классной доске» выделяют специальные поля, например:
    • поля для условий применимости ядер продукции
    • поля для записи результатов срабатывания продукции
    • поля для записи постусловий, если они адресованы другим продукциям

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

Пример. Распознавание речи:

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

Классификация ядер продукции:

  • детерминированные (однозначные)
  • недетерминированные (альтернативные)
    • A => B, но при выполнении A B может и не выполняться. Возможность реализации оценивается коэффициентами уверенности, которые могут определяться экспертами или быть результатом логического вывода
    • Ax => By – информация об A берётся из блока X, а информация о B помещается в блок Y; X,Y ∈ {БЗ, БД, Логика, Внешняя среда}