Научная статья на тему 'Многоязыковые возможности среды многоагентного моделирования Repast Simphony'

Многоязыковые возможности среды многоагентного моделирования Repast Simphony Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
408
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АГЕНТНАЯ МОДЕЛЬ / АГЕНТНОЕ МОДЕЛИРОВАНИЕ / REPAST SIMPHONY / OPEN SOURCE / AGENT BASE MODELING / AGENT-BASED MODEL / REPAST

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Тымчук Дмитрий Александрович, Свечкарев Валерий Петрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Capabilities of multi-agent modelling toolset Repast Simphony

The article discusses a tool for development, simulation and analysis of multi-agent models Repast Simphony. The research of both: the instrument and development process. Briefly describes the most interesting additional features of the runtime environment in Repast.

Текст научной работы на тему «Многоязыковые возможности среды многоагентного моделирования Repast Simphony»

Многоязыковые возможности среды многоагентного моделирования Repast Symphony

Д.А. Тымчук, В.П. Свечкарев

Стремительное проникновение методологии многоагентного моделирования в различные отрасли научного знания столь же стремительно расширяет круг специалистов, использующих методологию для проведения исследований. В последние годы наблюдается значительный интерес к многоагентному моделированию и у российских ученых [1-3]. Среди других важных при освоении новой методологии вопросов отметим для себя и рассмотрим далее в настоящей статье проблему выбора программной среды для многоагентного моделирования. На данный момент существует несколько продуктов для многоагентного моделирования с различными вариантами распространения и лицензирования. Но среди всего этого многообразия, есть очень гибкий инструмент, в основу ко -торого изначально было заложена возможность его использования исследователями с разным уровнем подготовки и знаний - Repast. Имеются и соответствующие примеры проведения исследований в данной среде и в России (например, [4, 5])

В начале 2000-х в университете Чикаго исследователями и разработчиками Sallach, Collier и др. [6] был разработан пакет Repast 3 - семейство библиотек для многоагентного моделирования: Repast J основано на JAVA, Reapast .NET как видно из названия базируется на C# и NQP (подмножество языка Python) и является основой для Reapst Py. Эти библиотеки распространяются под лицензией «new BSD» (Berkley Software Distribution). В дальнейшем эти разработки были расширены и улучшены Национальной Лабораторией Аргон (Argonne National Laboratory). Так как Repast распространяется под лицензией открытого исходного кода, в его разработке участвует несколько университетов, организаций и просто заинтересованные специалисты.

В последствие, основываясь на опыте эксплуатирования этих трёх библиотек, был создан Repast Simphony (RS). Он был переписан заново и использу-

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

Сообщество Repast Simphony с каждым годом набирает обороты, что особенно видно в последние годы (выпущена новая версия, участие в летней школе Google с моделями, написанными на Repast и т.д.). Вот лишь несколько наиболее интересных вариантов промышленного применения RS в разных областях исследований.

Лаборатория изучения виртуального рынка является крупномасштабной моделью рынков потребления, построенной в сотрудничестве Национальной Лабораторией Аргон и корпорацией Procter & Gamble (P&G). Она представляет покупательское поведение потребителей, бизнеса розничной торговли и производителей в симулированном национальном рынке. Аргон и P&G успешно ска-либровали, верифицировали и подтвердили результаты многоагентной модели. В ней было задействовано огромное количество реальных данных, по которым были проведено более 60-ти модульных тестов для подтверждения модели на истории. В последствие P&G использует модель для принятия управленческих решений в сложных ситуация для уменьшения финансовых потерь [7].

Мониторинг, анализ и диагностика распределённых процессов в много-агентных системах (MADCABS). Эта модель создавалась для изучения процессов и контроля в сложных сетях. MADCABS использовался в многих разработках и исследованиях для изучения эффективности персептрон-ориентированного обучения для изучения процессов сетей распределённых химических реакций [8].

Модель транспорта на водороде для Лос-Анджелеса, Калифорния. Эта модель построена на базе ГИС, где основные агенты - водители и инвесторы. Построена модель всего трафика, видов распределение видов транспорта, дос-

татка водителей, количества заправок и т.п. Модель позволяет выстраивать сценарий для водородных заправок и просчёт инвестиций в нужные районы для их постройки [9].

Процесс построения моделей в RS

В Repast Simphony реализовано несколько вариантов создания модели:

• Java или Groovy (подмножество языка Java) проект;

• ReLogo. Язык примитивов агентного моделирования;

• Блок-схемы.

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

Repast Simphony состоит из двух частей: среда разработки и среда моделирования и анализа. Среда разработки Repast построена на базе Eclipse - популярной свободной интегрированной среды разработки модульных кроссплат-форменных приложений. Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить его своими модулями. На данный момент существует огромное количество готовых модулей, которые существенно облегчают написание программ, их тестирование, отладку, совместную работу и т.п. Также существуют модули для работы с GIS, базами данных, математическими вычислениями. Eclipse является платформо-независимой и может быть запущена практически в любой операционной системе (Windows, OSX, Linux).

Самый простой способ описания модели - это блок-схемы (см.рис.1). Он не требует от исследователя знания языков программирования или каких-то специальных умений. Но построить серьёзную модель, используя только этот метод, не получится. Он скорее подходит для создания прототипов или быстрой проверке идей.

tjaf®- 9 fi&OOG

