Научный журнал
Современные наукоемкие технологии
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

ПРИМЕНЕНИЕ СРЕДСТВ MATLAB SIMULINK STATEFLOW ДЛЯ СОЗДАНИЯ АВТОНОМНОЙ МОДЕЛИ ИНТЕЛЛЕКТУАЛЬНОГО АГЕНТА

Кузнецов С.Г. 1 Клебанов Б.И. 1
1 ФГАОУ ВПО «Уральский федеральный университет им. первого Президента России Б.Н. Ельцина»
Одним из перспективных направлений цифровой экономики является применение имитационных моделей для определения и обоснования направлений развития территориальных образований (ТО) – городов, регионов, отдельных населенных пунктов. В статье рассматривается возможность использования модели гибридного автомата в среде Simulink Stateflow для описания и имитации процессов поведения и развития агентов, обладающих в заданной среде определенными наборами потребностей, ресурсов и средств их реализации. С целью проведения исследований разработан тестовый пример, в котором заданы модели пространства, динамических источников энергии, агентов, реализующих потребности в энергии и отдыхе. Модель агента включает следующие компоненты: эффектор передвижения, видеорецептор, генератор энергии и систему управления. Модели поведения всех компонентов и источников энергии представлены гибридными автоматами, которые задаются графами переходов между состояниями. Каждое состояние определяется своим набором параллельных непрерывных процессов. На основе результатов тестового моделирования определено, что применение средств MATLAB Simulink Stateflow повышает качество и сокращает сроки разработки моделей территориальных образований, основанных на динамических моделях непрерывно-дискретных автоматов. Продемонстрирована возможность разработки автономного, независимого от среды, приложения для моделирования процессов развития ТО с помощью средств MATLAB Compiler и MATLAB App Designer. Создание консольного приложения-обёртки, реализующего механизм обмена данными в формате JSON, показало возможность стыковки разработанной модели с другими системами моделирования поведения агентов и системами принятия решений.
гибридный автомат
MATLAB Simulink
Stateflow диаграмма
MATLAB Compiler
MATLAB App Designer
JSON
1. Клебанов Б.И. О перспективах применения имитационного моделирования в процессе стратегического планирования и развития (трансформации) «умных» городов // Девятая всероссийская научно-практическая конференция по имитационному моделированию и его применению в науке и промышленности. Труды конференции. 2019. С. 139–145. [Электронный ресурс]. URL: https://www.elibrary.ru/item.asp?id=41462114 (дата обращения: 15.05.2021).
2. Priority Challenges for Social and Behavioral Research and Its Modeling. Paul K. Davis, Angela O’Mahony, Timothy R. Gulden, Osonde A. Osoba, Katharine Sieck. [Electronic resource]. URL: https://www.rand.org/pubs/research_reports/RR2208.html (date of access: 15.05.2021).
3. Макаров В.Л., Бахтизин А.Р. Социальное моделирование – новый компьютерный прорыв (агент-ориентированные модели). М.: Экономика, 2013.
4. Смирнов А.В., Кашевник А.М., Пономарев А.В., Савосин С.В. Онтологический подход к организации взаимодействия сервисов интеллектуального пространства при управлении гибридными системами // Интеллектуальные системы и технологии. 2014. № 04. С. 42–51. [Электронный ресурс]. URL: http://www.isa.ru/aidt/images/documents/2014-04/42_51.pdf (дата обращения: 15.05.2021).
5. Клебанов Б.И., Антропов Т.В. Применение модели гибридного автомата для формализации поведения интеллектуальных агентов // Современные наукоемкие технологии. 2019. № 4. С. 32–35.
6. AnyDynamics – высокопроизводительная среда для создания и отладки интерактивных многокомпонентных математических моделей сложных динамических систем [Электронный ресурс]. URL: https://www.mvstudium.com/intro.htm (дата обращения: 15.05.2021).
7. Клебанов Б.И., Антропов Т.В. Учет ментальных свойств интеллектуальных агентов в модели гибридного автомата // Современные наукоемкие технологии. 2019. № 6. С. 66–70.
8. Сирота А.А., Гончаров Н.И. Исследование конфликта коалиций систем с использованием формализма гибридных автоматов // Вестник Воронежского государственного университета. 2017. [Электронный ресурс]. URL: http://www.vestnik.vsu.ru/pdf/analiz/2017/04/2017-04-08.pdf (дата обращения: 15.05.2021).
9. Разверните симуляцию App Designer с Simulink Compiler. [Электронный ресурс]. URL: https://docs.exponenta.ru/slcompiler/ug/deploy-a-simulation-with-simulink-compiler.html (дата обращения: 15.05.2021).

