Распределенная адаптивная модель прогнозирования изменения параметров технологических систем

УДК 004.94

В.Н. Богатиков, И.Е. Кириллов, И.Н. Морозов

Институт информатики и математического моделирования Кольского НЦ РАН,

Кольский филиал ПетрГУ

РАСПРЕДЕЛЕННАЯ АДАПТИВНАЯ МОДЕЛЬ ПРОГНОЗИРОВАНИЯ ИЗМЕНЕНИЯ ПАРАМЕТРОВ ТЕХНОЛОГИЧЕСКИХ СИСТЕМ

Аннотация

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

Ключевые слова:

имитационное моделирование, агентные системы, нейросети.

V.N. Bogatikov, I.E. Kirillov, I.N. Morozov

DISTRIBUTED ADAPTIVE MODEL FOR FORECASTING OF CHANGE OF TECHNOLOGICAL SYSTEMC PARAMETERS

Abstract

This article presents the description of the approach to creation of a distributed three-level simulation models of complex dynamic systems. Discusses the problems arising in modeling and ways of their solution.

Keywords:

simulation modeling, agent-based systems, neural networks.

Введение

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

Моделирование представляет собой один из основных методов познания, является формой отражения действительности и заключается в выяснении или воспроизведении тех или иных свойств реальных объектов, предметов и явлений с помощью других объектов, процессов, явлений, либо с помощью абстрактного описания в виде изображения, плана, карты, совокупности уравнений, алгоритмов и программ [1].

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

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

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

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

В данной статье предлагается подход, с помощью которого можно частично решить все три вышеперечисленные проблемы моделирования больших, сложных систем.

Распределенное моделирование

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

Одним из возможных подходов к решению задачи построения имитационной модели распределенных в пространстве и имеющих сложную структуру систем является подход на основе использования агентных технологий. Имитационная модель, построенная на базе агентов, позволит распределить вычислительную нагрузку на различные аппаратные единицы, являющиеся базой для функционирования агентов. Утрируя, можно сказать, что имитировать отдельный субъект, входящий в состав системы будет непосредственно агент, функционирующий в нем.

Таким образом, в качестве системы «механизмов» отвечающих за моделирование системы в целом и её субъектов в отдельности может выступать структура, вид которой представлен на рис. 1.

Рис. 1. Общая структура имитационной модели на основе агентных технологий

Данная структура состоит из программных агентов и определенного числа сенсоров, определяющих параметры субъектов системы, которые необходимо выделить в процессе декомпозиции до начала построения модели.

Сенсор каждого из субъектов, получает, тем или иным образом, входную информацию, необходимую для моделирования, и передает её агенту. Агент на основе полученной информации проводит моделирование с помощью определенного аппарата встроенного в него, и результаты моделирования передает на верхний уровень. На верхнем уровне следующий программный агент, на основе полученной информации с нижних уровней моделирует поведение всей системы в целом. В качестве дополнения следует отметить, что количество уровней выделенных в результате декомпозиции, будет зависеть от размерности самой системы, для которой строится модель.

Для моделирования любого субъекта может понадобиться ряд параметров, которые необходимо учитывать. Некоторые из них можно оценить непосредственно с помощью датчика агента, который в свою очередь будет определять состояние объекта, для определения других параметров могут понадобиться сенсоры, подключенные к объекту. Таким образом, агенты, каждого из «подобъектов» определяют их состояния (рис. 2).

Рис. 2. Структура взаимодействия агентов и сенсоров для определения состояния объекта

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

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

Рис. 3. Иерархическая структура определения и управления состояниями системы

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

На втором уровне, порождающем реактивные агенты функционируют агенты, порождаемые верхним уровнем, агенты данного типа называется рефлекторными, они управляют жизненным циклом реактивных агентов и обрабатывают информацию, полученную от них. Рефлекторные агенты не имеют внутренних источников мотивации и собственных целей, а их поведение характеризуется простейшими (одношаговыми) выводами или автоматизмами [2]. Они представляют собой граничный случай понятия когнитивного агента и могут использоваться как «вспомогательные агенты». Данные агенты способны отвечать на вопросы и выполнять задания, которые ставят перед ними другие агенты, но решение этих задач не приводит к появлению у них собственных целей. Типичными примерами таких вырожденных агентов являются системы поиска в базах данных и простейшие логические регуляторы.

На самом верхнем уровне находятся интенциональные агенты, которые являются родителями агентов второго уровня, а так же принимают основные решения для реализации целей моделирования системой. Подобные агенты наделены собственными механизмами мотивации. Это означает, что в них так или иначе моделируются внутренние убеждения, желания, намерения и мотивы, порождающие цели, которые и определяют их действия [2].

Данная структура подходит для оперативного моделирования поведения системы в целом и её подобъектов. Следует отметить, что качество результатов моделирования будет зависеть в первую очередь от аппарата моделирования интегрированного в агентов различных уровней. Таким образом, применения агентных технологий позволит распределить вычислительные мощности, для проведения численного эксперимента, а так же в режиме реального времени осуществлять сбор статистической информации непосредственно с субъектов моделирования.

