38
Представление знаний Лекция 3 муромцевди.рф dimour.spb.ru [email protected] Часть II Продукционные правила

Экспертные системы: лекция №3

Embed Size (px)

Citation preview

Page 1: Экспертные системы: лекция №3

Представление знаний

Лекция 3

муромцевди.рф [email protected]

Часть II

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

Page 2: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Продукционная система (production system)

Модель вычислений, основанная на продукционных правилах (production rule), использует правила вида «ЕСЛИ условие, ТО действие» (IF… THEN…).

Впервые идея появилась в работе Эмиля Поста (Emil Leon Post), 1943*, посвященной исследованию частного случая канонической системы Поста.

Управление продукционными системами основано на Марковских алгоритмах.

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

2* Post E. (1943) Formal reduction of the general combination problem. American journal of Mathematics, 65: 197-268, 1943

Page 3: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Архитектура продукционной системы

3

Page 4: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

База знаний

В БЗ содержится множество продукционных правил или просто продукций (productions);

Условная часть (IF–part) правила — антецедент (antecedent) — является шаблоном (образцом), по которому можно определить, в какой момент необходимо использовать (активировать) данное правило;

Часть действия (THEN–part) — консеквент (consequent) — описывает соответствующий шаг решения.

4

Page 5: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Рабочая память

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

5

Page 6: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Цикл распознавание-действие и разрешение конфликтов

6

поиск допустимых продукций

добавление найденных правил в

конфликтное множество

модификация рабочей памяти

выбор и активация одного из правил

Page 7: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Стратегии разрешения конфликтов

Рефракция (refraction) для предотвращения зацикливания.

Новизна (recency) позволяет сосредоточить поиск на одной линии рассуждения.

Специфичность (specifity) отдает предпочтение более конкретным правилам перед более общими

7