Одним из перспективных направлений цифровой экономики является применение имитационных моделей и цифровых двойников для определения и обоснования направлений развития территориальных образований (ТО) – городов, регионов, отдельных населенных пунктов [1]. Процессы развития территориального образования характеризуются стохастическим характером и нелинейностью, структурной динамикой, большим количеством взаимозависимых систем и обратных связей объектов среды. В этих условиях создание цифровых двойников ТО сталкивается со следующими проблемами [2, 3]: фрагментация научных исследований по отраслям знаний; чисто аналитические модели подходят к своему пределу сложности; композиция ранее разработанных моделей очень сложна; слабый учет в существующих моделях индивидуальных свойств, связей, поведения отдельных личностей и их влияния на общество; создание и корректировка моделей требуют использования языков программирования, что резко повышает трудоемкость создания модели и вероятность ее несоответствия замыслу эксперта; создание моделей развития общества требует участия экспертов из разных отраслей знаний: экономики, социологии, информатики, психологии и др.

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

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

Материалы и методы исследования

В качестве теоретической основы создания такой библиотеки предложена математическая модель расширенного гибридного (непрерывно-дискретного) автомата [4, 5], на основе которой определяются динамические модели поведения и жизненные циклы объектов действительности, как активных, так и пассивных, а также их компонент. Предполагается, что использование данной модели позволит: исключить или резко уменьшить участие программистов в процессе разработки моделей, использовать для создания моделей графические нотации; обеспечить модульность при разработке модели и учет индивидуальных потребностей, способностей и поведения активных агентов ТО. К числу основных инструментальных сред, поддерживающих определение и динамическое моделирование гибридных автоматов, относятся: Modelica Standard Library, AnyDinamiks [6], а также сочетание систем Simulink и StateFlow, входящих в состав Matlab.

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

Для задания модели поведения агента и других динамических объектов в среде Simulink MATLAB может быть использован высокоуровневый графический язык Stateflow. На этом языке определяются диаграммы переходов состояний, блок-схемы, таблицы переходов состояний и таблицы истинности и, таким образом, реакция моделируемого объекта на входные сигналы, события, в результате которых могут меняться структура и параметры действующих непрерывных процессов [8].

Пространство жизни агентов задаётся матрицей A размерности m*n. Число в ячейке aij матрицы определяет объем энергии, который может получить агент от находящегося в данной точке источника энергии. Источники энергии представлены моделями гибридных автоматов, каждый из которых имеет свою скорость увеличения и снижения объёма энергии в ячейке в рамках своего жизненного цикла (аналог периодически возрождающегося и погибающего растения).

Модель агента включает в себя следующие компоненты (рис. 1): система управления; видеорецептор; эффектор передвижения; генератор энергии. Все компоненты агента представлены гибридными автоматами с определенными состояниями, входными и выходными переменными.

missing image file

Рис. 1. Тестовая модель многокомпонентного агента

Входными сигналами эффектора передвижения являются: показания счётчика для синхронизации сигналов (counter), сигнал от системы управления о необходимости перемещения (move), количество энергии от генератора (energy_in), координаты, в которые необходимо переместиться (target_x, target_y). В качестве выходных переменных эффектор передвижения выдаёт: текущие координаты местонахождения (x, y), сигнал о гибели эффектора передвижения (dead), сигнал о готовности эффектора передвижения к работе (ready), уровень усталости (fatigue), внутреннее количество энергии (energy), уровень старения (age), дискретное состояние (state).

