Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Safonov / AMPN_course_25.pptx
Скачиваний:
86
Добавлен:
16.04.2015
Размер:
106.64 Кб
Скачать

Архитектуры и модели программ и знаний

Лекция 25

Продукции и продукционные знания,

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

Сафонов Владимир Олегович

Профессор кафедры информатики Заведующий лабораторией Java-технологии

(http://polyhimnie.math.spbu.ru/jtl)

Санкт-Петербургский государственный университет

Email: vosafonov@gmail.com

WWW: http://www.vladimirsafonov.org

Продукции (Э. Пост)

Продукция (production, или rule)

выражение вида:

A -> S

где A условие, S - действие (или следствие)

Нечеткая продукция (fuzzy rule) –

выражение вида:

A -> S (CF)

где A условие, S - действие (или следствие),

CF - коэффициент уверенности (Certainty Factor), - как правило, число

от 0 до 1

(C) Сафонов В.О. 2012

(C) Сафонов В.О. 2012

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

Тройка (триплет, 3-tuple) вида:

<P, I, R>

где:

-P (productions)– набор правил, конечное множество продукций

-I (interpreter) - интерпретатор (машина

вывода)

- R (resolver) – стратегия разрешения конфликтов

Работа продукционной системы – (потенциально

бесконечный) цикл, на каждом шаге которого

применяется(срабатывает) одно правило

Начало работы – постановка пользователем задачи

в виде целевого утверждения S или набора целевыцх

утверждений

S1, … Sn

Цель – доказательство целевого утверждения

(целевых утверждений); для нечетких продукций – со своими CF

Рабочее множество F

Рабочее множество – конечное множество F = {F1,

…, Fn}

фактов (утверждений, гипотез), - рабочая память продукционной системы; в системе OPS5 – WM (Working Memory)

Начальное состояние F задается пользователем, а

также на основе уже известных системе фактов

F пополняется в результате применения правил:

если считать, что S – следствие (факт), то в результате применения правила A -> S (которое возможно, если A содержится в F) утверждение S заносится в рабочее множество F (если его там еще не было)

Для нечетких продукций каждое утверждение

хранится в F со своим коэффициентом уверенностиМногократное применение правил может привести

к экспоненциальному и т.д. росту F

Аналогии с методом резолюций и с Прологом

(C) Сафонов В.О. 2012

Прямая и обратная цепочки

(forward chaining, backward chaining)

Прямая цепочка (рассуждений) – многократное

применение правил, как определено вышеОбратная цепочка – применение правил как бы в

“обратном порядке”, т.е.:

-если цель S0 – в рабочем множестве F, то выход

-поиск в P правил с правой частью S0 (в общем случае – S)

-если правило имеет вид: A1 & … An -> S, то попытка доказать (вывести) последовательно A1, …, An, т.е. Каждое из них последовательно

рассматривается в качестве текущей целиПример F = {D} P = { A&B -> C , C&D -> S}

цель - S

(C) Сафонов В.О. 2012

И/ИЛИ - граф

Графическое представление набора правил:

 

A & B -> C

C

 

D & E -> C

|

OR

(A&B) V (D&E) -> C

/

\

 

 

 

 

AND

 

AND

/ \

/

\

(C) Сафонов В.О. 2012

 

 

И/ИЛИ – граф и работа продукционной системы

Вывод утверждения C – связный подграф

И/ИЛИ-графа, содержащий вершину C, а также какие-либо исходные утверждения (например, A, B), содержащиеся в F (терминальные вершины дерева),

каждую дугу, ведущую в И-вершину, для всех И-вершин, принадлежащих подграфу вывода, и хотя бы одну из дуг, ведущих в ИЛИ-вершину, для всех ИЛИ-вершин, принадлежащих подграфу выводаОбъяснение: WHY? – подъем на один ярус

к вершине-результату (а также перечисление остальных братьев); HOW? – спуск на один(C)ярусСафоновкВ.Овершинам. 2012 -

предпосылкам, а также пояснение

Наиболее распространенные продукционные языки

PROLOG (А. Колмероэ) – Использование одного из видов метода резолюций и логики первого порядка в качестве языка программированияРЕФАЛ (В.Ф. Турчин) – Продукционный

язык, основанный на формальной модели алгоритма в виде нормальных алгоритмов Маркова

(C) Сафонов В.О. 2012

Вопросы и домашнее задание к лекции 25

Изучите книги и сайты:

Э. Пост. Системы продукцийЭ.В. Попов. Экспертные системы

www.visual-prolog.com – Для того, чтобы понять отличия

Visual Prolog от классического Prolog’а Колмероэ (1970-е гг.), попробуйте на Visual Prolog реализовать простейшую базу знаний: “Все люди смертны. Сократ - человек” и

получить вывод “Сократ –смертен” (предупреждение: это оказывается нетривиальной задачей на Visual Prolog)Клоксин, Меллиш. Автоматическое доказательство теорем

(метод резолюций)

В чем основные преимущества продукционных систем?

Объясните, почему они столь распространены для представления знаний?

В чем, по-Вашему, проблема продукционных систем?Какого рода знания неудобно выражать с помощью

продукций?

(C) Сафонов В.О. 2012

Соседние файлы в папке Safonov