Пример реализации стратегий разрешения конфликтов в системе OPS5* (модификации системы OPS - "Official Production System», разработанной в конце 1970-х Чарльзом Форги):

* Brownston L., Farrel R., Kant E., Martin N. (1985) Programming Expert Systems in OPS5: An

Introduction to Rule-Based Programming. Reading, MA: Addison-Wesley, 1985.

Page 8: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Разрешение конфликтов в DROOLS

Приоритет («выпуклость» - Salience).Новизна (Recency).Первенство (Primacy).FIFO (First In First Out).LIFO (First In First Out).Сложность (Complexity).Простота (Simplicity).Порядок загрузки (LoadOrder).Случайность (Random).

8

В современной системе DROOLS имеется значительное количество реализованных стратегий, а также можно определить свою*:

* http://legacy.drools.codehaus.org/Conflict+Resolution

Page 9: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Механизм возврата

Чистая продукционная модель не предусматривает выхода из тупиковых ситуаций в процессе поиска.

Гораздо более эффективным является модификация цикла управления с механизмом возврата (cycle back) в предыдущее состояние модели мира.

9

Page 10: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Аналогия с памятью человека

10

Долговременная память

Кратковременная память

База знаний

Рабочая память

Page 11: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Примеры продукций

П1: ЕСЛИ клиент работает на одном месте более двух лет, ТО клиент имеет постоянную работу.

П2: ЕСЛИ клиент имеет постоянную работу И клиенту более 18 лет И клиент НЕ имеет финансовых обязательств, ТО клиент может претендовать на получение кредита.

11

Page 12: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Цепочка вывода (reasoning)

12

ЕСЛИ клиент работает на одномместе более двух лет,ТО клиент имеет постояннуюработу.

ЕСЛИ клиент имеет постояннуюработуИ клиенту более 18 летИ клиент НЕ имеет финансовыхобязательств,ТО клиент может претендовать наполучение кредита.

клиент работает на одном местеболее двух лет

клиенту более 18 лет

клиент НЕ имеет финансовыхобязательств

клиент можетпретендовать наполучение кредита

клиент имеет постояннуюработу

заключение

правило

фактдействие

сопоставление

Page 13: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Разновидности цепочек вывода

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

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

13

Page 14: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Направления выводаВывод на основе данных (data–driven search), процесс решения задачи начинается с исходных фактов. Этот процесс также называют прямой цепочкой вывода (forward chaining).

Вывод от цели (goal–directed strategy) начинается от одной из допустимых целей, и рассматриваются пути, ведущие к достижению этой цели. Такой способ поиска называют также обратной цепочкой вывода (backward chaining).

14

Page 15: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Прямая цепочка

Все или большинство данных заданы в пространстве задачи.

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

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

15

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

Page 16: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Алгоритм прямого вывода

16Алгоритм прямого вывода основан на стратегии поиска в ширину.

Начальная инициализация рабочей памяти

Проверка правилаДобавить консеквент к рабочей памяти

Передать резултат

Выбор следующего правила

Конец

Правило акстивировано?

Есть еще правила?

нет

да

нет

даЦель найдена?

нет

да

Page 17: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример прямого вывода(база знаний)

ЕСЛИ Процентные ставки падают, ТО Уровень цен на бирже растет.

ЕСЛИ Процентные ставки растут, ТО Уровень цен на бирже падает.

ЕСЛИ Валютный курс доллара падает, ТО Процентные ставки растут.

ЕСЛИ Валютный курс доллара растет, ТО Процентные ставки падают.

ЕСЛИ Процентные ставки федерального резерва падают И Средства федерального резерва добавлены, ТО Процентные ставки падают.

17

Пример миниатюрной экспертной системы для фондовой биржи. БЗ включает, следующие продукционные правила:

Page 18: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример прямого вывода(начальное состояние)

На основании запроса пользователя инициализируется исходное состояние рабочей памяти путем добавления в нее факта Валютный курс доллара падает:

18

Page 19: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример прямого вывода(первый шаг вывода)

После активации правила 3, и в рабочую память добавится новый факт: Процентные ставки растут:

19

Page 20: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример прямого вывода(второй шаг вывода)

После активации правила 2, и в рабочую память добавится новый факт: Уровень цен на бирже падает:

20

Page 21: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Обратная цепочка рассуждений

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

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

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

21

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

Page 22: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Алгоритм обратного вывода

1. Определить цель для логического вывода и выбрать ее в качестве текущей подцели.

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

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

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

5. Если очередная подцель выведена, то перейти к шагу 2.

6. Если очередная подцель не может быть выведена или запрошена у пользователя, сообщить, что ответ получить невозможно.

7. Если все подцели подтверждены, то сообщить пользователю окончательный вывод.

22

Алгоритм прямого вывода обычно основан на стратегии поиска в глубину. Этот процесс предусматривает следующие шаги:

Page 23: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример обратного вывода(начальное состояние)

23

Page 24: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример обратного вывода(формирование правил)

1. Выбрать из дерева решений вершину вывода и зафиксировать её.

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

3. Повторять шаг 2 до тех пор, пока не будут рассмотрены все вершины решения, расположенные левее зафиксированной вершины вывода или не встретится новая вершина вывода. Если встретилась вершина вывода, то её надо зафиксировать и прекратить выполнение шага 2. Выполнение также прекращается, если исчерпаны все вершины.

4. Каждая вершина решения, составляющая путь, — это одна из переменных части ЕСЛИ правила. Значение, связанное с ветвью, представляет собой условие. Переменные условной части правила объединяются логическим оператором И.

5. Выбранный логический вывод перенести в часть ТО правила.24

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

Page 25: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример пути на дереве решений(пример формирования правил)

Путь 1→4→6:

ЕСЛИ Посетитель имеет ученое звание И Посетитель сделал важное открытие, ТО Предложить посетителю должность научного сотрудника.

25

Page 26: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Другие пути на дереве решений для приведенного примера

Путь 1→2: ЕСЛИ Посетитель НЕ имеет ученое звание, ТО Посетителю отказать.

Путь 1→3: ЕСЛИ Посетитель имеет ученое звание, ТО Возможно, что посетитель будет принят на работу.

Путь 1→4→6: ЕСЛИ Посетитель имеет ученое звание И Посетитель сделал важное открытие, ТО Предложить посетителю должность научного сотрудника.

Путь 3→5→7→10: ЕСЛИ Возможно, что посетитель будет принят на работу И Средний бал посетителя за время учебы < 3,5 И Опыт работы посетителя по специальности > 2 лет, ТО Предложить посетителю должность инженера по эксплуатации.

Путь 3→5→7→9: ЕСЛИ Возможно, что посетитель будет принят на работу И Средний бал посетителя за время учебы < 3,5 И Опыт работы посетителя по специальности < 2 лет, ТО Посетителю отказать.

Путь 3→5→8: ЕСЛИ Возможно, что посетитель будет принят на работу И Средний бал посетителя за время учебы > 3,5, ТО Предложить посетителю должность инженера–конструктора.

26

Page 27: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример обратного вывода(первый шаг вывода)

Предположим, что претендент на работу хочет получить должность инженера–конструктора

27

Предложить посетителю должность инженера–

конструктора

Текущая подцель

Правило 1Правило 2Правило 3Правило 4Правило 5Правило 6

Правила

Page 28: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример обратного вывода(второй шаг вывода)

Правило 6 содержит в заключении изначальный факт, следовательно, система перейдет к рассмотрению новых подцелей

28

Предложить посетителю должность инженера–

конструктора

Возможно, что посетитель будет принят на работу»,

Средний бал посетителя за время учебы

Текущая подцель

Правило 1Правило 2Правило 3Правило 4Правило 5Правило 6

Правила

Page 29: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Пример обратного вывода(второй шаг вывода)

В заключении правила 2 указан факт «Возможно, что посетитель будет принят на работу», следовательно следующей подцелью будет факт из условной части правила 2:

29

Предложить посетителю должность инженера–

конструктора

Возможно, что посетитель будет принят на работу»,

Средний бал посетителя за время учебы

Посетитель имеет ученое звание

Текущая подцель

Правило 1Правило 2Правило 3Правило 4Правило 5Правило 6

Правила

Page 30: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Эвристические знания и метаправила

Иногда для получения решения требуется вмешательство в стандартный процесс вывода.

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

30

Page 31: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Пример метаправила (I)

ЕСЛИ кредитный рейтинг клиента высокий И клиент является клиентом банка, ТО сначала применить правила для льготных условий предоставления кредита.

31

Page 32: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Пример метаправила (II)

ЕСЛИ существуют правила, в условиях которых не упоминается текущая цель И существуют правила, в условиях которых упоминается текущая цель, ТО сначала следует активизировать первые из перечисленных правил.

32

Page 33: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3 Алгоритм Rete для оптимизации поиска правил

33

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

Page 34: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Примеры систем: G2

34

Page 35: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Примеры систем: Exsys

35

Page 36: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Примеры систем: Drools

36

Page 37: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Пример правила в Drools IF the entrance pupil of an optical system is removed forward

THEN exclude the all base elements with exception of B3A3P element

37

rule “The B3A3P element” when Classification( D == 2 ) $elements := ArrayList() from collect( OpticalElement() ) then modify( $elements ) { clear() add( new OpticalElement( type == “B”, surfaces == “3A3P” )) }end

Page 38: Экспертные системы: лекция №3

© 2

014 Муромцев Д

.И.

Лекция

3

Пример метаправила в Drools

IF the optical system is not fast

THEN a fast element isn’t needed at the system

38

rule “No fast”when

Classification( J == 1 )$conds := SystemConditions()

thenmodify( $conds ) {setIsFastNeeded( false )

}end