Генератор энергии в качестве входных параметров принимает текущие координаты местонахождения (x, y), в качестве выходных параметров показания счётчика для синхронизации поглощения энергии (counter), количество энергии, разрешённое для потребления (energy_out), количество энергии в накопителе генератора (storage) и иные выходные параметры, аналогичные выходным параметрам в эффекторе передвижения.

Видеорецептор принимает на вход сигнал от системы управления о необходимости обнаружения энергоносителя (locate), и иные параметры, аналогичные уже описанным. На выходе видеорецептор выдаёт сигнал о нахождении энергоносителя (found) и иные параметры.

Система управления получает на вход сигналы о гибели эффектора передвижения (movement_dead), готовности эффектора передвижения к работе (movement_ready), гибели видеорецептора (video_dead), готовности видеорецептора к работе (video_found) и иные параметры. На выходе система управления выдаёт сигналы о необходимости перемещения (move), необходимости обнаружения энергоносителя видеорецептором (locate), координаты, в которые необходимо переместиться (target_x, target_y), сигнал о потребности в отдыхе (needHome) и иные параметры.

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

Алгоритм работы системы управления в режиме «Планирование» приведён на рис. 2.

missing image file

Рис. 2. Алгоритм работы системы управления в режиме «Планирование»

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

Условием перехода системы управления из состояния «Планирование» в состояние «Отдых» и обратно является уровень усталости. В состояние «Отказ» система управления попадает, когда старение достигло 100 % или когда полностью закончилась энергия.

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

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

Аналогично в модели представлены состояния и переходы видеорецептора и генератора энергии.

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

Для отладки разработанной модели используется движок MATLAB Simulink.

MATLAB является коммерческим программным продуктом, что налагает определённые ограничения на применение модели непосредственно из среды моделирования. Для создания автономных приложений и отдельных компонент может быть использовано средство MATLAB Compiler. С помощью него в рамках эксперимента было создано два самостоятельных приложения. Первое приложение с графическим интерфейсом пользователя позволяет использовать полученный прототип многокомпонентного интеллектуального гибридного автомата, как самостоятельную систему моделирования. Интерфейс пользователя (рис. 3) создан при помощи средства MATLAB App Designer [9]. Он позволяет задать начальные параметры модели и визуализировать результаты моделирования. С помощью данного интерфейса можно контролировать перемещения агентов в пространстве, собирать соответствующую статистику и определять время их жизни в пространстве в зависимости от размещения и приоритетов потребностей.

missing image file

Рис. 3. Пользовательский интерфейс приложения с графическим интерфейсом

Второе приложение представляет собой «обёртку» для разработанного прототипа многокомпонентного гибридного автомата, которая реализует механизм обмена данными с другой системой в формате JSON. Приложение «обёртка» получает данные от исполняемой модели Simulink и передаёт их в формате JSON при помощи HTTP POST запросов по заданному адресу, что позволяет экспортировать результаты моделирования в другие системы.

Заключение

В рамках проведённого исследования получены следующие результаты:

1. На основе результатов тестового моделирования определено, что применение средств MATLAB Simulink Stateflow повышает качество и сокращает сроки разработки моделей территориальных образований, основанных на динамических моделях непрерывно-дискретных автоматов

2. Продемонстрирована возможность раз- работки автономного, независимого от среды, приложения для моделирования процессов развития ТО с помощью средств MATLAB Compiler и MATLAB App Designer.

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


Библиографическая ссылка

Кузнецов С.Г., Клебанов Б.И. ПРИМЕНЕНИЕ СРЕДСТВ MATLAB SIMULINK STATEFLOW ДЛЯ СОЗДАНИЯ АВТОНОМНОЙ МОДЕЛИ ИНТЕЛЛЕКТУАЛЬНОГО АГЕНТА // Современные наукоемкие технологии. – 2021. – № 5. – С. 57-62;
URL: https://top-technologies.ru/ru/article/view?id=38658 (дата обращения: 24.04.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674