Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по ИИ в АСУТП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
5.55 Mб
Скачать

3.2.1. Инструментальный комплекс ais

Примером одного из подходов к автоматизации синтеза ЭС и ЭСРВ на базе алгоритмических языков высокого уровня (ЯВУ) является оригинальная технология AIS (Artificial Intelligence Synthesis – «синтез искусственного интеллекта»), разработанная на кафедре автоматики и процессов управления СПбГЭТУ «ЛЭТИ». Данная технология на момент создания была приоритетно ориентирована на поддержку проектирования встроенных ЭСРВ (в частности, - управляющих в автоматическом режиме) для динамических систем управления сложными мобильными объектами. Первый прототип AIS разрабатывался для бортовых систем управления серийными тяжелыми неманевренными самолетами старших моделей линий Ту (Ту-204 и выше) и Ил (Ил-96 и выше). Однако, сфера возможных приложений технологии намного шире и охватывает широкий круг задач, связанных с синтезом встроенных ЭС и ЭСРВ (с функциями управления, диагностики, контроля, эвристического прогнозирования, ретроспективного анализа данных и поддержки принятия решений), принцип действия (а следовательно, и класс обобщенно-логических моделей проблемной области) которых представим в виде схем ситуационного управления с различными стратегиями действий – прямой, обратной, комбинированной, итерационной, с ограничениями.

Отличительные особенности разрабатываемой технологии:

- ориентация на первичное получение образов исполнимых компонентов ЭСРВ (машин логического вывода и алгоритмов реагирования, выполняемых на фазе функционирования системы) в виде программных модулей на универсальных алгоритмических ЯВУ (далее – просто ЯВУ). Базовые выходные языки – C/C++ (поддерживается также Pascal). В совокупности, результатами проектирования на базе AIS являются тексты программных модулей процедурной части ЭСРВ на ЯВУ, а также переносимый образ базы знаний (БЗ), адаптированный к целевой программной среде и конкретной реализации машины вывода (для свободной портации БЗ поддерживается ASCII-текстовый импорт/экспорт моделей знаний; бинарный образ БЗ может формироваться как для случая использования файловой системы, так и для случая мапирования БЗ в глобальную структуру данных прямого или индексно-последовательного доступа, обрабатываемую машиной вывода);

- применение оригинального модельного базиса, основой которого являются расширенные функционально-семантические сети (РФСС) нескольких специальных видов, способные единообразно (на структурном и, частично, инфологическом уровнях) представлять модели знаний (различной семантики, назначения и степени детализации, описанные в различных терминах) о предметной области, модели многофункциональных трансформаций БЗ и модели программных алгоритмов, которые используются при проектировании и эксплуатации целевой ЭСРВ. За счет внутреннего подобия всех применяемых видов РФСС в AIS обеспечиваются возможности объединения процедурных и декларативных знаний в рамках общей модели предметной области, совместной обработки моделей различного назначения и формата на базе единых методов и инструментальных средств поддержки проектирования, поэтапного формирования моделей знаний коллективами разработчиков различного профиля и квалификации (оперирующих различными субъективно-значимыми и проблемно-ориентированными терминами, профессиональными сленгами и т.п.) с использованием конкретизации и абстрагирования, выявления различий (сходств, противоречий и т.д.), приведения к общему терминологическому базису и проч. с последующей интеграцией в целостную модель БЗ;

- использование оригинальных языков - языка представления знаний SCL (Situational Control Language – «язык ситуационного управления») и языка машины вывода SOL (Situational Operative Language – «ситуационной операционный язык»), ориентированных на выбранный класс моделей (РФСС) и задач обработки знаний;

- частичная возможность применения (в качестве вспомогательного входного языка) нотаций концептуальных графов, представленных в стандарте CGIF (Conceptual Graph Interchange Form), считающихся на сегодняшний день наиболее универсальным и мощным выразительным средством описания семантических моделей знаний и данных.

Структура и виды моделей знаний в AIS

