
Интеллектуальные технологии / Конспект лекций / AILect06
.docПродукционные модели представления знаний. Понятие правила продукций. Структурные компоненты продукционных систем. Понятие обобщенной системы продукций как основного строительного блока систем искусственного интеллекта.
Продукции, наряду с фреймами, являются наиболее популярными средствами представления знаний в системах ИИ. В большинстве ИС наблюдается более или менее постоянное разделение между стандартными вычислительными компонентами: данными, операциями и управлением. Иными словами, если эти системы описаны на подходящем уровне, часто удаётся выделить некоторую центральную структуру, которую можно назвать глобальной базой данных. Действия с ней выполняются с помощью известных чётно определённых операций, причём управление этим процессом происходит в соответствии с глобальной стратегией управления.
Система, допускающая выделение БД, операций и управляющих конструкций, представляет собой подходящий строительный блок для составления иного описания систем ИИ.
Совокупность глобальной базы данных, множества правил продукции и системы управления называется системой продукций.
Глобальная база данных - центральная структура данных, используемая системой продукции ИИ. В зависимости от конкретной задачи эта БД может быть простой, как обычная матрица чисел или сложной, как большая реляционная индексированная файловая структура. Правила продукции применяются к глобальной БД.
В общем виде под продукцией понимается выражение вида:
( i ), Q, P, A→B, N
Здесь ( i ) - имя продукции с помощью которого данная продукция выделяется из всего множества продукций. В качестве , имени может выступать некоторая лексема (например, “покупка книги”), отражающая суть данной продукции, порядковый номер продукции в их множестве, хранящемся в памяти системы.
Элемент Q характеризует сферу применения продукции. Такие сферы легко выделяются в познавательных структурах человека. Наши знания как бы разложены по полочкам: на одной полочке памяти знание о том, как надо готовить пищу, на другой - как читать текст и.т.д.Такое же разделение на сферы в базе целесообразно и при использовании для представления знаний продукционных моделей.
Основным элементом продукции является её ядро: A→B. Интерпретация ядра продукции может быть различна и зависит от того, что стоит слева и справ от знака продукции. Обычное прочтение ядра продукции выглядит так: Если А, то В, более сложные конструкции допускают в правой части альтернативный выбор, например, если А, то В1, иначе В2. Секвенция может истолковываться в обычном логическом смысле как знак логического следования В из истинного А. Если А не является истинным выражением, то о В ничего нельзя сказать. Возможны и другие интерпретации ядра продукции, например: А описывает некоторое условие, необходимое для того, чтобы было выполнено В.
Элемент Р есть условие применимости ядра продукции. Обычно Р представляет собой логическое выражение. Когда Р принимает значение “истина”, ядро продукции активизируется. Если Р ложно, то ядро продукции не может быть использовано.
Элемент N описывает постусловие продукции. Они актуализируются только в том случае, когда ядро продукции реализовалось. Постусловия продукции описывают действия и процедуры, которые необходимо выполнить после реализации В.
Система управления выбирает, какое именно применимое правило необходимо использовать и прекращает действия, когда глобальная БД удовлетворяет условию останова (или терминальному условию).
Имеются некоторые различия между структурой такой системы и традиционными вычислительными системами с иерархически организованными программами. Глобальная БД доступна для всех правил продукций, ни одна её часть не ориентирована преимущественно на какое-либо из них. Одни правила не “вызывают ” другие, связь между правилами осуществляется только через глобальную БД. Эти свойства систем продукций находятся в согласии с эволюционным характером разработки больших ИС, предполагающих наличие больших объёмов знаний.
В качестве простого примера системы продукций с ИИ, рассмотрим, как такая система может быть использована для решения простой головоломки. Многие приложения ИИ связаны с построением последовательности действий. Можно привести 2 примера: управление действиями робота и автоматическое программирование.
Простой и известной задачей такого типа является игра в 8. В ней используются 8 пронумерованных подряд квадратных фишек, помещённых на поле размерами 3x3 клетки. Одна клетка всегда свободна, что даёт возможность перемещать в неё соседнюю нумерованную фишку или, по-другому, перемещать пустую клетку.
Итак, пусть имеется поле:
2 |
1 |
7 |
8 |
5 |
|
4 |
6 |
3 |
Из него необходимо за конечное число ходов получить следующую конфигурацию фишек:
1 |
2 |
3 |
8 |
|
4 |
7 |
6 |
5 |
Для решения задачи с помощью системы продукций мы должны определить глобальную БД, набор продукций и задать стратегию управления. В области ИИ преобразование исходной формулировки задачи в такие три компоненты некоторой системы продукций называется проблемой представления.
Для игры в 8 и других подобных задач можно ясно определить элементы задачи, соответствующие трём указанным компонентам. В игре в 8 конфигурация фишек является состоянием задачи. Множество всех конфигураций составляет пространство задачи. Исходная глобальная БД будет описанием начального состояния задачи в виде матрицы чисел 3x3.
2 |
1 |
7 |
8 |
5 |
0 |
4 |
6 |
3 |
В сущности, для описания состояний можно использовать любую структуру данных: строки символов, вектора, множества, массива, дерева, списка и т.п.
Каждый ход преобразует одно состояние в другое. Четыре продукции:
-
Ход налево, условие применимости.
-
Ход направо.
-
Ход вверх.
-
Ход вниз.
В игре 8 нам необходимо достичь особого состояния задачи - целевого состояния. Следовательно, необходимо установить для каждого состояния условия истинности или ложности, которые будут служить целевым условием.
Целевое условие задачи служит основой для терминального условия системы продукций. В соответствии со стратегией управления правила последовательно применяются к описаниям состояний до тех пор, пока не будет получено состояние, соответствующее целевому. При этом сохраняется информация о сделанных ходах, чтобы иметь возможность объединить их в последовательность, представляющую решение задачи.
В некоторых задачах нужно, чтобы решение подчинялось определённым ограничениям. Например, можно потребовать, чтобы решение достигалось за минимальное число ходов. В общем случае, мы приписываем цену каждому ходу, а затем пытаемся найти решения, имеющие минимальную цену.
Схема алгоритма работы системы продукций в недетерминированной форме.
Рисунок 2.1
Правила вывода и запоминания уже опробованных последовательностей правил и баз данных, порождённых их применением, образуют стратегию управления для системы продукции.
Типы стратегии управления систем продукций искусственного интеллекта
безвозвратный пробный с
возвра-щением поиск
на графе
Рисунок 2.2.
В безвозвратном режиме управления выбирается применимое правило и используется необратимо без возможности пересмотра в дальнейшем.
В пробном режиме управления резервируется возможность впоследствии заново вернуться к данной ситуации, чтобы применить другое правило.
В режиме с возвращением при выборе правила определяется некоторая точка возврата. Если последующие действия приводят к трудностям построения решения, то процесс вычисления переходит от точки возврата, применяется другое правило, и процесс продолжается.
Возврат происходит всякий раз, когда:
-
порождается уже встречающееся ранее состояние;
-
было применено некоторое количество правил, но описание целевого состояния не было построено (количество примененных правил называется глубиной);
-
не осталось применимых правил.
В режиме поиска на графе предусматривается возможность запоминания результатов применения нескольких последовательностей правил. Наверху или в корне дерева поиска находится описание исходной конфигурации базы данных. Различные правила, которые можно применить, соответствуют направленным дугам, идущим к вершинам переемникам, представляющим собой состояние базы данных, которое можно достичь из текущего за один ход. Стратегия управления с поиском на графе наращивает такое дерево до тех пор, пока не будет порождена база данных, удовлетворяющая условиям останова.