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



 

В традиционном программировании команды устанавливаются в жесткой фиксированной последовательности. По умолчанию, после выполнения i-й команды выполняется (i+1)-я команда, если i-я команда не является командой ветвления. Все места ветвления в традиционном программировании указываются явно. Подобный способ программирования удобен в тех случаях, когда последова­тельность обработки мало зависит от обрабатываемых данных, т.е. тогда, когда ветвление является исключением, а не нормой. В про­тивном случае программу лучше рассматривать как совокупность не­зависимых модулей, управляемых образцами. На каждом шаге рабо­ты такая программа анализирует текущую ситуацию и определяет по анализу образцов, какой модуль подходит для обработки этой ситуа­ции.

Каждый управляемый образцом модуль (УОМ) состоит из механизмов исследования и модификации одной или нескольких структур данных. Диапазон УОМ может колебаться в широких пре­делах от простого продукционного правила до процедуры произ­вольной степени сложности, вызываемой по образцу. Каждый УОМ на очередном шаге работы анализирует данные рабочей памяти, про­веряя наличие структур, которые сопоставляются с его образцом. Си­стемы, построенные на основе УОМ, на­зывают системами вывода, управляемыми образцами. Функции управ­ления в этих системах осуществляет интерпретатор.

С точки зрения представления знаний подход, использующий УОМ, можно охарактеризовать следую­щими особенностями:

· разделение постоянных знаний, хранимых в БЗ, и вре­менных знаний, хранимых в рабочей памяти;

· структурная независимость модулей, облегчающая модифика­цию и совершенствование системы, что чрезвычайно важно для ЭС, постоянно модифицирующих свои знания. Кроме того, независимость модулей упрощает объединение программ, напи­санных разными авторами;

· отделение схемы управления от модулей, несущих знания о проблемной области, что позволяет применять различные схемы управления.

Системы, управляемые образцами, имеют различное исполнение и классифицируются в соответствии с ограничениями, накладываемыми на модули (рис. 2.6). Если такие системы состоят из модулей, локализованных на вершинах сети, то они называются системами, основанными на сетях.

 

                 

 

Большинство систем, управляемых образцами, удовлетворяют следующему ограничению: все исследования данных рабочей памяти в каждом модуле объединены и предшествуют всем действиям по мо­дификации данных. Таким образом, модуль разделяется на две части: предусловие, исследующее данные, и действие, модифицирующее данные. Модули, имеющие такое деление, называют правилами, а системы, использующие такие правила, называют системами, осно­ванными на правилах.

Системы, основанные на правилах, разделяются по видам правил на продукционные и трансформационные. Продукционные системы образованы из правил, в которых сопоставление и планирование (управление) – явные функции системы, зафиксирован­ные в интерпретаторе. Трансформационные системы в отличие от продукционных могут не иметь явных функций по сопоставлению и управлению правилами. Примерами трансформационных систем яв­ляются системы формальные и формальных грамматик. Продукционные системы могут быть разделены на продукционные системы, управляемые данными (предусловиями правил), и управляемые целями (действиями правил). Традиционно под продукционными системами понимают только си­стемы, использующие вывод, направляемый данными. Обычно предусловие (антецедент) задается в виде логической комбинации утверждений о данных рабочей памяти, а действием (консеквентом) является некоторая операция по модификации памяти. Сложность действий колеблется в значительных пределах от простой операции присваивания до функции произвольной степени сложности.

В продукционных системах, управляемых целями, предусловия и действия – это утверждения о данных. Здесь вывод осу­ществляется в обратном направлении от утверждений, которые должны быть доказаны. Необходимо подчеркнуть, что образцы мо­гут быть заданы как декларативно, так и процедурно.

Итак, представление знаний в виде управляемых образцами моду­лей и продукционных правил имеет следующие достоинства:

· модульность организации знаний;

· независимость правил, выражающих самостоятельные фраг­менты знаний;

· легкость и естественностью модификации знаний;

· отделение управляющих знаний от предметных знаний, что позволяет применять различные управляющие стратегии;

· возможность создания для ряда приложений управляющих ме­ханизмов с целью автоматического решения задач.

Основной недостаток данного подхода – его более низ­кая эффективность по сравнению с методами традиционного про­граммирования. Различные авторы по-разному классифицируют продукционные системы. Одни относят их к декларативному пред­ставлению, другие – к процедурному или декларативно-процедурному. Расхождения объясняются тем, насколько широко тракту­ется понятие “продукционное правило”. Даже в самом простом продукционном правиле (т.е. правиле, не содержа­щем присоединенных процедур) есть элемент процедурности, так как предполагается, что правило будет использовано для выполнения некоторого действия.

Именно это и отличает процедурное представ­ление от декларативного, поскольку декларативные знания не несут никакой информации о том, как они будут использованы. В более сложных продукционных правилах степень “процедурности” еще выше. Однако в продукционных правилах и даже в модулях, управ­ляемых образцами, есть элемент декларативности, так как спо­соб использования правил и модулей в них самих не указывается. Таким образом, продукционные правила объединяют в себе свойства и декларативного, и процедурного представления, как и представления в виде фреймов и иерархических сетей.

 


Дата добавления: 2019-07-15; просмотров: 189; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!