Метаструктура модуля управления
Функции интерпретатора в ПСМ делятся на внутренние и внешние. Последние заключаются в обеспечении взаимодействия ПСМ с внешней средой. Внутренние функции интерпретатора состоят в том, чтобы обеспечить эффективное совместное функционирование базы данных и правил. Таким образом, значительная часть функций модуля управления уже описана в предыдущих пунктах при описании базы данных и правил.
В общем виде к его функциям относятся следующие:
- управление аппаратом активации;
- управление ассоциативным выбором правил;
- разрешение конфликта (выбор правила из конфликтного множества);
- редактирование базы данных.
Набор функций интерпретатора в ПСМ определяется наличием и характером описанных подсистем. В случае простого механизма активации и ассоциативного аппарата работа ПСМ может обеспечиваться прямым взаимодействием модулей базы и правил. В этом случае функции исполнителя будут вырожденными. Вообще говоря, большая часть функций рассмотренных выше подсистем может быть отнесена либо к функциям модуля базы данных, либо модуля правил. Это позволяет считать модули базы данных и правил основными строительными блоками, используемыми при создании программных комплексов на базе систем продукций.
Однако конфигурация модуля не ограничивается простым сочетание "база — правила", поскольку правила, образующие одну систему, могут работать не с одной, а с несколькими различными базами данных. Например, модуль, анализирующий цепочку и строящий дерево разбора, может использовать две базы — строковую и древесную (рис.1.2).
Рис.1.2. Построение по данным типа "строка" древесной структуры
С другой стороны, каждый достаточно сложный процесс распадается естественным образом на этапы, уровни, фазы, подпроцессы и т.д. Эти уровни и подпроцессы могут рассматриваться совместно как одна общая система правил. Однако некоторые могут трактоваться как автономные подсистемы правил, поскольку используют свою совокупность баз данных и индивидуальный набор базовых операций, в терминах которых специфицируются правила соответствующего уровня. Координация работы этих автономных подсистем организуется через аппарат активации, а обмен информацией осуществляется через общие базы данных.
Таким образом, весь комплекс может строиться как параллельная асинхронная система (рис.1.3.).
Рис.1.3. Асинхронная структура ПСМ
Кроме этого разложение описания предметной области на уровни является одной из важнейших частей при построении эффективных модулей ПСМ. При этом многоуровневое описание предметной области кажется и более естественным.
С другой стороны, на повышение эффективности программных реализаций оказывает большое влияние выбор подходящих эвристических функций для разрешения конфликта. Традиционно эта задача решается введением метапродукций, которые можно рассматривать как знания о том, как использовать более низкий уровень знаний. Однако можно не ограничиваться одним уровнем метапродукций, вводя метаметапродукции и т.д. Принимая во внимание эти два вида иерархии, общая схема системы продукций изображена на рис.1.4.
Вертикальное измерение этой схемы соответствует иерархии знаний (уровень абстракции), а горизонтальное — иерархии метапродукций. Иерархическая организация модуля ПСМ расширяет возможности систем продукций и имеет высокопараллельную структуру — свойство, вызывающее в настоящее время все больший интерес с точки зрения параллельных вычислений [109]. Понятие ПСМ может быть расширено до параллельно-последовательного модуля, общая схема которого изображена на рис. 1.5.
Рис. 1.4. Структура иерархической системы продукций
Система имеет множество баз знаний: Продукции1, ..., Продукцииn, каждая из которых функционирует независимо от других, используя свою собственную базу данных. После прекращения работы локальных процессоров необходимая информация переносится в общую базу данных.
Общие продукции редактируют общую базу данных, информация из которой становится доступной каждому локальному процессу. Таким образом, каждый источник знаний на промежуточном шаге вычислений может использовать как последовательную, так и параллельную информацию. Общую базу данных называют также доской объявлений (black-board).
Рис. 1.5. Структура параллельно-последовательного ПСМ
Несмотря на то, что большинство современных ПСМ являются в настоящее время последовательными, будущие ПСМ станут параллельными, успешно реализуемыми на многопроцессорных ЭВМ [109].
Как уже отмечалось выше, большинство исследований по искусственному интеллекту сосредоточено на выборе подходящих средств для представления знаний, которые обеспечивали бы высокую скорость работы в системах, использующих большие объемы знаний. В настоящее время заметна тенденция использовать не чисто продукционное представление знаний, а некоторое сочетание, которое складывается из таких широкоизвестных средств, как фреймы и семантические сети. Это вызвано желанием добиться максимально высокого уровня описания знаний, который бы приближался к уровню проблемно-ориентированных языков. Как правило, в таких системах декларативные знания представляются в виде фреймов, а процедурные — в виде продукций. Использование комбинированных подходов предоставляет новые возможности для более широкого применения систем продукций.
Подводя итоги сказанному выше, подчеркнем, что везде мы проводили различие только между типами компонентов ПСМ, а не между типами решаемых задач. В принципе одни и те же задачи можно решать разными способами, причем их эффективность будет во многом зависеть от специфики используемых знаний.
Эти знания условно можно разделить на три группы:
n) представленные в базе (знания о задаче);
o) заложенные в продукции (знания о предметной области);
p) управляющие (знания о процессах, стратегиях и структурах, используемых при решении задач).
Общая проблема при проектировании специализированных ПСМ состоит в том, как лучше организовать эти три компонента знаний, чтобы свести к минимуму "накладные расходы" результирующего вычислительного процесса.
2.5.8. Технология поддержки разработок продукционных систем
Создание конкретных систем продукций позволило сформировать некоторые подходы к их проектированию и разработать набор методов реализации отдельных компонентов. Желание строить системы продукций для новых предметных областей требовало сокращения сроков реализации конкретных систем. Поэтому следующим шагом при разработке явилось использование технологии блочного программирования, а именно: выделение устойчивого набора модулей, их эффективная реализация и генерация проблемно-ориентированных блоков по заказу пользователя с последующей сборкой их в прикладную систему. Такой подход оформился в виде концепции "пустых" экспертных систем, или оболочек.
В случае, когда разработчиков прикладной системы устраивают проектные решения, принятые в оболочке, то ее использование является одним из самых быстрых способов реализации будущей проблемно-ориентированной системы. Однако на практике введенные в оболочках ограничения часто оказываются слишком жесткими. Поэтому в настоящее время широкое распространение получила идея создания специального программного окружения разработки систем продукций (а в общем случае экспертных систем). Такие системы называют инструментальными, или технологическими, пакетами (knowledge engineering environment, knowledge engineering tool kits). К числу таких систем относят EXPERT, AGE, OPS и другие [95].
В настоящее время завоевали популярность системы поддержки инженерии знаний второго поколения. К ним относят KEE, ART и другие [49]. Эти системы используют богатый спектр возможностей для представления знаний и ориентированы на мощные персональные компьютеры с организацией "дружелюбного" интерфейса на основе многооконной графики. Кроме этого происходит выработка новой парадигмы при разработке средств представления знаний, когда модель определяет средства спецификации, а ЭВМ проектируется под класс моделей.
Одним из путей движения к этой новой парадигме является развитие и внедрение технологии разработки машинных комплексов как пакетов специализированных виртуальных машин. Виртуальная машина определяется [37] как "идеальная машина, представляющая модель, ее структуру, специфические для модели типы данных, операции и характер процесса функционирования и обработки информации". При этом все проектирование идет от модели, и только базовые средства виртуальных машин и их модули учитывают характер конкретных механизмов реализации, определяемых аппаратными компонентами системы. Сейчас технология виртуальных машин используется при разработке базы современных систем программирования. Примером может служить технология создания Lisp-машин и Пролог-машин. В настоящее время технология виртуальных машин используется для конструирования модулей систем продукций.
В заключение данного раздела приведем основные работы, которые посвящены выработке метамодели ПСМ, вопросам технологии, описанию оригинальных алгоритмов отдельных компонентов ПСМ. Большое влияние на развитие технологии конструирования ПСМ оказали работы [23,83]. В монографии [50] содержится богатый перечень компонентов ПСМ различной архитектуры. Подробное описание RETE алгоритма можно найти в [94]. Технологии виртуальных машин посвящены статьи [38,40]. Развитие архитектуры ПСМ в сторону параллельных и иерархических предлагается в трудах IJCAI'79 [110,126]. Труды IJCAI'81 — 95 содержат описание огромного количества экспертных систем, большая часть которых основана на представлении баз знаний в виде систем продукций. В монографиях [49,53,61] содержится обширный перечень оболочек и инструментальных систем. Подробное изучение метамодели систем продукций позволило перейти к построению формальных моделей и исследовать свойства этого средства представления знаний.
Дата добавления: 2016-03-05; просмотров: 678;