Для представления знаний в AIS используются РФСС, имеющие два предопределенных класса связей между узлами сети – связей по информации и управлению, что изначально позволяет представлять в виде подобных сетей модели алгоритмических программ (объекты данных, операции и управляющие конструкции отображаются узлами, а информационные преобразования данных и схемы передачи управления между операторами – связями). Базовый (минимальный) формат узлов РФСС позволяет полностью определить структуру процедурной или декларативной модели произвольного вида. Информационное наполнение узлов, добавляемое к базовым атрибутам, зависит от конкретного вида модели и методов, которые используются при ее обработке.

Все модели знаний в AIS логически организуются на общей основе схем ситуационного управления. В них выделяются следующие подмножества узлов:

S – узлы, соответствующие законченным описаниям текущих ситуаций и/или процессов (любой S-узел в модели является корнем некоторого древовидной подсети, входящей в РФСС);

A – узлы, соответствующие законченным описаниям алгоритмов реагирования (на структурном уровне аналогичны S-узлам);

Р – узлы, соответствующие сценарным связкам, которые позволяют формировать цепочки событий (возникновения ситуаций, запуска алгоритмов и т.п.), сценарии, временные процессы;

Q – терминальные узлы (входы) сети;

R – операционные узлы (описывающие предопределенные операции и отношения);

С – все прочие узлы.

С учетом принятой системы обозначений типов узлов могут быть описаны и основные классы моделей знаний, используемые при проектировании БЗ ЭСРВ с применением AIS. К таким классам относятся:

SA-модели – обобщенные модели предметной области. В таких моделях в качестве терминальных узлов выступают узлы из S и A, т.е. в модели просто «называются» опорные ситуации (процессы) и способы реагирования (результирующие действия), а также определяются связи между ними (возможно отображение непрерывных процессов в виде динамических ситуаций или алгоритмов и дискретных процессов в виде последовательностей ситуаций и/ или алгоритмов);

GSA-модели – модели предметной области в терминах экспертов. В моделях данного типа Q- и C-узлы сопоставляются с произвольными терминами, задаваемыми экспертами (на базе словарей предопределенных лексических групп), а структура модели в целом отображает используемые экспертами естественно-языковые конструкции (текст), на организацию которых накладываются ограничения, регламентируемые синтаксисом языка представления знаний;

MGSA-модели – модели в терминах целевой программной системы. В этих моделях узлы, соответствующие каждому термину, отношению и др. сущностям, представленным в GSA-модели (исключая предопределенные), заменяются некоторыми подсетями, узлы которых в свою очередь содержат только программно интерпретируемые объекты и действия.

PSA-модели – модели целевой БЗ, полностью адаптированные к специфике конкретного алгоритма работы машины вывода ЭСРВ. Помимо интенсиональной составляющей БЗ (т.е., самой модели предметной области) в PSA-моделях представлена и экстенсиональная составляющая (т.е., база данных или рабочая область ЭСРВ, в которой сохраняются фактические значения переменных, служебные данные, необходимые для функционирования машины вывода и т.п.). PSA-модели (наряду с реализациями машин вывода и алгоритмов реагирования на ЯВУ) являются информационным выходом для комплекса инструментальных средств, поддерживающего технологию AIS.

Построение любой модели знаний заключается в разработке ее описания на языке представления знаний SCL, принятом в AIS, с последующим «исполнением» соответствующей SCL-программы (результат выполнения – бинарный образ модели).

