
- •«Технологии искусственного интеллекта в асутп»
- •Оглавление
- •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
- •Приложений асутп
- •Управление
- •Производством
- •Управление
- •Процессом
- •Управление
- •Оборудованием
- •Бд асутп
- •Список литературы
3.1.3.1. Язык представления знаний абис
Язык АБИС (ABIS), разработанный в ИПУ РАН, относится к классу языков логического программирования и занимает по интегральному уровню промежуточное положение между языками «среднего» и высокого уровня, совмещая в себе с одной стороны – достаточно высокую степень универсальности и абстракции, а с другой – вычислительную эффективность, способность к производительной обработке больших массивов данных и оперативному обслуживанию ввода-вывода.
Семантика языка ABIS базируется на двух теоретических основах: теории нечетких множеств и понятии дедуктивной системы.
1) Особенности дедуктивной системы, реализованной в языке abis
1.1) Общая структура системы
Дедуктивная система, реализованная в языке ABIS. состоит из базы знаний (БЗ) и базы данных (БД). БЗ состоит из множества правил вида:
Если: < условие 1 >,..., < условие n>
То: < следствие 1 >, ..., < следствие k >; достоверность
БД состоит из множества фактов, наделенных достоверностью:
(факт 1, достоверность 1).....(факт n, достоверность n).
Следует сразу отметить, что использование понятия достоверности - это отличительная черта дедуктивной системы, реализованной в языке ABIS. При наличии множества противоречивых фактов механизм достоверности позволяет построить приемлемую систему вывода. Понятие достоверности пришло из теории нечетких множеств и в приложении к языку ABIS характеризует степень уверенности в данном правиле или факте в конкретных условиях, сложившихся на текущий момент в базе знаний и базе данных. Достоверность - это числовая характеристика, которая изменяется на отрезке от 0 до 1.
Основной процесс, происходящий в дедуктивной системе (именуемый циклом вывода), - это сопоставление фактов, имеющихся в БД. с некими образцами или шаблонами сопоставления, присутствующими в условиях правил БЗ, выявление условий, при которых наблюдается соответствие выставленным образцам, и получение на их основе в следствиях правил соответствующих выводов, в результате чего происходит пополнение (модификация) БД. Описанный цикл вывода повторяется до тех пор, пока в БД наблюдаются изменения.
Рассмотрим следующий простой пример, который позволяет лучше понять принципы работы дедуктивной системы.
Пример 1. На рис.54 представлена схема некого технологического агрегата. Ниже приведена база знаний, состоящая из шести правил П1 – П6 и база данных, содержащая первоначально три факта. При этом один из этих фактов является так называемым исходным событием, обнаружение которого в БД инициирует работу дедуктивной системы.
Рис.54. Технологическая схема для Примера 1.
На этом, при данном состоянии оборудования, процесс обновления базы данных дедуктивной системы прекращается. Таким образом, в рассмотренном примере исходный факт f3 порождает факты f4...f8.
1.2) Предложения языка и база данных
Основными элементами, из которых конструируются правила и факты языка ABIS, являются элементарные предложения. Каждое условие или следствие правила, а также факты базы данных являются элементарными предложениями. Объединение элементарных предложений является предложением.
В основу при выборе структуры предложений в языке ABIS-системы была положена расширенная реляционная модель данных. Базовыми понятиями этой модели являются: отношение, атрибут, домен и кортеж. Введем эти понятия на следующем простом примере. Пусть есть таблица с названием «Поставщик», состоящая из следующих столбцов: «Предприятие», «Товар», «Объем», «Единица измерения», в которой имеются две записи:
В терминах реляционных моделей данных таблица представляет собой отношение, столбцы - атрибуты, диапазон значений записей в столбце - домен атрибута, а вся строка таблицы целиком - кортеж отношения. Модель данных - это множество отношений:
Например, первую строку отношения «Поставщик» можно записать так:
Поставщик (Предприятие = Электростанция,
Товар = Электроэнергия,
Объем = 30,
Единица измерения = MW)
либо в краткой форме записи (опуская имена атрибутов):
Поставщик (Электростанция, электроэнергия, 30, MW).
Остановимся теперь на тех значениях, которые могут принимать атрибуты. Здесь возможны три основных варианта:
• терминальное значение;
• неопределенное (неизвестное или безразличное) значение;
• ссылка на дочерний кортеж одного из отношении модели данных.
В рассмотренном выше примере отношения «Поставщик» все приведенные значения атрибутов являются терминальными. Но если рассмотреть такой факт: «Имеется какое-то предприятие, производящее 100 MW электроэнергии», то для его представления потребовался бы кортеж отношения «Поставщик» следующего вида:
Поставщик (_ , электроэнергия, 30, MW).
Здесь в качестве значения атрибута «Предприятие» используется символ «_», представляющий неопределенное значение.
Представим теперь другой случай. Пусть «Товар», производимый предприятиями, нельзя описать одним терминальным значением, и требуется ввести отношение «Товар», например, следующего вида:
В этом случае факт:
«Металлургический завод в декабре произвел 10 тыс. тонн проката и отгрузил его по железной дороге» можно записать в следующем виде:
Поставщик (Металлургический завод,
Товар (прокат, декабрь, железная дорога), 10. тыс. тонн)
Здесь значением атрибута «Товар» отношения «Поставщик» является прямая запись соответствующего кортежа отношения «Товар», которая в терминологии ABIS-системы называется ссылкой, поскольку во внутреннем представлении (после компиляции) она действительно преобразуется в адресную ссылку. В правилах языка ABIS конструкции вида:
также называются предложениями. Однако предложений, в которых допускаются только три типа значений атрибутов (терминальное, неопределенное и ссылка) оказывается недостаточно для описания базы знаний. Рассмотрим следующий пример. Пусть, помимо уже введенного отношения «Поставщик» имеется отношение «Потребитель» с теми же именами атрибутов: «Предприятие», «Товар», «Объем» и «Единица измерения». Тогда правило
«Если: имеется потребитель какого-либо товара, то: должен быть и поставщик этого товара»
можно записать только, явно указав и у поставщика и у потребителя, что речь идет об одном и том же товаре. Это позволяет сделать механизм переменных:
Если : потребитель (_, _Т, _, _)
То: поставщик (_, _Т} _, _).
Здесь наличие одной переменной «_Т» в левой и правой частях правила говорит о том. что речь идет об одном товаре. Таким образом, в правилах базы знаний допускается использовать также переменные в качестве значений атрибутов.
При работе дедуктивной системы основной процедурой является сопоставление фактов базы данных и условных частей правил базы знаний. После того, как определена модель данных с помощью отношений, процесс сопоставления сводится к тому, что если в условной части правила имеется кортеж отношения R, то это правило может успешно сопоставиться только с фактами, являющимися кортежами отношения R, причем сопоставление должно вестись поатрибутно. Процесс сопоставления кортежей факта и правила называется согласованием. Ниже в таблице приведены результаты согласования для разных типов атрибутов факта и правила, реализованного в языке ABIS. Успешное согласование обозначено через 1, а неуспешное – через 0.
Для повышения быстродействия работы системы база данных разбивается на множества, называемые наборами фактов (factset), таким образом, что в процедуре согласования каждого предложения и правила с фактами базы данных участвуют только факты из одного набора. Процесс рационального разбиения базы данных на множества возлагается на программиста.