НЛТУ
ы КРАЖИ
Hl/IVB
Науковий bIch и к НЛТУУкраТни Scientific Bulletin of UNFU
http://nv.nltu.edu.ua https://doi.org/10.15421/40270636 Article received 13.09.2017 р. Article accepted 28.09.2017 р.
УДК 004.[056+832]
ISSN 1994-7836 (print) ISSN 2519-2477 (online)
[^1 Correspondence author V. M. Teslyuk [email protected]
В. М. Теслюк, А. Я. Лозинський, Т. В. Теслюк
Нацюнальний утверситет "Львiвська полтехтка", м. Львiв, Украта
ЗАСТОСУВАННЯ МУЛЬТИАГЕНТНОГО П1ДХОДУ В ПРОЦЕС1 РЕАЛ1ЗАЦН
1ГРОВО1 ПРОГРАМИ "BACTERIAL WAR"
З огляду на штенсивний розвиток мережевих iнформацiйних технологш, актуальним е розроблення методiв та 3aco6ÍB розподiленого прийняття ршення, якi Грунтуються на кшькох iнтелектуальних агентах. Проаналiзовано iMrr^mm моделi для iгрових систем, яю використовують мультиагентний пiдхiд прийняття ршень. Використання мультиагентного пiдходу для прових систем розпочалось в далекi 1960-ri роки i з кожним роком складтсть багатоагентних систем в црових та iмiта-цiйних системах збшьшувалася. Збiльшення використання мультиагентних систем сприяло створенню багатьох технологiй та стандартш, яю спрощують розробку мультиагентних систем. Описано розроблену ^рову програму "Bacterial War" та irn-тацiйну модель, яка симулюе комунiкацiю бактерiй в навколишньому середовищi. Розроблена програма використовуе ос-новнi принципи мультиагентних систем, що забезпечуе високу надiйнiсть та швидкодш системи. У процесi розроблення програми використано гомогенну модель комунжацп агентiв, що забезпечило високий ршень реагування агентiв на зовнш-m чинники. Пошук цiлей вiдбуваеться за допомогою алгоритму пошуку мiнiмального шляху А*. Надсилання шформаци мiж агентами ввдбуваеться за допомогою серверно1 частини, що забезпечуе високу швидкодiю програми. Розроблену програму написано за допомогою мови програмування Java та допотжно! бiблiотеки LibGDX, що забезпечуе використання системи на кшькох платформах.
Krnuoei слова: iмiтацiйнi системи; прийняття ршень; кооператившсть; гомогенш агенти; колонiя.
Вступ. Шдвищення продуктивностi сучасних обчис-лювальних систем, розвиток шформацшних мережевих технологiй, вдосконалення нових мультимедш та засо-бiв паралельного i розподiленого програмування - дали новий поштовх у дослiдженнi колективно! поведшки автоматiв (агентiв), розподiленого штучного штелекту, децентралiзованого керування та прийняття ршень ^и-denberg, & Levine, 1998). Системи з децентралiзованим керуванням будують на основi автономних, адаптивних до середовища агентiв (активних елементiв), яш досяга-ють системних цiлей шляхом локального обмшу шфор-мацieю та координацп дiй (Lytvyn, et а1., 2017).
Загалом агент - це певний складник системи, що ре-агуе на середовище через давачi або iншi засоби збору шформаци та дie на це середовище через актюатори та ефектори, контролери та iншi системи, за допомогою яких агент так чи шакше впливае на навколишне середовище (Lozynskyi, et а1., 2017а; 2017Ь).
Багатоагентнi системи - це системи, що використовують для розв'язання таких проблем, яш складно або неможливо вирiшити за допомогою одного агента чи монолггно! системи ^у^п, et а1., 2017). 1. Огляд наявних ¡ммацшиих моделей Мультиагентнi системи широко використовують у багатьох сферах нашого життя: логiстицi, графiцi, нав-
4aHHi, комп'ютерних irpax, iмiтацiиних моделях та ш-ших сферах. Широка сфера застосувань мультиагентних системи сприяла створенню нових засобiв розроблення цих систем. Одними з найпопуляршших е: NetLogo, VisoalBots, MASON, Repast, Jade (Lozynskyi, et al., 2017a).
1снуе безлiч симуляторiв, як1 побудованi на основi мультиагентних систем (Kravets, 2012; 2017). Для прикладу, викладач КалiфорнiИського ушверситету Chapel Hill розробив iмiтацiИну програму тд назвою "Density Sensitive Crowd Simulation", яка шюструе поведiнку на-товпу (Goldberg, 1989). Ця система призначена для виз-начення найоптимальшших пiшохiдних траекторiИ. Density Sensitive Crowd Simulation використовують тд час моделювання стадiонiв, для того, щоб створити найоптимальнiшi плани евакуацп людей, зменшити скупченiсть людей та iн. Також Chappel Hill розробив iмiтацiИну модель "Directing Crowd Simulating Usin Navigation Field", яка призначена для дослщження поведшки натовпу тд час переходу вулиць (Russel & Nor-vig, 1995). За допомогою те! iмiтацiИноl моделi розроб-ляють транспортнi розгалуження (Lozynskyi, et al., 2017b).
Одшею з перших иор, яка побудована на основi мультиагентних систем, вважають гру "Pacman" (Ni,
1нформащя про aBTopiB:
Теслюк Василь Миколайович, д-р техн. наук, професор кафедри 1СТ. Email: [email protected] Лозинський Андрш Ярославович, астрант кафедри САПР. Email: [email protected] Теслюк Тарас Васильович, астрант кафедри АСУ. Email: [email protected]
Цитування за ДСТУ: Теслюк В. М., Лозинський А. Я., Теслюк Т. В. Застосування мультиагентного пщходу в процеа реал1зацп
¡гровоТ програми "Bacterial war". Науковий вкник НЛТУ УкраТни. 2017. Вип. 27(6). С. 178-181. Citation APA: Teslyuk, V. M., Lozynskyi, A. Yа., & Teslyuk, T. V. (2017). Application of Multi-Agent Approach in the Process of Implementation of the Game Program "Bacterial War". Scientific Bulletin of UNFU, 27(6), 178-181. https://doi.org/10.15421/40270636
Heydt, & Mili, 2002). Мета гри полягае у збиранн rni в лабiринтi, при цьому n0Tpi6H0 уникати 3ycTpi4i з ворогами. Одним з основних недолiкiв ще! гри е примггив-тсть дiй агенив (воpогiв), оскшьки комунiкацiю аген-TiB не pеалiзовано (Weiss, & Sen, 1996; Wooldridge, 2002). Однiею з найновших iгpових симулятоpiв, яка використовуе принципи мультиагентних систем - е се-piя iгоp "Fifa". "Fifa" - це iмiтацiя футбольно! гри, де гравщв комунiкують м1ж собою i передають м'яч один одному, цшлю гри е забити м'яч у ворота суперника. Поpiвняно iз грою "Pacman", складнiсть мультиагентних алгоршмв в "Fifa" набагато вища, що забезпечила високий piвень комуткацл агентiв, можливiсть змiни piвнiв складност та багатьох iнших додаткових власти-востей iмiтацiйноl системи (Ni, Heydt, & Mili, 2002). Хоча i в iмiтацiйнiй модел^ яку використовують у "Fifa", е недолжи, одним з таких - е вузька сфера прийнят-тя ршень агентiв, що робить агентов примггивними та прогнозованими.
2.1. Алгоритм роботи агенпв в 1гров1й програм1 "Bacterial war"
Агент - це примггивний складник системи, що скла-даеться зi свого процесора, давачiв i т. iн. У розробле-нш пpогpамi агентами е кожна бактеpiя, яка першим кроком шукае противника i наступним надсилае отри-ману iнфоpмацiю на базу даних системи (Stone & Velo-so, 2000; Rehtanz, 2003; Jung, 2002).
У робот pеалiзовано кшька ваpiантiв агентов, кожен iз яких мае свш час реакцл та внутpiшнiй алгоритм для аналiзу ситуацл. На рис. 1 зображено загальну схему алгоритму функцюнування агентiв (Krishna, & Ramesh, 1998; Liu, et al., 1998).
Агент
Рис. 1. Схема алгоритму функцюнування агенив
Агент вщповщае за виб1р напрямку руху груп бакте-рш ввд задано! колонл. В один момент часу, колотя мо-же вибирати не бшьше одного напрямку руху (Liu, et al., 1998; Wang, Li, & Chen, 2003). У раз1 втрати або за-хоплення колонл, агент змшюе свое тдпорядкування гравцю. Час реакцл визначае, як часто агент здатний включатися, анал1зувати ситуащю та вибирати напря-мок. 1снуе три основт тдходи до реал1зацИ' дай, як ре-ал1зован1 в агентах:
1) Анал1з i пошук суперниюв, виб1р суперника. Проекту-вання маршруту перемщення до суперника, якщо вiн е досяжний (вироблення стратеги захоплення).
2) Аналiз i пошук агенив, вибiр агента, якому потрiбна допомога. Проектування маршруту перемщення до агента, якщо вш е досяжний.
3) Аналiз проектованих маршрутiв i корегування ршення. Анал1з i пошук противника вщбуваеться за допомо-
гою основних щей алгоритму А*. Алгоритм А* спершу в^щае т вершини, якi ймовiрно ведуть до найкорот-шого шляху. Аби розтзнати такi вершити, кожнш ввдо-
мiй вершинi х зютавляеться значення fx), яке дор1внюе довжит найкоротшого шляху вiд початково1 вершини до кшцево1, який пролягае через обрану вершину. Вершини з найменшим значенням f обираються в першу чергу.
Функщя fx) для вершини x визначаеться так:
fx)=g(x)+h(x), (1)
де: g(x) - функщя, значення яко1 дорiвнюе вартост шляху ввд початково1 вершини до x, h(x) - евристична функцiя, яка оцшюе вартють шляху вiд вершини x до кшцевот
2.2. Спос1б комуткацп в мультиагентн1й систем1
Розроблена програма "Bacterial war" використовуе гомогенний принцип комуткацл агентiв (Goldberg, 1989). Цей клас кооперативних МАС найкраще тдхо-дить для агентiв, як реалiзують однакову мету. На рис. 2 зображено схему функцюнування гомогенно!" мультиагентно!" системи iз властивiстю комунiкацiï мiж агентами.
Навколишне середовище
Рис. 2. Схема гомогенноï мультиагентноï системи ¡з властивю-тю комунiкацiï (Goldberg, 1989)
Агенти гомогенних МАС, з властивютю комунiкацiï, можуть надсилати сигнали напряму агенту, або зв'язу-ватись з агентом через серверну частину для покращен-ня синхронiзацiï дiй у системi з великою кшьшстю агенив (Fudenberg, & Levine, 1998). Гомогенний принцип комуткацл характеризуеться високою швидко-дiею. Висока швидкодiя забезпечуеться фшьтруванням надiсланих сигналiв. Агенти, як виконують однаковi завдання, мають певний спектр даних, який вони можуть надсилати iншому агенту, що не можна сказати про гетерогенну МАС, де агенти виконують рiзнi завдання й агенти надсилають дат про стан виконаного завдання шшим агентам, як не пристосоват до шших завдань (Fudenberg, & Levine, 1998).
Гомогенний принцип комуткацп належить до ко-оперативних МАС, а це означае, що агенти до виконан-ня завдання знають про присуттсть iнших агентов у системi та навколишньому середовишд (Ni, Heydt, & Mili, 2002). На рис. 3 зображено спошб комуткацл агентiв за допомогою серверноï частини.
Агент
Рис. 3. Схема комушкаци агентiв
Комушкащя агеипв вiдбуваeться за допомогою сер-верно! частини, а не безпосередньо надсиланням шфор-маци агенту. Цей croci6 комушкаци забезпечуе високу швидкодда, але надiйнiсть системи погiршуeться, ос-кiльки важливу роль вiдiграe серверна частина. При ви-ходi з ладу сервера - вся система перестане працювати.
3.1. Структура програми Bacterial War Розроблену програму написано за допомогою мови
Java в середовищi розробки програмного забезпечення Eclipse. Для написання програми використано бiблiоте-ку LibGDX, яку застосовують для розроблення пор пiд кiлька платформ. Загалом програма складаеться з двох основних частин:
• системи вибору i налаштування гри. Ця частина мютить головне меню, меню вибору рiвнiв, вiкно про програму, налаштування Нового процесу, звуку та швидкють.
• системи контролю iгрового поля. Ця частина мютить в себе проектування Нового поля, контролю ^ово! ме-ханiки, виконання команд вщ користувача, управлiння агентами згiдно iз "хмми алгоритмами роботи.
3.2. Алгоритм роботи програмноТ системи
У процес роботи прово! програми використано та-кий побудований алгоритм:
Крок 1. Пюля вибору рiвня гри, вiдбуваеться rniuj-алiзацiя прового поля, початкове вiдображення та rniuj-алiзацiя агентiв.
Крок 2. Пюля команди про початок гри, запус-каеться провий контролер. Вiн вщповщае за управлiння iгровою механiкою, вщрахування тiкiв та внутрiшнього часу, вщображення iгрового поля та запуск агеипв.
Крок 3. На кожному iз тiкiв перевiряеться стан кож-но! iз колонiй та група бактерш i агенти.
Крок 4. Якщо колонiя мае змодельований маршрут до шших колонiй, то формуеться та надсилаеться група бактерш по заданш дорозг
Крок 5. Якщо група бактерш долгтае до колони супротивника, то вона завдае шкоди колони. В шшому разi вона шдсилюе власну колонiю.
Крок 6. Якщо агент е вшьний, то вш аналiзуе ситу-ацiю: оцшюе сво!х супротивникiв та сусiдiв i приймае рiшення про прокладання дороги для покращення прово! ситуаци (виробляе стратегiю).
Крок 7. Пюля завершення тшу вiдбуваеться перевiр-ка балансу сил та перевiрка умови на завершення гри.
Крок 8. Промальовування розташування колонiй, дорiг та груп бактерiй на iгровому екраш.
Крок 9. Якщо гра не завершена, перехщ на крок 3.
3.3. Особливост реалiзацiт системи
На практищ доволi складно дослiджувати мульти-агентнi системи, оскiльки передбачити дн агентiв практично неможливо, оскшьки i неможливо передбачити способи комушкаци мiж агентами. Для бiльш реального дослщження систем, потрiбно використовувати iмiта-цiйнi моделi, якi напряму будуть вiдображати поведiнку агентiв у система
У роботi побудовано iмiтацiйну модель у виглядi стратепчно! ^ово! програми, яка мютить: бактерп, якi складають колони, що шукають найоптимальнiшi шляхи для захоплення вшх вершин (планет) й Нового поля.
Кожен iз ботiв аналiзуе ситуацiю на полi i синтезуе свое рiшення, яке було б випдним для захоплення наступ-но! вершини, тобто яку стратепю треба побудувати для подальшо1 колошзацл iгрового поля та як змщнити свое
перебування на вже завойованих вершинах. На рис. 4 зоб-ражено головне меню ¡\птащйно1' гри Bacterial War.
Рис. 4. Головне меню iмrгацшноl гри
Окр1м цього, в робот реал1зовано штерактивну сшв-працю м1ж ворожими колошями, якi можуть об'еднува-тись задля боротьби над сильшшим противником або
шдтримку атаки в моменти стильного нападу.
Рис. 5. Приклад функцiонування агентiв
На рис. 5 зображено приклад функцюнування аген-tîb в ^овш iмiтацiйнiй системi. Цей приклад вщобра-жае систему i3 трьома колонiями рiзних кольорiв. Кож-на з колонш - це система, надшена елементами штучного штелекту, метою якого е захопити все поле. Захоплення поля вщбуваеться шляхом надсилання на колони противника сво1х агеипв для збiльшення впливу сво1х бактерiй у заданiй колони.
Висновок
Розроблено iмiтацiйну модель, яка базуеться на мультиагентному пiдходi прийняття рiшень. Комушка-цiю агентiв реалiзовано на основi гомогенного принципу МАС. Надсилання повщомлень мiж агентами вщбу-ваеться за допомогою серверно1 частини.
Розроблено систему на основi iмiтацiйноï моделi, яка iмiтуе ди бактерiй в навколишньому середовищi. Пошук мiнiмального шляху бактерiй вiдбуваеться за допомогою алгоритму А*.
Перелж використаних джерел
Fudenberg, D., & Levine, D. K. (1998). The Theory of Learning in
Games. MIT Press, 428 p. Goldberg, D. E. (1989). Genetic Algorythms in Search. Optimization
andMashine Learning, Addison-Vesley, 235-241. Jung, J., Liu, C. C., Tanimoto, S. L., & Vittal, V. (2002). Adaptation in Load Shedding under Vulnerable Operating Conditions. IEEE Transactions on Power Systems, 17(4), 1199-1205. https://doi.org/10.1109/TPWRS.2002.805023 Kravets, P. (2012). Multyahentna ihrova model pryiniattia rishen z ko-relovanymy stratehiiamy. Kompiuterni nauky ta informatsiini tekhnolohii: Visnyk NU "Lvivska politekhnika", 744, 159-168. [in Ukrainian].
Kravets, P. (2017). Ihrova model tsentralizovanoho pryiniattia rishen problems based on ontological approach. Eastern-European Jour-v multyahentnii systemi. Inteolektualni systemy pryiniattia rishen i nal of Enterprise Technologies, 3(2), 11-17. problemy obchysliuvalnoho intelektu: tezy Mizhnar. nauk. konf., https://doi.org/10.15587/1729-4061.2017.103630
(pp. 202-163). Kherson: Zaliznyi Port. [in Ukrainian]. Ni, H., Heydt, G. T., & Mili, L. (2002). Power System Stability Krishna, V., & Ramesh, V. C. (1998). Intelligent Agents for Negoti- Agents Using Robust Wide Area Control. IEEE Transactions on ations in Market Games, Part 1: Models. IEEE Transactions on Po- Power Systems, 17(4), 1123-1131. wer Systems, 13(3), 1103-1108. https://doi.org/10.1109/59.709106 https://doi.org/10.1109/TPWRS.2002.805016
Liu, C. C., Jung, J., Heydt, G. T., Vittal, V., & Phadke, A. G. (2000). Rehtanz, C. (Ed.). (2003). Autonomous systems and intelligent agents The strategic power infrastructure defense (SPID) system: A con- in power system control and operation. Springer, 320 p.
ceptual design. IEEE Control Systems Magazine, 20(4), 40-52. Russel, S., & Norvig, P. (1995). Artificial intelligence - A modern https://doi.org/10.1109/37.856178 approach. Prentice Hall, 520 p.
Lozynskyi, A. Ya., Tesliuk, V. M., Zelinskyi, A. Ya., & Narushynska, Stone, P., & Veloso, M. (2000). Multiagent systems: A survey from a O. O. (2017a). Zastosuvannia multyahentnoho pidkhodu dlia pok- machine learning perspective. Autonomous Robots, 8(3), 345-383. rashchennia parametriv synkhronizatsii v ihrovykh systemakh. Mo- https://doi.org/10.1023/A:1008942012299
deliuvannia ta informatsiini tekhnolohii, 79, 183-190. Kyiv: Sycara, K. P. (1998). Multiagent systems. AIMagazine, 19(2), 79-92. Instytut modeliuvannia v enerhetytsi im. H. Ye. Pukhova NAN Uk- https://doi.org/10.1609/aimag.v19i2.1370
rainy. [in Ukrainian]. Wang, H. F., Li, H., & Chen, H. (2003). Coordinated Secondary Vol-Lozynskyi, A. Ya., Tesliuk, V. M., Zelinskyi, A. Ya., & Narushynska, tage Control to Eliminate Voltage Violations in Power Systems O. O. (2017b). Vdoskonalennia modeli komunikatsii ahentiv Contingencies. IEEE Transactions on Power Systems, 18(2), 588-vmultyahentnykh systemakh. Modeliuvannia ta informatsiini 595. https://doi.org/10.1109/TPWRS.2003.810896
tekhnolohii, 78, 190-195. Kyiv: Instytut modeliuvannia v ener- Weiss, G., & Sen, S. (Eds.). (1996). Adaptation and Learning in Mul-hetytsi im. H. Ye. Pukhova NAN Ukrainy. [in Ukrainian]. tiagentSystems. Springer Verlag, Berlin, 384 p.
Lytvyn, V., Vysotska, V., Pukach, P., & Vovk, D. (2017). Method of Wooldridge, M. (2002). An Introduction to Multiagent Systems. John functioning of intelligent agents, designed to solve action planning Wiley & Sons (Chichester, England), 288 p.
В. М. Теслюк, А. Я. Лозинський, Т. В. Теслюк
Национальный университет "Львовская политехника", г. Львов, Украина
ПРИМЕНЕНИЕ МУЛЬТИАГЕНТНОГО ПОДХОДА В ПРОЦЕССЕ РЕАЛИЗАЦИИ
ИГРОВОЙ ПРОГРАММЫ "BACTERIAL WAR"
В связи с интенсивным развитием сетевых информационных технологий, актуальным является разработка методов и средств распределенного принятия решения, основанных на нескольких интеллектуальных агентах. Проведен анализ существующих имитационных моделей для игровых систем, использующих многоагентный подход принятия решений. Использование мультиагентного подхода для игровых систем началось в далекие 1960-е годы и с каждым годом сложность много-агентных систем в игровых и имитационных системах увеличивалась. Увеличение использования мультиагентных систем способствовало созданию многих технологий и стандартов, которые упрощают разработку мультиагентных систем. Описаны разработанная игровая программа "Bacterial War" и имитационная модель, которая симулирует коммуникацию бактерий в окружающей среде. Разработанная программа использует основные принципы мультиагентных систем, обеспечивает высокую надежность и быстродействие системы. В процессе разработки программы использована гомогенная модель коммуникации агентов, что обеспечило высокий уровень реагирования агентов на внешние факторы. Поиск целей происходит с помощью алгоритма поиска минимального пути А*. Отправка информации между агентами происходит с помощью серверной части, обеспечивает высокое быстродействие программы. Разработанная программа написана с помощью языка программирования Java и вспомогательной библиотеки LibGDX, что обеспечивает использование системы на нескольких платформах.
Ключевые слова: имитационные системы; принятие решений; кооперативнисть; гомогенные агенты; колония.
V. M. Teslyuk, A. Уа. Lozynskyi, T. V. Teslyuk
Lviv Polytechnic National University, Lviv, Ukraine
APPLICATION OF MULTI-AGENT APPROACH IN THE PROCESS OF IMPLEMENTATION OF THE GAME PROGRAM "BACTERIAL WAR"
Due to the intensive development of networked information technologies, it is important to develop methods and tools for distributed decision-making that are based on several intelligent agents. In the beginning of the article, the author described several simulation models that are based on the multi-agent approach. The described simulation models are used to build stadiums and develop a transport system. The described simulation model shows the actions of the crowd under various circumstances. Furthermore, the author described the first gaming systems that use multi-agent technology and compared them with modern gaming systems. In the main part of the article the author describes the developed game program "Bacterial War" and an imitation model that simulates the communication of bacteria in the environment. The developed program uses the basic principles of multi-agent systems, which ensures high reliability and speed of the system. In the next part of the article, the author describes the algorithm used by system agents to perform the goal. The used algorithm uses the basic idea of finding the minimal path A*. With this algorithm agents seek the purpose and neutralize it. In the process of developing the program, a homogeneous agent communication model was used, which provided a high level of reacting agents to external factors. The transfer of information between agents takes place through the server part, which ensures high performance of the program. This signaling technology provides an improved level of communication of agents, but the reliability of the system depends on the server. If the server fails, the entire system will stop working. At the end of the article, the author describes the technology of developing a gaming system. The developed system is written using Java programming language. In order to ensure the use of the program on many platforms, the author used the LibGDX auxiliary library. The result of the article is the developed game program and simulation model, which visualizes the actions of bacteria in the environment and ways to neutralize bacteria by other bacteria.
Keywords: imitation systems; decision-making; co-operative; homogeneous agents; colony.