Т.о., общий процесс синтеза образа целевой БЗ в рамках AIS может быть представлен как итерационный процесс последовательной детализации моделей знаний с реализацией общего последовательного преобразования SA => GSA => MGSA => PSA. При осуществлении этого преобразования для корректного перехода от GSA- к MGSA-моделям необходимо построение вспомогательных моделей трансформации БЗ – своего рода, словарей перевода, с использованием которых терминологические базисы экспертов приводятся к базису целевой программной систем. На структурном уровне модель трансформации представляет собой сложную сеть, состоящую из связанных между собой пар (возможно, пересекающихся) «сетевых примитивов» (всю модель в целом можно при этом назвать «библиотекой сетевых примитивов»). «Примитивами» в данном контексте считаются подсети (GSA- или MGSA-моделей), являющиеся типовыми конструктами моделей знаний, на базе которых строятся целостные представления предметной области. С лексической точки зрения примитивами GSA-моделей могут быть отдельные термины экспертов, типовые словосочетания, целостные определения какого-либо предмета или процесса и т.п. Каждому подобному примитиву должен быть поставлен в соответствие уникальный примитив MGSA-модели. Данное «соответствие» задается предопределенным отношением следования (которое может иметь и иной смысл в других контекстах). Модели трансформации в AIS также реализуются в форме РФСС и представляют собой особый (в функциональном отношении) тип моделей знаний, которые (в связи с общностью модельного базиса) описываются на том же языке представления знаний SCL, что и другие. В устоявшихся предметных областях модели трансформации (библиотеки сетевых примитивов) могут исторически наращиваться, что позволяет эффективно использовать методы проектирования по прототипу.

Общая задача формирования единой модели знаний о предметной области в AIS может быть разбита на частные подзадачи (например, задачи модельного представления конкретных ситуаций или алгоритмов, продекларированных в SA-модели) и распределена между отдельными исполнителями работ или их группами. Соответственно, промежуточными результатами проектирования могут являться частные подмодели, которые необходимо в дальнейшем интегрировать. При выполнении такой интеграции должны учитываться необходимость выбора наиболее адекватных и эффективных частных моделей из числа имеющихся (например, при сборе мнений разных экспертов по одному и тому же вопросу), если рассматриваемые модели являются конфликтующими (противоречивыми), возможность дополнения или поглощения одних частных моделей другими, не противоречащими им, необходимость выявления и исключения «дублирующих» частных моделей и многие др. факторы. Для поддержки подобных проектных действий в AIS используются специальные инструментальные средства, способные работать в автоматическом и интерактивном режимах.

Язык представления знаний SCL

Синтаксическая модель SCL построена на основании выделения следующих лексических групп объектов:

- базовые понятия (объекты, названия, обозначения) Х = {хi};

- действия (операции, команды, процессы, состояния) D ={di};

- отношения R = {ri};

- свойства понятий V = {vi};

- оценки (качественные и количественные) W = {wi};

- модификаторы (уточнения) M = {mi};

- модальности (характеристики уверенности) L = {li}.

Элементы перечисленных множеств могут быть словами или группами слов (словосочетаниями), используемыми в описаниях как единое целое (в последнем случае слова соединяются символом "_"). Помимо задаваемых пользователем (через определение специализированных словарей) элементов, в образовании SCL-конструкций могут участвовать зарезервированные формализмы, среди которых имеются временные отношения (was, will, after, wait, freeq, tinv, hold, when, start, fin), отношения сравнения <, >, <=, >=, <>, = (включая теоретико-множественную интерпретацию отношений "множество-подмножество" и отношение тождества), универсальное отношение умолчания has (иметь имя, оценку, свойство, описание), отношение следования => (императивные формы вида "надо выполнить", отношения порядка следования и т.п.), отношения "субъект" (->) и "объект" (<-) действия, отношение запроса "?", отношение определенной количественной меры "@", отношение "$" (иметь в качестве описания функцию), отношение явного указания на оценку "=", отношение принадлежности "in", пустое отношение "~". Кроме того, в SCL допускается использование управляющих конструкций IF-THEN-ELSE. В качестве отношения рассматриваются также операции SCL ":=" (присвоение), "^" (конкатенация), ".." (образование интервала), "#" (явное указание на модификацию), арифметические ("+", "-", "*", "/") и логические ("and","or") операции (операция логического отрицания "not" рассматривается как модификатор) и вызовы функций. Вводятся также специальные символы {*} ("любой" - понятие, оценка или действие), {@N} (ровно N объектов), {all} ("все" - понятия или действия), {*?} ("неизвестный" - понятие или оценка), {!} (явное указание на императивный характер действия или отношения), {Т:?} (запрос на определение конкретного элемента лексической группы Т - понятия, оценки, свойства, действия), {nowtime} (текущее время).

