Главная » 2014 » Январь » 4 » Продукционные модели
11:37
Продукционные модели

Продукционная модель позволяет представить знания в виде предложений типа:

Если <условие> то  <действие>.
Под «условием» понимается некоторое предложение-
образец,
по которому осуществляется поиск в базе
знаний, а под «действием» -
действия, выполняемые
при успешном исходе поиска.

Системы продукций - это набор правил, используемый как база знаний, поэтому его еще называют базой правил.

А.Ньюэлл и Г.Саймон отмечали в GPS, что продукции соответствуют навыкам решения задач человеком в долгосрочной памяти человека. Подобно навыкам в долгосрочной памяти эти продукции не изменяются при работе системы. Они вызываются по "образцу" для решения данной специфической проблемы. Рабочая память продукционной системы соответствует краткосрочной памяти, или текущей области внимания человека. Содержание рабочей области после решения задачи не сохраняется.

Основные преимущества продукционных систем:

- простота и гибкость выделения знаний;

- отделение знаний от программы поиска;

- модульность продукционных правил (правила не могут "вызывать" другие правила);

- возможность эвристического управления поиском;

- возможность трассировки "цепочки рассуждений";

- независимость от выбора языка программирования;

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

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

Задача. Описать процедуру, реализующую преобразование из именительного падежа в родительный для существительных следующих типов: ДОМ, МАМА, ВИЛКА, КИНО, НОЧЬ, ТОКАРЬ, КИЛЬ.

Решение 1.  указано на рисунке в виде блок-схемы соответствующего алгоритма.


С точки зрения программирования на алгоритмических языках достоинства подобного представления очевидны — эта блок-схема без затруднений переводится в текст программы, например, на языке Паскале или С++. Однако само составление подобной блок-схемы при появлении существительных новых типов становится, очевидно, все более и более утомительным занятием. Для иллюстрации этого предположим, что дана ДОПОЛНИТЕЛЬНАЯ ЗАДАЧА. Расширить алгоритм, представленный на рисунке, на слова ВАСЯ, ВРЕМЯ, АКЦИЯ, ЗАДАЧА.

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

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

Таблица.  Решение 2

Ситуация

Действие

Ситуация

Действие

КИНО

КИНО

-ча

-чи

-ие

-ия

-КА

-КИ

-мя

-мени

-АРЬ

-АРЯ

-

-Ь & М:хЬ

 

 


Соответствующая таблица решений содержит две графы: слева приведены описания ситуаций, справа — соответствующие действия. Предполагается, что программист разработал интерпретирующую программу для подобных таблиц. Эта программа работает следующим образом. Для конкретного входного слова, пусть это будет для примера слово РОЗА, осуществляется последовательный просмотр ситуаций, указанных в таблице, и сравнение их со входным словом. Если слово соответствует некоторой ситуации, то выполняется действие, указанное для этой ситуации.

Для слова РОЗА будет обнаружено соответствие с ситуацией "-А". В результате выполнения действия "-Ы" будет получено выходное слово РОЗЫ.

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

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

"Ситуация" содержит описание ситуации, в которой применима продукция. Это описание задается в виде условий, называемых посылками продукции. "Действие" — это набор инструкций, подлежащих выполнению в случае применимости продукции.




Просмотров: 816 | Добавил: titova | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Меню сайта
Наш опрос
Что вас привлекает в информатике?
Всего ответов: 15
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0