Экспертные системы: лекция №3
TRANSCRIPT
© 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
© 2
014 Муромцев Д
.И.
Лекция
3
Архитектура продукционной системы
3
© 2
014 Муромцев Д
.И.
Лекция
3
База знаний
В БЗ содержится множество продукционных правил или просто продукций (productions);
Условная часть (IF–part) правила — антецедент (antecedent) — является шаблоном (образцом), по которому можно определить, в какой момент необходимо использовать (активировать) данное правило;
Часть действия (THEN–part) — консеквент (consequent) — описывает соответствующий шаг решения.
4
© 2
014 Муромцев Д
.И.
Лекция
3
Рабочая память
Рабочая память (working memory) содержит текущее описание модели мира в процессе рассуждений, инициализируемое начальным описанием задачи.
5
© 2
014 Муромцев Д
.И.
Лекция
3 Цикл распознавание-действие и разрешение конфликтов
6
поиск допустимых продукций
добавление найденных правил в
конфликтное множество
модификация рабочей памяти
выбор и активация одного из правил
© 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.
© 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
© 2
014 Муромцев Д
.И.
Лекция
3
Механизм возврата
Чистая продукционная модель не предусматривает выхода из тупиковых ситуаций в процессе поиска.
Гораздо более эффективным является модификация цикла управления с механизмом возврата (cycle back) в предыдущее состояние модели мира.
9
© 2
014 Муромцев Д
.И.
Лекция
3
Аналогия с памятью человека
10
Долговременная память
Кратковременная память
База знаний
Рабочая память
© 2
014 Муромцев Д
.И.
Лекция
3
Примеры продукций
П1: ЕСЛИ клиент работает на одном месте более двух лет, ТО клиент имеет постоянную работу.
П2: ЕСЛИ клиент имеет постоянную работу И клиенту более 18 лет И клиент НЕ имеет финансовых обязательств, ТО клиент может претендовать на получение кредита.
11
© 2
014 Муромцев Д
.И.
Лекция
3
Цепочка вывода (reasoning)
12
ЕСЛИ клиент работает на одномместе более двух лет,ТО клиент имеет постояннуюработу.
ЕСЛИ клиент имеет постояннуюработуИ клиенту более 18 летИ клиент НЕ имеет финансовыхобязательств,ТО клиент может претендовать наполучение кредита.
клиент работает на одном местеболее двух лет
клиенту более 18 лет
клиент НЕ имеет финансовыхобязательств
клиент можетпретендовать наполучение кредита
клиент имеет постояннуюработу
заключение
правило
фактдействие
сопоставление
© 2
014 Муромцев Д
.И.
Лекция
3
Разновидности цепочек вывода
Монотонный вывод - факты не удаляются из рабочей памяти.
Немонотонный вывод допускает удаление фактов из рабочей памяти.
13
© 2
014 Муромцев Д
.И.
Лекция
3
Направления выводаВывод на основе данных (data–driven search), процесс решения задачи начинается с исходных фактов. Этот процесс также называют прямой цепочкой вывода (forward chaining).
Вывод от цели (goal–directed strategy) начинается от одной из допустимых целей, и рассматриваются пути, ведущие к достижению этой цели. Такой способ поиска называют также обратной цепочкой вывода (backward chaining).
14
© 2
014 Муромцев Д
.И.
Лекция
3
Прямая цепочка
Все или большинство данных заданы в пространстве задачи.
Существует большое количество потенциальных целей, но всего лишь несколько способов представления и применения исходных фактов.
Сформировать цель или гипотезы очень трудно в силу избыточности исходных данных или большого числа конкурирующих гипотез.
15
Прямая цепочка рассуждений применяется в задачах, где на основании имеющихся фактов необходимо определить тип (класс) объекта или явления, выдать рекомендацию, определить диагноз и т.п. Вывод на основе данных применим к решению задач в следующих случаях:
© 2
014 Муромцев Д
.И.
Лекция
3
Алгоритм прямого вывода
16Алгоритм прямого вывода основан на стратегии поиска в ширину.
Начальная инициализация рабочей памяти
Проверка правилаДобавить консеквент к рабочей памяти
Передать резултат
Выбор следующего правила
Конец
Правило акстивировано?
Есть еще правила?
нет
да
нет
даЦель найдена?
нет
да
© 2
014 Муромцев Д
.И.
Лекция
3 Пример прямого вывода(база знаний)
ЕСЛИ Процентные ставки падают, ТО Уровень цен на бирже растет.
ЕСЛИ Процентные ставки растут, ТО Уровень цен на бирже падает.
ЕСЛИ Валютный курс доллара падает, ТО Процентные ставки растут.
ЕСЛИ Валютный курс доллара растет, ТО Процентные ставки падают.
ЕСЛИ Процентные ставки федерального резерва падают И Средства федерального резерва добавлены, ТО Процентные ставки падают.
17
Пример миниатюрной экспертной системы для фондовой биржи. БЗ включает, следующие продукционные правила:
© 2
014 Муромцев Д
.И.
Лекция
3 Пример прямого вывода(начальное состояние)
На основании запроса пользователя инициализируется исходное состояние рабочей памяти путем добавления в нее факта Валютный курс доллара падает:
18
© 2
014 Муромцев Д
.И.
Лекция
3 Пример прямого вывода(первый шаг вывода)
После активации правила 3, и в рабочую память добавится новый факт: Процентные ставки растут:
19
© 2
014 Муромцев Д
.И.
Лекция
3 Пример прямого вывода(второй шаг вывода)
После активации правила 2, и в рабочую память добавится новый факт: Уровень цен на бирже падает:
20
© 2
014 Муромцев Д
.И.
Лекция
3
Обратная цепочка рассуждений
Цель поиска явно присутствует в постановке задачи или может быть легко сформулирована.
Имеется слишком большое число правил, которые на основе исходных фактов продуцируют возрастающее число заключений или целей.
Исходные данные не приводятся в задаче, но подразумевается, что они должны быть известны или могут быть легко получены.
21
Обратная цепочка рассуждений применяется в задачах, соответствующих процессу проверки гипотез при решении проблем человеком — для заданной ситуации необходимо определить условия к ней приводящие. Процесс поиска от цели к данным рекомендован в следующих случаях:
© 2
014 Муромцев Д
.И.
Лекция
3
Алгоритм обратного вывода
1. Определить цель для логического вывода и выбрать ее в качестве текущей подцели.
2. В списке правил найти первое вхождение этой подцели. Если правило найдено, перейти к рассмотрению условной части найденного правила. Если правило не найдено, сообщить пользователю, что ответ найти невозможно.
3. Выбрать в качестве подцелей факты из условия из данного правила.
4. Если в списке подцелей имеются факты, истинность или значение которых могут быть запрошены у пользователя, то задать пользователю соответствующие вопросы.
5. Если очередная подцель выведена, то перейти к шагу 2.
6. Если очередная подцель не может быть выведена или запрошена у пользователя, сообщить, что ответ получить невозможно.
7. Если все подцели подтверждены, то сообщить пользователю окончательный вывод.
22
Алгоритм прямого вывода обычно основан на стратегии поиска в глубину. Этот процесс предусматривает следующие шаги:
© 2
014 Муромцев Д
.И.
Лекция
3 Пример обратного вывода(начальное состояние)
23
© 2
014 Муромцев Д
.И.
Лекция
3 Пример обратного вывода(формирование правил)
1. Выбрать из дерева решений вершину вывода и зафиксировать её.
2. Найти вершину решения, расположенную слева от выбранной вершины вывода и связанную с ней ветвью, и зафиксировать её.
3. Повторять шаг 2 до тех пор, пока не будут рассмотрены все вершины решения, расположенные левее зафиксированной вершины вывода или не встретится новая вершина вывода. Если встретилась вершина вывода, то её надо зафиксировать и прекратить выполнение шага 2. Выполнение также прекращается, если исчерпаны все вершины.
4. Каждая вершина решения, составляющая путь, — это одна из переменных части ЕСЛИ правила. Значение, связанное с ветвью, представляет собой условие. Переменные условной части правила объединяются логическим оператором И.
5. Выбранный логический вывод перенести в часть ТО правила.24
Условная часть содержит все вершины решения, находящиеся на пути к выводу. Вывод же составляет часть правила ТО. Таким образом, процесс формирования правил для всех возможных логических выводов состоит из следующих шагов:
© 2
014 Муромцев Д
.И.
Лекция
3 Пример пути на дереве решений(пример формирования правил)
Путь 1→4→6:
ЕСЛИ Посетитель имеет ученое звание И Посетитель сделал важное открытие, ТО Предложить посетителю должность научного сотрудника.
25
© 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
© 2
014 Муромцев Д
.И.
Лекция
3 Пример обратного вывода(первый шаг вывода)
Предположим, что претендент на работу хочет получить должность инженера–конструктора
27
Предложить посетителю должность инженера–
конструктора
Текущая подцель
Правило 1Правило 2Правило 3Правило 4Правило 5Правило 6
Правила
© 2
014 Муромцев Д
.И.
Лекция
3 Пример обратного вывода(второй шаг вывода)
Правило 6 содержит в заключении изначальный факт, следовательно, система перейдет к рассмотрению новых подцелей
28
Предложить посетителю должность инженера–
конструктора
Возможно, что посетитель будет принят на работу»,
Средний бал посетителя за время учебы
Текущая подцель
Правило 1Правило 2Правило 3Правило 4Правило 5Правило 6
Правила
© 2
014 Муромцев Д
.И.
Лекция
3 Пример обратного вывода(второй шаг вывода)
В заключении правила 2 указан факт «Возможно, что посетитель будет принят на работу», следовательно следующей подцелью будет факт из условной части правила 2:
29
Предложить посетителю должность инженера–
конструктора
Возможно, что посетитель будет принят на работу»,
Средний бал посетителя за время учебы
Посетитель имеет ученое звание
Текущая подцель
Правило 1Правило 2Правило 3Правило 4Правило 5Правило 6
Правила
© 2
014 Муромцев Д
.И.
Лекция
3
Эвристические знания и метаправила
Иногда для получения решения требуется вмешательство в стандартный процесс вывода.
Метаправила не принимают непосредственного участия в процессе формирования рассуждений, а определяют приоритет выполнения или исключают из рассмотрения обычных правила и выполняются в первую очередь.
30
© 2
014 Муромцев Д
.И.
Лекция
3
Пример метаправила (I)
ЕСЛИ кредитный рейтинг клиента высокий И клиент является клиентом банка, ТО сначала применить правила для льготных условий предоставления кредита.
31
© 2
014 Муромцев Д
.И.
Лекция
3
Пример метаправила (II)
ЕСЛИ существуют правила, в условиях которых не упоминается текущая цель И существуют правила, в условиях которых упоминается текущая цель, ТО сначала следует активизировать первые из перечисленных правил.
32
© 2
014 Муромцев Д
.И.
Лекция
3 Алгоритм Rete для оптимизации поиска правил
33
По существу, алгоритм RETE интегрирует правила в сетевую структуру, позволяющую системе сопоставлять правила с данными, непосредственно указывающими на правило. Этот алгоритм значительно ускоряет выполнение поиска, особенно, если число правил велико.
© 2
014 Муромцев Д
.И.
Лекция
3
Примеры систем: G2
34
© 2
014 Муромцев Д
.И.
Лекция
3
Примеры систем: Exsys
35
© 2
014 Муромцев Д
.И.
Лекция
3
Примеры систем: Drools
36
© 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
© 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