Множество простых конструкций SCL (словосочетаний) может быть описано следующим образом:

(xi rj xk), (xi rj wk), (xi rj dk), (xi rj vk), (di rj wk), (di rj xk), (di rj vk), (vi rj xk), (wi rj xk), (wi rj wk).

Множество сложных конструкций (фраз) образуется описаниями следующего вида:

(ai (wj rk) al), (ai (lj rk) al), (wj (ai rk al)), (lj (ai rk al)), где аi, аl - любые символы, допустимые по определению простых конструкций в данном месте, или словосочетания.

Составные конструкции SCL могут образовываться по следующему правилу:

- если (bi), (bj) и (bk) - синтаксически верные SCL-конструкции (атомы, словосочетания, фразы или составные конструкции), то верны также конструкции вида:

((bi) rj (bk)), (not (bi)), (if (bi) then (bj) else (bk)), {bi; bj; ... bk}.

Предложения языка SCL могут являться словосочетаниями, фразами и составными конструкциями. Описание каждой отдельной ситуации является предложением и должно сопровождаться меткой "Si::", а алгоритма - меткой "Ai::". При этом для получения описания полной ситуации (ситуации, рассматриваемой совместно с алгоритмом реагирования) предусмотрены обобщенные формы:

"Si::" <описание> => "Aj", "Si" => "Aj::" <описание>, "Si::" <описание> => "Aj::" <описание>, "Si" => "Aj".

Особой разновидностью ситуаций и алгоритмов являются сценарные (образующие) связки, для обозначения которых могут использоваться метки вида "Pi,j::", аналогичные по правилам употребления меткам "Si" и "Aj". Двойная индексация P-меток задает порядковый номер самой метки и номер сценария, в образовании которого метка используется.

С технологической точки зрения важными отличительными свойствами языка SCL можно считать:

  • тесную интеграцию с описаниями на выбранном базовом ЯВУ – С/С++ или Pascal (в частности, на основе этой интеграции в SCL реализуется поддержка представления пространственно-временных отношений, процессов и сценариев, различных средств описания неопределенности знаний и данных – нечетких множеств (Заде), коэффициентов уверенности (Байес), интервалов доверия (Демпстер-Шафер) и т.п., а также связывание декларативных и процедурных знаний и др. возможности);

  • гибкие возможности типообразования и структуризации знаний;

  • простоту языка, ориентацию на прямое использование в SCL-описаниях терминов предметных и проблемных областей, а также гибкость системы (обеспечиваемую открытым доступом пользователей к словарям лексических групп);

  • эффективность интерпретации конструкций языка при построении РФСС используемых видов;

  • возможность использования SCL для описания внутренних трансформаций моделей знаний, необходимых на различных фазах проектирования целевой базы знаний ЭСРВ;

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

Язык машины вывода SOL

Вторым входным языком комплекса AIS является язык управления машиной вывода ЭСРВ - язык SOL, ориентированный на обработку сетевых моделей знаний ситуационного типа, первично создаваемых при интерпретации SCL-программ. Основным назначением языка SOL является формализация описания сложных рекурсивных алгоритмов обработки многосвязных сетевых структур данных и знаний, необходимых при функционировании проектируемой ЭСРВ. На основании трансляции SOL-программ в комплекса AIS производится генерация ЯВУ-модулей, представляющих собой реализацию машины вывода и алгоритмов реагирования ЭСРВ. Важной функцией транслятора SOL является также окончательная адаптация целевой модели знаний к конкретным параметрам описанного в SOL-программе алгоритма вывода и к специфике программного окружения ЭСРВ (результирующая база знаний является независимым информационным выходом технологии, наряду с образом машины вывода).

