Пупков К.А., Коньков В.Г. Интеллектуальные системы (1-е изд., 2001) (1245264), страница 34
Текст из файла (страница 34)
Базовой моделью является продукционнаясистема с прямым выводом, которая была развита, расширена и переработанадля описания и реализации процессов управления комплексами дискретныхраспределенных объектов в реальном времени. Настраиваемая базапродукционной системы реального времени предназначена для храненияданных о динамике изменения состояний объектов и имеет прямойасинхронный информационный вход от внешних объектов и подсистем.Алгоритмы принятия решения и управления описываются на языке правил продукций высокого уровня, допускающем квантификацию по объектамРезультатом продукционного логического вывода являются заключения осостоянии и ходе контролируемого процесса либо управляющие воздействия(команды) и сообщения, выдаваемые системой объектам по соответствующимканалам связи.
Методы и внутренние формальные модели, положенные воснову реализации продукционной управляющей системы реального времени,демонстрируют следующие ключевые характеристики и особенности.1. Наличие динамической информационной базы с хранениемпредыстории состояния объектов (в привязке ко времени) назаданную пользователем глубину.2. Работасправилами,использующимисложнуюквантифицированную предикатную логику времени в условиях применимостипродукций и расширенный операционный базис действий. Язык позволяетописывать рассуждения о подмножествах объектов, а также о времени как втерминах точечных, так и интервальных событий с фиксацией их частичногопорядка и относительного положения на шкале времени.3.
Функционирование интерпретатора продукций базируется нарасширенном толковании логических выражений. Значениями в используемойлогике являются не только «ложь» и «истина», а также подмножество объектовбазы и моментов времени (или интервала), для которых утверждение истинно.Эти данные используются в ходе работы интерпретатора и передаются воперационную часть продукций для выполнения действий с объектами базы ивыработки реакций.1104. Механизм разрешения конфликтов носит множественный характери оставляет на каждом шаге работы системы в списке применимых нескольконеконфликтующих продукций, поддерживающих процесс взаимодействия сразличнымивнешнимиобъектами.Врезультатеобеспечиваетсяпсевдопараллельная работа системы с распределенными объектами иреализация параллельных цепочек логических выводов по различным аспектамнаблюдаемого процесса.5. Система располагает средствами динамической фокусировки ипереключения внимания при изменении внешней обстановки и возникновенииособых ситуаций.
Эти функции поддерживаются механизмами активациипродукций и экстренного вызова. Экстренным может быть объявлено любоеправило, и тогда при удовлетворении его условий прерывается процессинтерпретации и логического вывода. Эти действия могут активировать другиеправила и вызвать тем самым лавинообразный процесс концентрации вниманиясистемы на определенном фрагменте проблемной области.
Несколькоэкстренных продукций, записанных подряд и активирующих друг друга,обеспечивают сверхбыстрое реагирование и логический вывод по особо важнымсобытиям. Такие цепочки правил обеспечивают прерывание всех процессов,выполняемых интерпретирующей системой в текущий момент.Основные компоненты оболочки продукционной управляющейсистемы представлены на рис. 59.Рис.59Программа-конструктор CONST, предназначенная для диалоговогоконструирования прикладных продукционных систем в оболочке ПРОДУС,выполняет следующие основные функции:внешнюю спецификацию прикладной системы;построение базы фактов и базы правил продукционной системы;описание продукционного алгоритма управления, контроля илимониторинга для прикладной системы.Конструктор может создавать либо непосредственно файлы настройкисистемы, либо файлы настройки на языке компилятора GENER с последующимих переводом компилятором во внутренний код системы.
Для удобства работыконструктор поддерживает облегченный стандартизированный интерфейспользователя, включающий структурные элементы типа интерфейсапрограммы-оболочки Norton Commander и современных Turbosystems фирмы«Borland».Компилятор GENER компилирует тексты продукций из исходныхфайлов настройки системы (языка пользователя), извлекает из них атрибуты ипараметры описания состояний объектов, строит внутреннее представлениебазы, кодирует условия правил с помощью ролевых фреймов, транслируетоперационные части правил, контролирует синтаксис языка, обнаруживаяошибки, и анализирует семантику алгоритма, выявляя конфликтные правила.
Врезультате создаются верифицированные загрузочные файлы системы,конфигурирующие и настраивающие ее на прикладную задачу управления,контроля и мониторинга.Исполнительное инвариантное ядро PS продукционной управляющейсистемы реального времени считывает загрузочные файлы настройки, вкоторых описаны: структура и состав информационной базы прикладнойсистемы; продукции управления, контроля, мониторинга, принятия решений идиалога; правила разрешения конфликтов; данные, необходимые для активациипродукций, а также спецификации форматов входных и выходных сообщений икоманд, которыми система обменивается с внешними объектами. Эти данныеуправляют действиями системы в заданном прикладном применении.Внутренняя структура исполнительного ядра системы описана в работах [9698].
Его основные функции состоят в проверке условий и выполнении действийправил, разрешении конфликтов между ними, выполнении преобразованийбазы, формировании и выводе команд и сообщений внешним объектам, а такжев активации правил. Ядро обеспечивает высокое быстродействие интерпретациипродукций с чрезвычайно избирательной их активацией в зависимости отнаблюдаемой ситуации и текущего состоянии процесса логического вывода.Взаимодействие с внешними объектами организовано по асинхронномупринципу и поддерживается вход-выходным программным монитором системы.111Обеспечена также устойчивость системы к сбоям ЭВМ, на которой онаустанавливается, и возможность выполнения рестартов после аварий.Отладчик OTLAD поддерживает работу системы в режиме отладкипостроенного прикладного варианта базы факторов и правил. В этом режимеразработчику предоставляется возможность наблюдать и оперативновмешиваться в ход процесса управления.
На любом шаге интерпретации наборапродукций разработчик может вызвать функции, позволяющие создать, удалитьили модифицировать любой элемент базы системы. В частности, для базыфакторов можно оценить и изменить значение любого параметра выбранногообъекта базы или выбранной команды, значение любого элемента рабочейпамяти и т.д.При отладке базы правил можно редактировать состав условий и/илидействий выбранной продукции, значение любого слова выбранной операции,правила разрешения конфликтов и правила активации. При необходимостиможно создать или удалить связи между объектами базы, сами эти объекты и ихпараметры, продукции и их условия, правила разрешения конфликтов, правилаактивации, команды объектов и их параметры. Все внесенные изменениясохраняются в файлах настройки, которые используются ядром на следующемшаге интерпретации набора продукций.
Это позволяет осуществлятьмодификации в отлаживаемой системе непосредственно в ходе ее работы.Продукционная система моделирования PSM является инструментомотладки прикладных систем реального времени и средством оценки ихэффективности. Система моделирования реализуется на базе инвариантногоядра ПРОДУС с использованием всех методов, средств и компонентов оболочкипродукционной управляющей системы. Продукционная система моделированияпредназначена для обработки команд, поступающих от исполнительнойсистемы управления, передачи ей сообщений о состоянии моделируемыхобъектов, визуализации процессов функционирования моделируемых объектовуправления в реальном или модельном времени.
Физически PSM иисполнительная система расположены в разных ЭВМ, связь между которымиреализована непосредственно через последовательные порты ввода-вывода RS232. Это значительно упрощает требования как к используемым примоделировании техническим средствам ЭВМ, так и к линии связи.Реализованный интерфейс PSM с исполнительной системой основан нареальном протоколе связи, что позволяет сочетать в процессефункционирования комплекса реальные физические объекты управления смоделями объектов, т.е.
использовать возможности методов и средствполунатурного моделирования.Новыми элементами продукционного языка описания процессовреального времени, поддерживаемого конструктором и системой в целом,являются иерархия системы правил и макроопределения, операторыдинамической подкачки/выгрузки дополнительных источников знаний всистему, а также операторы фокусировки внимания системы на определенныхфрагментах базы правил в процессе работы. Язык макроопределений позволяетпроектировать иерархические базы правил с использованием модульногопринципа, что существенно упрощает процесс их синтеза и способствуетрациональной структуризации прикладных продукционных систем.Правила языка макроопределений имеют видM: если U, то Q,Где M – наименование функции данного макроправила; U - условие,предъявляемое к состоянию процесса, при котором действует данноемакроправило; Q - последовательность операций или функций, выполняемыхпосле состояния U.