Использование нейросетей как аппарата моделирования

Основной задачей имитационного моделирования является

прогнозирование изменения различных параметров системы или объекта, для которых строится модель. На сегодняшний день существует огромное количество различных методов прогнозирования, их классификация приведена на рис. 4.

---Поисковые прогнозы---- ------------------- Нормативные прогнозы

Рис. 4. Классификация методов прогнозирования

В большинстве случаев в агенте определенного уровня, в зависимости от структуры системы управления можно реализовать многие из известных методов, за исключением методов, при применении которых необходимо участие эксперта, но при этом возникает ряд сложностей с программной реализацией методов и с их точностью. Основной недостаток при применении большинства методов прогнозирования связан с их «статичностью» по отношению к динамически изменяющимся системам.

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

Достоинством использования нейросетей как механизмов прогнозирования является гибкость их структуры и способность к самообучению, что позволяет приспосабливаться к изменениям, происходящим в системе для которой производится прогноз.

Различают многошаговый и одношаговый прогноз.

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

Одношаговым прогнозированием называют краткосрочный прогноз (на один шаг), при этом для получения прогнозированной величины используют только фактические данные. Ясно, что одношаговое прогнозирование более точно, но оно не позволяет выполнять долгосрочные прогнозы.

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

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

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

Проектирование системы моделирования на основе агентов

При проектировании системы моделирования описанной выше затруднительно обойтись без применения специфического программного обеспечения, предназначенного для проектирования. Применение подобного программного обеспечения объясняется рядом причин, которые затрудняют и замедляют разработку ПО:

1. Сложность и неоднородность, рассматриваемой предметной области.

2. Выполнение средой большого объема задач, и как следствие сложность самого ПО.

3. Большой объем программного кода, и как следование необходимость продолжительного времени затраченного на разработку.

4. Необходимость хранения большого объема информации.

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

В качестве подобного средства разработки может быть выбрана среда RationalRose, поддерживающая нотацию UML.

Язык UML (универсальный язык моделирования), предназначен для описания моделей, на основе которых есть возможность автоматической генерации программного кода [3].

UML не зависит от объектно-ориентированных языков программирования, поскольку может поддерживать большинство из них, в частности С++, Си, Pascal и т.д. Этот язык не зависит от используемой методологии разработки проекта.

Созданные на UML диаграммы позволяют существенно упростить действия всех разработчиков за счет своей простоты и наглядности, а также сократить временные затраты.

UML является открытым и обладает средствами расширения базового ядра. На UML можно содержательно описывать классы, объекты и компоненты в различных предметных областях, сильно отличающихся друг от друга.

Одним из основных шагов проектирования с использованием нотации UML является построение диаграммы сценариев, которая в полной мере описывает функции выполняемые ПО. На рис. 5 приведена общая диаграмма сценариев для реализуемого программного обеспечения.

creating/deleting agent restructuring data transmission

Рис. 5. UseCase diagram программной системы

Требования, которые принимаются на данном этапе, заключаются в следующем:

1. Проведение анализа списка всех возможных операций, выполняемых системой, для последующей их реализации. Проектируемая система должна выполнять ряд основных функций:

a) заполнение БД;

b) решение задачи прогнозирования отдельных параметров элементов СПК и СПО;

c) решение задачи определения состояния элементов системы;

d) решение задачи определения состояния системы в целом;

e) решение задачи определения управляющих воздействий для перевода системы из некоторого состояния в нужное.

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

a) ввод данных;

b) вывод данных;

c) передача данных;

d) запрос решения;

e) ввод настроек;

f) выбор конфигурации.

3. Провести декомпозицию системы на отдельные объекты, которые будут выполнять функции, выделенные на предыдущем этапе, в данном случае список выделенных объектов следующий:

a) агенты первого, второго и третьего уровня;

b) администраторы соответствующих агентов.

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

Для каждого из агентов необходимо составить диаграмму использования, с целью определения их основных функций по отношению друг к другу. На рис. 6 приведена Use-case диаграмма агента верхнего уровня.

Рис. 6. Диаграмма использования агента верхнего уровня

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

1) регистрация субъекта в системе с помощью отправления заявки;

2) оценка ядром субъекта и генерация для него агента определенного типа из библиотеки шаблонов;

3) перемещение сгенерированного агента к субъекту;

4) сбор информации агентом и в зависимости от его типа:

a) передача информации на верхний уровень;

b) этап моделирования поведения субъекта, с соответствующей настройкой нейросети;

5) сохранение данных о пройденном 4 этапе;

6) удаление части агента субъекта, отвечающей за моделирование, при этом остается «подагент», ожидающий появления новых данных;

7) при появлении новых данных переход к шагу 2.