Синтаксис SOL строится на базе обобщенного представления структуры гипотетической программы на ЯВУ (например, С), осуществляющей обработку абстрактной РФСС. Инвариантные элементы и структурные блоки данной ЯВУ-программы имеют в SOL зарезервированные идентификаторы, которые могут использоваться при составлении SOL-программ. Дополнительно соблюдается ряд допущений о функциональном назначении отдельных атрибутов обрабатываемой сети, относящихся к числу минимально необходимых метрик модели знаний (имена и номера узлов, базовые классы межузловых соединений и т.п.), обеспечивающих принципиальную возможность навигации в сети и выполнения традиционных для логического вывода в ЭСРВ действий. В остальном никаких ограничений на информационное наполнение элементов модели не накладывается и пользователю предоставляется право описания нестандартных процедур вывода (или отдельных элементов подобных процедур), а также расширенного формата модели знаний, необходимого в конкретном приложении.

В общем случае SOL-программы могут содержать следующие разделы:

FIELDS: - раздел описания (на базовом ЯВУ) расширенного формата узлов сетевой модели знаний;

DECLAR: - раздел описания пользовательских динамических структур данных, используемых при нестандартных действиях в процессе вывода;

STATIC_INI: - раздел декларирования пользовательских статических данных и определения процедур их инициализации;

PREFIX: - раздел предварительных вызовов процедур сортировки и селекции объектов сети (Q-, S-, A- и P-узлов), соответствующих определениям входных данных (переменных и констант) базовых ситуаций, алгоритмов и сценарных связок, выделенных на фазе формирования модели знаний. Вызовы соответствующих функций, описанных в данном разделе, предшествуют запуску процедуры обхода модели;

NAVIGATOR: - раздел описания параметров и состава «ведущей» функции, реализующей основной цикл обхода сети;

POSTFIX: - раздел, содержащий описания операций, имеющих периодический характер и не требующих исполнения на каждом такте работы ЭСРВ;

START: - раздел, регламентирующий процедуру загрузки выбранного алгоритма реагирования.

Основные директивы SOL:

METHOD = <число> - определение одного из стандартных алгоритмов реализации вывода, заданного номером <число>;

BASE = <имя_массива> - задание базового массива номеров узлов, из которого на каждой итерации вывода будет производиться выборка номеров стартовых вершин для основного движения по сети;

NextPeak = <имя_функции> - описание нестандартной версии функции выбора отправных точек (стартовых узлов) обхода;

ITER: - метка начала описания единичной итерации (одного обхода);

END_ITER: - метка окончания описания итерации;

TRACE: - метка начала описания отдельного рекурсивного движения в пределах итерации;

END_TRACE: - метка окончания описания движения;

DIRECT = "0" | "1" - задание направления обхода для отдельного движения;

Bound = <имя_функции> - декларация нестандартной функции, определяющей условие достижения барьера в рамках одного движения;

Stop_REC = <имя_функции> - декларация нестандартной функции, определяющей локальное условие прекращения рекурсии;

Need_auxiliry = <имя_функции> - декларация пользовательской функции определения необходимости вспомогательного движения;

RELACT = <имя_функции> - определение нестандартной функции, выявляющей необходимость редакции глобальных динамических данных;

After_ACT = <имя_функции> - определение функции, загружаемой после предопределенной функции Action(), реализующей обработку каждой логически связной группы объектов сети до продолжения итерации;

WORK = <имя_функции> - декларация пользовательской функции, осуществляющей нестандартные действия внутри цикла рекурсивных вызовов для отдельного движения;

ACTOR: - метка начала описания нестандартных версий функции Action(), закрепляемых за отдельными термами сети;

END_ACTOR: - метка окончания секции ACTOR;

#<символ_операции> = <имя_функции> - декларация функции, реализующей перегрузку функции Action() для заданной операции;

EXCLUDE: <номер1, номер2, .. номерN> = <имя_функции> - описание списка номеров узлов, в которых последняя продекларированная операция реализуется нестандартно.

Все нестандартные функции могут непосредственно реализовываться на базовом ЯВУ с использованием любых предопределенных символов, а также символов, заданных ранее в самой SOL-программе пользователем.