»^(MWotKi

Li

i 'j Hliwf

ф Hin

£ End

ПоЫмп* Ji»ail(M _ № darum SconKit О brorlog ' ■■-.«"яг в'

Мер L 1>р» InШ CffmnHM ПИЛ Otunfc« iiui Taik,

■Игр.' 1фг ih*

Sirp 1 T»pr in Тик. Still t

Siep Tipe in Тай. Step 2 'ОриучП

ilrp 1 Tre* in Тай ii« I ЮдМячи

5lrp Ь Ttp« m Tabk Игр 4 lOpCionali

Sitp 7 Tip« in Talk. Slip S lOpoeAaD

th4*4tl9t

»lift «ДО huliuni

paniWnhMüiiHurnafti - ctfl.ftcPMnrü "члСоит - csif wirU

Рисунок 1 - Блок-схема Repast Simphony

Следующим достаточно мощным средством создания моделей является ReLogo. Это обёртка библиотеки RS в семантический простой, но мощный пакет. С его помощью исследователь может быстро создать симуляцию, которая в дальнейшем очень просто может быть масштабирована. К тому же, в академических кругах в процессе обучения часто используется инструмент NetLogo [10], так что в дальнейшем обучающиеся очень просто смогут перейти к использованию промышленного инструмента при необходимости. ReLogo использует те же примитивы, что и в NetLogo: черепашки, связи, обозреватели и пат-чи. Код, написанный на ReLogo, в последствие генерирует Java код в читаемом виде.

Процесс запуска эксперимента и работа с данными

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

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

Работа с многоагентной моделью подразумевает под собой также наглядный анализ данных в виде визуальной репрезентации. Для этого в Repast Simphony встроены 2D и 3D системы визуализации, причём 3D может тесно интегрироваться с ГИС. Обе системы могут задействовать OpenGL - плат-формонезависимую библиотеку для работы с графикой. В качестве примера на рис.2 представлена в среде моделирования и анализа трёхмерная модель Земли.

Рисунок 2 - Трёхмерная модель Земли

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

Дополнительные модули и приложения

Как писалось выше, модульная архитектура Repast Simphony и достаточно либеральная лицензия позволяет использовать огромное количество дополнительных приложений. Некоторые из них интегрированы в запускаемый интерфейс. В частности: JUNG (Java Universal Network/Graph Framework) - аналитическая система графов (сетей) и JoSQL - использование SQL для объектов Java. С помощью этого механизма, можно производить SQL запросы во время паузы модели. Это существенно упрощает возможности всевозможные возможности выборок.

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

Литература:

1. Макаров, В.Л. Социальное моделирование - новый компьютерный прорыв (агент-ориентированные модели) / В. Л. Макаров, А.Р. Бахтизин. - М.: Экономика, 2013. - 295 с.

2. Современная практика социального моделирования конфликтных процессов /Под ред. Розина М.Д. - Р/Д: Изд-во СКНЦВШ ЮФУ, 2010. - 120 с.

3. Современная практика моделирования этносоциокультурной конфликтности на Юге России /Под ред. М.Д. Розина. /Авторы: Иванова М.И.,

Клаус Н.Г., Литвинов С.В., Мощенко И.Н., Носко В.И., Розин М.Д., Свечкарев В.П., Сущий С.Я., Тымчук Д.А., Угольницкий Г.А.- Р/Д: Изд-во СКНЦВШ ЮФУ, 2012. - 160 с.

4. Свечкарев, В.П., Тымчук, Д. А. Многоагентное моделирование критических социальных поведений [Электронный ресурс] // «Инженерный вестник Дона», 2010. №1. - Режим доступа: http://www.ivdon.ru/magazine/archive/n1e2010/175 (доступ свободный) - Загл. с экрана. - Яз. рус.

5. Тымчук, Д. А. Многоагентная модель социальных взаимодействий на основе групповой идентичности [Электронный ресурс] // «Инженерный вестник Дона», 2011. - №1. - Режим доступа: http://www.ivdon.ru/magazine/archive/n1y2011/402 (доступ свободный) - Загл. с экрана. - Яз. рус.

6. Collier N, Howe T, North MJ: Onward and upward: The transition to Repast 2.0. In Proceedings of the first annual North American Association for Computational Social and Organizational Science conference. Edited by Carley K. Carnegie Mellon University, Pittsburgh; 2003.

7. North MJ, Macal CM, St. Aubin J, Thimmapuram P, Bragen M, Hahn J, Karr J, Brigham N, Lacy ME, Hampton D: Multi-scale agent-based consumer market modeling. Complexity 2010, 15(5):37-47

8. Artel A, Teymour F, North MJ, Cinar A: A multi-agent approach using perceptron-based learning for robust operation of distributed chemical reactor networks. Int Sci J Eng App Artif Intell 2011, 24:1035-1045

9. Mahalik, M., G. Conzelmann, C. Stephan, M. Mintz, T. Veselka, G. Tolley, and D. Jones, Transition to Hydrogen Transportation Economy , Poster presentation at the National Hydrogen Association Annual Conference: Ramping up Commercialization, Sacramento, CA (March 30 - April 3, 2008).

10. Клаус Н.Г., Свечкарев В.П. Многоагентное моделирование конфликтных ситуаций: Учебное пособие. - Ростов-на-Дону: Изд-во СКНЦ ВШ ЮФУ, 2012. - 124 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.