На рис. 7 приведена диаграмма состояний ядра проектируемой системы, в которой наглядно отображаются режимы работы ядра и события, которые к ним приводят. Первоначально ядро находится в режиме ожидания (standby), после того как приходит заявка от субъекта на регистрацию в системе (registration), ядро по признакам которые присутствуют в заявке, выбирает стандартный шаблон агента из библиотеки (the choice of library), создает агента и пересылает его субъекту, после чего возвращается в режим ожидания.

Если приходит новая информация от уже функционирующего агента (getting information), то выбирается вся статистическая информация по данному агенту и его функционированию за весь период его существования (getting statistics) и проводится анализ, заключающийся в оценке точности прогнозов выдаваемых агентом и общем количестве собранной информации (analyze).

Рис. 7. Диаграмма состояний ядра системы

После проведенного анализа вся новая информация записывается в базу данных (issuance of forecasts and recording in the database) при необходимости проводится модификация агента (добавление новых слоев, перенастройка и т.д. setting up the structure) и система возвращается в режим ожидания. В случае, когда от субъекта приходит заявка на отказ от регистрации (unregistration) система удаляет существующего агента (destruction of the agent) и завершает свою работу с данным субъектом.

Таким образом, система сама будет выбирать необходимые типы агентов перемещаемых к субъектам, автоматически, с появлением новых данных, проводить настройку нейросетей, входящих в состав агентов (что приводит к большей гибкости и эффективности моделирования), и в течение всего времени функционирования улучшать качество выполняемых прогнозов.

Заключение

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

ЛИТЕРАТУРА

1. Лычкина, Н.Н. Имитационное моделирование экономических процессов: учебное пособие для слушателей программы MBI / Н.Н. Лычкина. - Москва, Академия АйТи, 2005.

2. Классификация агентов. - Режим доступа: http://www.aiportal.ru/articles/multiagent-systems/agent-classification.html

3. Буч, Г., Якобсон, А., Рамбо, Дж. UML. Классика CS / Г. Буч, А. Якобсон, Дж. Рамбо.; пер. с англ. / под общ. ред. проф. С. Орлова.- 2-е изд. - СПб.: Питер, 2006. - 736 с.

Сведения об авторах

Богатиков Валерий Николаевич - д.т.н., ведущий научный сотрудник,

е-mail: vnb gtk@iimm. kolasc.net.ru

Valery N. Bogatikov -Dr. of Sci. (Tech.), leading researcher

Кириллов Иван Евгеньевич - к.т.н., младший научный сотрудник, е-mail: kirillovi@rambler.ru

Ivan E. Kirillov - Ph.D. (Tech. Sci.), junior researcher

Морозов Иван Николаевич - к.т.н., младший научный сотрудник, е-mail: moroz. 84@mail.ru

Ivan N. Morozov - Ph.D. (Tech. Sci.), junior researcher

УДК 681.5

12 3

В.В. Белош , В.Н. Богатиков , Т.А. Фильчакова ,

1 Чистопольский филиал Казанского национального и исследовательского технического университета им. А.Н. Туполева

2 Институт информатики и математического моделирования Кольского НЦ РАН,

Кольский филиал ПетрГУ

3 Санкт-Петербургский государственный университет аэрокосмического приборостроения

ПОСТРОЕНИЕ СИСТЕМ ДИАГНОСТИКИ И УПРАВЛЕНИЯ ТЕХНОЛОГИЧЕСКОЙ БЕЗОПАСНОСТЬЮ В НЕЙРОСЕТЕВОМ БАЗИСЕ

Аннотация

Рассматривается структурная реализация системы диагностики состояний в нейросетевом базисе. Предлагается методика определения центра безопасности на основе решения задачи линейного программирования. Ключевые слова:

оценка состояния, нечеткая логика, нейроматематика.

V.V. Belosh, V.N. Bogatikov, T.A. Filchakova

CONSTRUCTION OF DIAGNOSTIC AND CONTROL SYSTEMS FOR THE TECHNOLOGICAL SAFETY IN THE NEURONETWORK BASIS

Abstract

A structural implementation of the diagnostic system for the states in the neuronetwork basis is considered. Methods based on the solution of the linear programming task are proposed to determine the safety center.

Keywords:

state estimation, fuzzy logic, neuromathematics.

Методологические принципы построения системы диагностики состояний и управления технологической безопасностью, основываются на дискретных математических моделях, являющихся ядром системы диагностики состояний [1].

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

Определение области и центра технологической безопасности на основе метода линейного программирования

Формирование области безопасности

Основной задачей промышленных систем диагностики является своевременное обнаружение нарушений, которые приводят к внештатным ситуациям. Для того чтобы иметь возможность выявить возможное нарушение еще на ранней стадии его развития, необходима количественная оценка технологической безопасности. В работе рассматривается методика количественной оценки технологической безопасности на основе математического аппарата теoрии множеств.

Процесс функционирования любой системы можно рассматривать как последовательную схему смены ее состояний на некотором интервале времени (to, tk). Состояние системы в каждый момент времени t из этого интервала