Основными достоинствами языка SOL применительно к принятой в AIS идеологии построения ЭСРВ и организации процесса проектирования являются способность языка к описанию рекурсивных алгоритмов в виде линейных последовательностей блоков SOL-описаний, возможность определения произвольных стратегий (прямых, обратных, комбинированных, итерационных) логического вывода и гибкость языка, обусловленная наличием механизмов включения в машину вывода пользовательских функций различного назначения и деклараций типов данных.

Комплекс инструментальных средств AIS

Поддержка рассматриваемой проектной технологии AIS осуществляется одноименным комплексом инструментальных средств, обобщенная архитектура которого представлена на рис.56 (конфигурация для случая выбора языка С в качестве базового ЯВУ).

Основными входными данными для комплекса AIS являются:

- SCL-программы, описывающие все виды «рабочих» моделей знаний (т.е., все, кроме выходных – PSA-моделей, представляющих образы целевых баз знаний, адаптированных к программному окружению и алгоритмам работы машин вывода): SA (обобщенные модели предметной области), GSA (модели в терминах экспертов), MGSA (модели в терминах целевой программной системы), а также модели трансформаций (библиотеки сетевых примитивов);

- SOL-программы, описывающие алгоритмы работы машин вывода и параметры реализации целевой БЗ;

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

Дополнительными входными данными AIS могут являться:

- описания моделей знаний в нотации CGIF (семантика CGIF не может быть полностью представлена в РФСС, поэтому поддерживается только ограниченное семантическое подмножество данного стандарта);

- графические представления РФСС (в среде графического редактора, входящего в состав сервисных средств AIS);

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

Рис.56. Архитектура комплекса AIS

К выходным данным в AIS относятся:

- реализации машин вывода на ЯВУ;

- образ целевой БЗ (в бинарном виде, или, при использовании утилиты текстового экспорта – в виде ASCII-текста, который может быть перенесен в целевую среду и преобразован к окончательному требуемому виду библиотечными функциями, в т.ч. – динамически, на фазе функционирования ЭСРВ);

- реализации алгоритмов реагирования на ЯВУ (для случаев, когда данные алгоритмы изначально не описаны на ЯВУ и формируются на уровне процедурных моделей знаний в среде AIS).

Основными функциональными компонентами AIS являются:

- транслятор языка представления знаний SCL, строящий РФСС на базе SCL-спецификаций;

- транслятор языка машины вывода SOL, генерирующий реализации машин вывода на ЯВУ и результирующий образ целевой БЗ;

- транслятор CGIF, формирующий РФСС на основе CGIF-описаний;

- модули трансформации, в число которых входят:

  • модуль комлпексирования моделей знаний (предназначен для объединения заданных частных моделей в единую РФСС);

  • модуль трансформации моделей знаний (непосредственно предназначен для преобразования моделей знаний из GSA- в MGSA-форму, т.е. для приведения РФСС к терминологическому базису целевой программной системы на основе заданной исходной модели, описанной в терминах экспертов, и заданной модели трансформации - библиотеки сетевых примитивов; более специфичными функциями могут являться приведение произвольных РФСС к единому семантическому базису, получение процедурных моделей на основе декларативных описаний, перевода с одного формального языка на другой и т.п.);

- генератор РФСС на базе текстов программ на ЯВУ;

- генератор текстов программ на ЯВУ на базе заданных РФСС;

- сервисные средства, к числу которых относятся:

  • графический редактор РФСС;

  • «инспектор» моделей знаний (предназначен для таких видов анализа и коррекции РФСС, как проверка на наличие в модели противоречивых знаний, поиск «дубликатов» знаний, выбор версий подмоделей из имеющегося набора альтернатив, поглощение частных подмоделей более общими, выявление подобных по заданным признакам компонентов модели, поиск подмоделей по указанным шаблонам и т.д.);

  • утилита текстового импорта/экспорта РФСС;

  • анализатор интегральных временных характеристик ЭСРВ для заданных модели БЗ и алгоритма работы машины вывода.

В целом, технология AIS реализует оригинальный подход к синтезу встроенных ЭСРВ, хорошо согласующийся с общей проблематикой проектирования интеллектуальных АСУТП и АСУП.