- •«Технологии искусственного интеллекта в асутп»
- •Оглавление
- •1. Сферы применения экспертных систем реального времени (эсрв) в задачах асутп 6
- •2. Промышленные внедрения эсрв в асутп 18
- •3. Инструментальные средства синтеза эсрв 134
- •Список сокращений
- •1. Сферы применения экспертных систем реального времени (эсрв) в задачах асутп
- •2. Промышленные внедрения эсрв в асутп
- •2.1. Микро-эсрв интеллектуальных оконечных устройств
- •Полевая шина
- •2.2. Применение эсрв в контроллерном слое асутп
- •2.2.1. Мини-эсрв в контроллерах фирмы Fisher-Rosemount
- •2.3. Эсрв верхнего уровня асутп
- •2.3.1. Система свбу
- •2.3.2. Система спек
- •2.3.3. Система «компакс»
- •4. Модуль базы данных выполняет функции:
- •Модуль формирования отчетов по состояниям Агрегатов и Планированию ремонтов
- •2.4. Использование эсрв в комплексных решениях
- •2.4.1. Решения корпорации Siemens
- •2.4.2. Концепции Plant Intelligence корпорации Wonderware
- •2.4.3. Модели Plant Intelligence и ipm корпорации ge Fanuc
- •2.4.4. Комплексные решения Emerson
- •3. Инструментальные средства синтеза эсрв
- •3.1. Среды разработки и эксплуатации эсрв
- •3.1.1. Платформа g2
- •3.1.2. Система sdb
- •3.1.3. Инструментальная среда «оператор»
- •3.1.3.1. Язык представления знаний абис
- •1) Особенности дедуктивной системы, реализованной в языке abis
- •1.1) Общая структура системы
- •1.2) Предложения языка и база данных
- •1.3) Управление работой дедуктивной системы
- •1.4) Метод согласования
- •2) Структура языка abis
- •2.1) Базовые типы данных
- •2.2) Правила
- •2.3) Структура программы на языке abis
- •3) Логика выполнения программы на языке abis
- •3.1) Выполнение программы на уровне модулей
- •3.2) Выполнение программы на уровне правил
- •3.3) Обработка условия
- •3.4) Текущая достоверность
- •3.5) Обработка следствия правила
- •3.6) Выполнение оператора согласования в условии правила
- •3.6.1) Выполнение оператора согласования без квантора или с квантором all.
- •3.7) Особенности использования переменных при обработке правила
- •3.2. Разработка эсрв на базе универсальных языков высокого уровня
- •3.2.1. Инструментальный комплекс ais
- •Заключение
- •Управление предприятием Сервер бд асуп Сервер приложений эс а6
- •Мини-эсрв а2
- •Управление
- •Производством
- •Управление
- •Процессом
- •Управление
- •Оборудованием
- •Клиент эсрв а2
- •Клиент эсрв а4
- •Сервер приложений эсрв а4
- •Клиент эсрв а4
- •Эсрв а3
- •Микро-эсрв а1
- •Бд асутп
- •Сервер бд асуп Управление предприятием Координатор-агент а2 Координатор-агент а2
- •Агент а1
- •Агент а1
- •Агент а1
- •Координатор-агент а1
- •Агент а2
- •Координатор- агент а1
- •Агент а1
- •Шлюзовой агент а2
- •Агент а2
- •Агент а2
- •Приложений асуп
- •Агент коммуни-каций а1
- •Приложений асутп
- •Управление
- •Производством
- •Управление
- •Процессом
- •Управление
- •Оборудованием
- •Бд асутп
- •Список литературы
1.3) Управление работой дедуктивной системы
Весь процесс управления сводится к выбору правила базы знаний, которое в данный момент должно согласовываться с фактами из выбранных множеств. Для этой цели правила в языке ABIS разбиваются на группы, называемые модулями (module). Внутри модуля правила обрабатываются последовательно, если не встречается явных указаний либо на выход из обрабатываемого модуля и возврат к модулю, вызвавшему обрабатываемый, либо на выход из обрабатываемого модуля и переход к обработке другого модуля, либо на переход к указанному правилу обрабатываемого модуля.
1.4) Метод согласования
Как отмечалось выше, одним из важных компонентов правил и фактов в языке ABIS, с помощью которого осуществляется процесс логического вывода и пополнения базы данных, является достоверность. При исходной подготовке базы знаний и базы данных достоверность - субъективная, экспертная характеристика. В процессе функционирования дедуктивной системы для работы с механизмом достоверности используется развитие аппарата нечетких множеств, получившее название метод согласования. Изложим кратко его особенности.
2) Структура языка abis
2.1) Базовые типы данных
Язык ABIS является строго типизированным: все атрибуты в тексте ABIS-программы могут принимать значения только того типа, который был задан при определении соответствующего отношения. При несовпадении типов следует явно воспользоваться соответствующей функцией преобразования типов.
К базовым типам данных относятся целые числа (int. long), числа с плавающей точкой (float), строковые константы (string), имена (name), логические величины (log), ссылки на кортежи (ref).
Целые (десятичные) константы (тип int) состоят из цифр 0-9 и принимают значения в диапазоне 16- или 32-разрядного представления целых чисел, в зависимости от используемой операционной системы.
Длинные (десятичные) целые константы (тип long) явно определяются латинской буквой 1 или L, стоящей после константы и принимают значения в диапазоне 32 разрядного представления целых чисел.
Константа с плавающей точкой (тип float) всегда представляется числом с плавающей точкой двойной точности, т.е. как имеющая тип double в языке С.
Строковые константы (тип string) представляют собой строки символов кода ASCII, заключенные в кавычки: "...".
Строки-идентификаторы (тип name) представляют собой те же строковые константы, но записываемые без кавычек. Этот тип данных при использовании несет с собой повышенную вероятность ошибки, т.к. значения строк-идентификаторов не должны совпадать с именами переменных, ключевыми словами и зарезервированными идентификаторами.
Булевы константы (тип log) принимают два значения: FAIL (синоним FALSE) И SUCCESS (синоним TRUE).
Ссылки (тип ref) представляют собой кортежи отношений, включенные в другие кортежи в форме значений определенных атрибутов. Данные этого типа предназначены для организации фактов в виде деревьев из кортежей отношений.
2.2) Правила
Основной активной единицей языка являются правила, которые имеют следующий формат:
IF
левый список предложений THEN
правый список предложений; [достоверность]
где достоверность - это константа плавающего типа в диапазоне от 0.0 до 1.0; если она опущена, то принимается максимальное значение 1.0; списки предложений - это последовательность предложений языка, разделенных запятыми.
Левый список предложений называется условием правила, а правый список предложений - следствием правила.
Предложения в правилах бывают следующих типов:
• оператор согласования фактов;
• оператор порождения фактов;
• оператор присваивания;
• логическое выражение;
• операторы управления;
• процедуры.
Большая часть типов предложений может использоваться как в условии, так и в следствии правила. Исключение составляют только логические выражения, которые в следствии правила не имеют смысла, а также операторы согласования и порождения фактов. Оператор согласования всегда стоит в условии правила, оператор порождения - всегда в следствии: в некоторых случаях они могут иметь совершенно одинаковую форму записи.
Операторы языка ABIS синтаксически и по выполняемым действиям разделяются на операторы присваивания, управления, операторы согласования и порождения, и оператор вызова модуля.
Оператор присваивания заключается в присваивании переменной терминального или неопределенного значения.
Операторы управления try, stop, exit, continue, break предназначены для управления порядком выполнения программы: модулей, правил и предложений в правиле. По стандартной схеме (по умолчанию) система выполняет правило, пока в рабочей области обнаруживаются еще необработанные комбинации фактов, и пытается выполнить модуль, пока он порождает новые (или хотя бы более достоверные) факты.
Операторы stop, exit и break прекращают выполнение для всей программы, модуля или правила соответственно. Оператор continue, напротив, принуждает систему выполнять следующим определенное правило модуля, независимо от предыдущих попыток. Оператор continue с параметром - это аналог оператора типа goto с вычисляемой точкой перехода. Оператор try указывает, какой модуль надо выполнить и какие аргументы надо ему передать. Все операторы управления, кроме try, можно использовать без аргументов.
Операторы согласования и порождения синтаксически очень похожи (только при согласовании можно указывать кванторы: ALL, ANY, NOT, которые бессмысленны при создании нового факта), но их действие (поиск факта для согласования или создание нового факта) зависит от положения в правиле: в условии или в следствии. Элементы, составляющие эти операторы разделяются пробелами.
