Интерпретатор – пословно определяет, какие продукции могут быть активны в зависимости от условий в левых частях. Затем выбирает одну из подходящих к ситуации продукцию, выполняет действия из правой части выбранной продукции.
В классических продукционных системах БД – переменная часть СИИ, правила продукций изменяются меньше, интерпретатор практически неизменен. В классических продукционных СИИ продукции не влияют друг на друга. В современных СИИ продукции могут изменять состав базы знаний (выключать или дезактивировать другие продукции, включать ранее выключенные, производить такие же операции на один шаг работы).
Почти в любой текущей ситуации найдется одновременно несколько правил с успешно сопоставленными левыми частями (конфликтное множество). К сожалению в продукционных СИИ не задействована очевидно удобная для разрешения конфликтов система приоритетов. Вместе с тем в современных СИИ есть некоторые дополнительные возможности, помогающие интерпретатору разрешать конфликтные ситуации. В современных СИИ для ускорения процесса работы внесены некоторые элементы процедурного подхода современных языков программирования (явный принудительный запуск правых частей продукций или принудительный запуск секций). Для увеличения скорости обработки базу знаний секционируют на знания, близкие по значению.
В продукционных системах заложены многие возможности, которые еще не используются в современных языках работы с БД. Например, при сопоставлении левых частей по желанию программиста возможно уже формирование достаточно сложных структур данных, которые в случае успеха могут быть немедленно использованы в правой части. Достаточно красивым техническим решением является возможность использования в качестве операндов пробных значений при означивании переменных, возможность возврата из стека вызова на произвольное и заранее не определенное количество шагов назад. Продукционные системы могут быть условно-выводимыми (антицедентными – сначала анализируются условия левой части, применяются в большинстве случаев) и целе-выводимыми (консеквентные – сначала анализируются цели, затем условия, используются реже). Пример: пусть БД содержит факты A, F, база знаний содержит следующие продукции:
Продукция 1: A&B&C→D
Продукция 2: D&F→G
Продукция 3: A&J→G
Продукция 4: B→C
Продукция 5: F→B
Продукция 6: L→J
Продукция 7: G→H
а) условно выводимый подход
Н-?
б) целе-выводимый подход
Н-?
Опубликовал Kest
January 11 2010 21:23:14 ·
0 Комментариев ·
8646 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.