Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane

The problem of modelling of processes of maneuvering of the agents, solved within the limits of prosecution/evasion tasks on a plane is researched. The browse of state-of-the-art of this problem within the limits of navigation problem solving on the sea is fulfilled and its novelty for tasks multiag...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Datum:2017
1. Verfasser: Yalovets, A.L.
Format: Artikel
Sprache:Ukrainian
Veröffentlicht: PROBLEMS IN PROGRAMMING 2017
Schlagworte:
Online Zugang:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/141
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Institution

Problems in programming
id pp_isofts_kiev_ua-article-141
record_format ojs
resource_txt_mv ppisoftskievua/cf/c3ab8dd91ba2229e08658c4f55a19ccf.pdf
spelling pp_isofts_kiev_ua-article-1412018-07-18T21:01:46Z Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane Проблема моделирования маневрирования агентов в задачах преследования/убегания на плоскости Проблема моделювання маневрування агентів в задачах переслідування/утікання на площині Yalovets, A.L. UDC 656.052.4:[004.942+623.465] УДК 656.052.4:[004.942+623.465] УДК 656.052.4:[004.942+623.465] The problem of modelling of processes of maneuvering of the agents, solved within the limits of prosecution/evasion tasks on a plane is researched. The browse of state-of-the-art of this problem within the limits of navigation problem solving on the sea is fulfilled and its novelty for tasks multiagent prosecutions/ evasion on a plane is justified. The improvement of setting of the task of prosecution/evasion of agents at the expense of formalising of the task of their maneuvering is carried out. Methods of maneuvering are offered and examples of maneuvering of the agents, executable by tools multiagent system "Navigation" are shown. Исследуется проблема моделирования процессов маневрирования агентов, решаемая в рамках задач преследования/убегания на плоскости. Выполняется обзор современного состояния этой проблемы в рамках решения задач навигации на море и обосновывается её новизна для задач мультиагентного преследования/убегания на плоскости. Выполняется уточнение постановки задачи преследования/убегания агентов за счет формализации задачи их маневрирования. Предлагаются методы маневрирования и демонстрируются примеры маневрирования агентов, выполняемые средствами мультиагентной системы «Навигация». Досліджується проблема моделювання процесів маневрування агентів, вирішувана в рамках задач переслідування/утікання на площині. Виконується огляд сучасного стану вирішення цієї проблеми в рамках рішення задач навігації на морі та обґрунтовується її новизна для задач мультиагентного переслідування/утікання на площині. Виконується уточнення постановки задачі переслідування/утікання агентів за рахунок формалізації задачі їх маневрування. Пропонуються методи маневрування та демонструються приклади маневрування агентів, виконувані засобами мультиагентної системи «Навігація». PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2017-06-14 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/141 PROBLEMS IN PROGRAMMING; No 2 (2015) ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2 (2015) ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2 (2015) 1727-4907 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/141/134 Copyright (c) 2017 ПРОБЛЕМИ ПРОГРАМУВАННЯ
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2018-07-18T21:01:46Z
collection OJS
language Ukrainian
topic
UDC 656.052.4:[004.942+623.465]
spellingShingle
UDC 656.052.4:[004.942+623.465]
Yalovets, A.L.
Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane
topic_facet
UDC 656.052.4:[004.942+623.465]

УДК 656.052.4:[004.942+623.465]

УДК 656.052.4:[004.942+623.465]
format Article
author Yalovets, A.L.
author_facet Yalovets, A.L.
author_sort Yalovets, A.L.
title Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane
title_short Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane
title_full Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane
title_fullStr Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane
title_full_unstemmed Problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane
title_sort problem of modelling of maneuvering of agents in prosecution/evasion tasks on a plane
title_alt Проблема моделирования маневрирования агентов в задачах преследования/убегания на плоскости
Проблема моделювання маневрування агентів в задачах переслідування/утікання на площині
description The problem of modelling of processes of maneuvering of the agents, solved within the limits of prosecution/evasion tasks on a plane is researched. The browse of state-of-the-art of this problem within the limits of navigation problem solving on the sea is fulfilled and its novelty for tasks multiagent prosecutions/ evasion on a plane is justified. The improvement of setting of the task of prosecution/evasion of agents at the expense of formalising of the task of their maneuvering is carried out. Methods of maneuvering are offered and examples of maneuvering of the agents, executable by tools multiagent system "Navigation" are shown.
publisher PROBLEMS IN PROGRAMMING
publishDate 2017
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/141
work_keys_str_mv AT yalovetsal problemofmodellingofmaneuveringofagentsinprosecutionevasiontasksonaplane
AT yalovetsal problemamodelirovaniâmanevrirovaniâagentovvzadačahpresledovaniâubeganiânaploskosti
AT yalovetsal problemamodelûvannâmanevruvannâagentívvzadačahpereslíduvannâutíkannânaploŝiní
first_indexed 2025-07-17T09:38:22Z
last_indexed 2025-07-17T09:38:22Z
_version_ 1850409678165508096
fulltext Прикладні засоби програмування та програмне забезпечення © А.Л. Яловець, 2015 86 ISSN 1727-4907. Проблеми програмування. 2015. № 2 УДК 656.052.4:[004.942+623.465] А.Л. Яловець ПРОБЛЕМА МОДЕЛЮВАННЯ МАНЕВРУВАННЯ АГЕНТІВ В ЗАДАЧАХ ПЕРЕСЛІДУВАННЯ/УТІКАННЯ НА ПЛОЩИНІ Досліджується проблема моделювання процесів маневрування агентів, вирішувана в рамках задач пе- реслідування/утікання на площині. Виконується огляд сучасного стану вирішення цієї проблеми в рам- ках рішення задач навігації на морі та обґрунтовується її новизна для задач мультиагентного пересліду- вання/утікання на площині. Виконується уточнення постановки задачі переслідування/утікання агентів за рахунок формалізації задачі їх маневрування. Пропонуються методи маневрування та демонструють- ся приклади маневрування агентів, виконувані засобами мультиагентної системи «Навігація». Вступ Проблема запобігання зіткненню суден у морі, також відома як проблема безпечного розходження суден, не нова і загальновідома [1, 2]. Її вирішенню прис- вячено багато досліджень та напрацьовано значні результати, найбільш вагомі з яких покладені в основу створення Міжнарод- них правил попередження зіткнення суден у морі (МППЗС-72) [3]. Разом з тим, вико- ристання МППЗС-72 для прийняття рі- шень щодо необхідного маневрування має певні недоліки [4]:  МППЗС-72 регламентують пра- вила прийняття рішень виключно для ви- падку, коли вирішується задача безпечного розходження двох суден;  в МППЗС-72 присутні багато нечітко визначених параметрів, на базі яких передбачається приймання рішень щодо безпечного розходження суден, що в результаті ускладнює формалізацію про- цесу моделювання маневрування. Так, в більшості випадків у розхо- дженні приймають участь двоє суден, чим і пояснюється бінарний характер коорди- нації МППЗС-72, що регламентують без- печне розходження двох суден, які небез- печно зближуються. Однак в обмежених умовах руху з високою інтенсивністю суд- ноплавства виникають ситуації небезпеч- ного зближення декількох (більше двох) суден, причому в районі виконання манев- рування знаходяться інші судна, які зава- жають здійсненню потрібного маневру. В таких ситуаціях вибір безпечного маневру розходження стає досить складним, більш того, при цьому вимоги МППЗС-72 для деяких суден, що виконують маневри роз- ходження, стають суперечними і їх корек- тне врахування в таких ситуаціях стає не- можливим. Зазначимо, що відомі дослідження щодо моделювання маневрування суден для уникнення зіткнень здійснюються в рамках вирішення загальної задачі безпеч- ного розходження суден у морі, яка за сво- їми властивостями суттєво відрізняється (та є менш складною) від вирішуваної на- ми задачі переслідування/утікання. Разом з тим, слід зауважити, що і в нашому випад- ку вирішення проблеми моделювання про- цесів маневрування суден (агентів) також має відповідати вимогам МППЗС-72, оскі- льки ми передбачаємо, що агенти діють на площині, яка змістовно інтерпретується як море. Зауважимо, що нам невідомі інші дослідження щодо мультиагентного моде- лювання процесів маневрування суден, здійснювані в рамках вирішення задачі пе- реслідування/утікання агентів. Виходячи з цього, коротко розгля- немо сучасний стан досліджень щодо ви- рішення задач моделювання процесів ма- неврування суден у рамках рішення зага- льної задачі безпечного розходження су- ден у морі. З аналізу літературних джерел випливає, що на сьогодні ця задача, зокре- ма, досліджується з позицій:  теорії диференційних ігор (див., наприклад, [5, 6]);  мультиагентного моделювання (див., наприклад, [7–9, 11]);  імітаційного моделювання (див., наприклад, [4, 12–15]). Прикладні засоби програмування та програмне забезпечення 87 В рамках досліджень, що ґрунту- ються на положеннях теорії диференцій- них ігор, виконується пошук оптимальних траєкторій руху судна, що гарантують йо- му уникнення зіткнень з іншими судами. При цьому використовуються різні підхо- ди. Наприклад, в [5] пропонується дискре- тизація фазового простору станів динаміч- ної системи (у якості якої виступає дослі- джуване судно) прямокутною решіткою графа, який визначає переходи між вузла- ми, що задовольняють всім вимогам задачі управління у вигляді безпечно-гаранто- ваної траєкторії руху судна. Мета даного підходу – знаходження дерева найкорот- шого шляху, що відповідає доцільній без- печно-гарантованій траєкторії руху судна. В свою чергу, в [6] розглядається задача визначення таких змін курсу і/або швидко- сті судна, які забезпечують мінімальні від- хилення від запланованої траєкторії руху при збереженні заданого рівня безпеки ру- ху. Ця задача вирішується для небезпечних та потенційно небезпечних суден, щодо яких формується багатокрокова стратегія розходження на весь прогнозний період їх знаходження в зоні небезпеки, з подаль- шою корекцією стратегії у випадку, якщо поточний розвиток ситуації буде відрізня- тися від прогнозованого. При цьому, в процесі формування стратегії розходження враховуються вимоги МППЗС-72. Хоча в цілому названі підходи за- слуговують уваги, в них є певні недоліки. По-перше, вони орієнтовані на аналіз ста- ну окремого судна, а не сукупності суден, як має бути при розгляді дійсно динаміч- ної системи. По-друге, вони орієнтовані на планування стратегії руху судна заздале- гідь, а не ad hoc. По-третє, ці дослідження виконуються на теоретичному рівні, дале- кому від реалізаційного рівня. В рамках досліджень, що засновані на мультиагентному підході, виконується спроба розгляду можливості моделювання агентами врахування множини правил, що регламентують доцільні дії агентів у відпо- відності до вимог МППЗС-72. При цьому, для формалізації знань агентів щодо мож- ливих дій в [7, 8] пропонується викорис- тання нечітких множин. Водночас, напри- клад, в [11] для моделювання дій агентів розглядається можливість використання методів позиційно-цільового управління. Відзначимо, що в відомих дослі- дженнях можливість використання муль- тиагентного підходу для рішення задачі уникнення зіткнень суден розглядається тільки на концептуальному рівні. У свою чергу, в рамках досліджень, що ґрунтуються на імітаційному моделю- ванні, отримано найбільш значні практич- ні результати (в порівнянні з іншими дво- ма напрямами досліджень). В рамках та- ких досліджень виконується побудова і аналіз адекватності імітаційних моделей розходження суден шляхом маневрування (з урахуванням вимог МППЗС-72), та ство- рюються відповідні системи імітаційного моделювання. Наприклад, в [13] наведено посилання на систему імітаційного моде- лювання МАНЕВРИ-12И процесу розход- ження судна (режим доступу: http:// www.nav-eks.org.ua/Nayka-2013.html), по- будовану на основі однієї з запропонова- них імітаційних моделей. Засобами цієї системи забезпечується моделювання про- цесу розходження досліджуваного судна з іншими потенційно-небезпечними судна- ми, що здійснюється шляхом попередньо- го розрахунку безпечного маршруту руху судна та відтворення цього руху в режимі моделювання. Виходячи з аналізу роботи системи МАНЕВРИ-12И можна стверджу- вати, що виконуваний її засобами процес імітаційного моделювання має наступні недоліки: 1) виконується моделювання про- цесів маневрування тільки одного судна, а інші судна виконують свій запланований прямолінійний рух без необхідного манев- рування і можуть зіткнутися (це спостері- гається навіть на авторських прикладах роботи системи); 2) процес моделювання доцільно- го маневрування судна виконується зазда- легідь, а не в процесі руху судна, що принципово унеможливлює постановку задачі маневрування для декількох суден, оскільки заздалегідь неможливо адекватно врахувати наслідки змін напрямів руху су- ден в результаті таких маневрів. Таким чином, можна зробити на- ступні загальні висновки щодо запропоно- http://www.nav-eks.org.ua/Nayka-2013.html http://www.nav-eks.org.ua/Nayka-2013.html Прикладні засоби програмування та програмне забезпечення 88 ваних рішень з моделювання процесів ма- неврування. Всі судна (за виключенням одного судна, що маневрує) рухаються прямолінійно за своїм запланованим кур- сом та з постійною швидкістю. Судно, що маневрує, після завершення маневрування повертається до свого початкового курсу і далі рухається таким же чином, як і інші судна. Всі ці обставини суттєво спрощу- ють задачу моделювання процесів манев- рування суден і принципово відрізняють її від задачі маневрування, вирішуваної в рамках рішення досліджуваної задачі пере- слідування/утікання агентів, де агенти у кожний момент часу можуть змінювати як свій курс, так і швидкість. В цілому, можна визначити наступ- ні відмінні особливості вирішуваної нами задачі маневрування:  стан навколишнього середовища динамічно змінюється кожну мить і, як на- слідок, кожний рухомий агент має динамі- чно формувати власну модель навколиш- нього середовища в кожний момент часу;  дії жодного з рухомих агентів у наступний момент часу неможливо напе- ред передбачити;  жодний з рухомих агентів не має заздалегідь сформованого плану дій; кожний з них має визначати доцільну на- ступну дію у реальному масштабі часу, виходячи з оцінки стану навколишнього середовища;  вирішення задачі маневрування не має суперечити вирішенню центральної задачі моделювання – задачі переслідуван- ня/утікання. Виходячи з цього, стають очевид- ними актуальність та наукова новизна за- дачі розробки методів моделювання мане- врування для множини агентів у рамках вирішення загальної задачі переслідуван- ня/утікання. 1. Постановка задачі переслідування на площині з урахуванням маневрування агентів, виконуваного з метою уникнення зіткнень Уточнимо постановку задачі перес- лідування на площині [16] з урахуванням вимог щодо маневрування агентів. Нехай на площині задано випуклу множину S , яка відповідає динамічному середовищу, в межах якого діють агенти-утікачі множини },,,{ 21 nEEEE  та агенти-переслідувачі множини },,,{ 21 mPPPP  . На множинах Е, Р задано множину груп Gr },,,{ 21 nGrGrGr  ; )()( EcardGRcardn  таких, що кожна GrGrk  містить деяку кількість )( PPP ii  і одного )( EEE jj  , та завжди правильно, що 2)( kGrcard , }{1  kk GrGr і EPGrGrGr n  21 . Будь-який і-ий агент починає рух у момент часу 0t , має поточні координати в ортогональній системі координат і пере- міщується в S , використовуючи при цьо- му відповідну оптимальну стратегію [17]. Параметри, що характеризують стан і-ого агента множин EP, в момент часу 0t однозначно описуються кортежем  iiiiii vyxpropid ,},,{,, , де iid – уніка- льний ідентифікатор агента; iprop – пере- лік властивостей (розмір, клас, належність) агента; },{ ii yx – поточні координати аген- та; iv – швидкість руху агента; i – кут руху агента в ортогональній системі коор- динат. Кожний агент-переслідувач iP kGr у момент часу 0t знає положення всіх переслідувачів, що належать множині P , включаючи себе, положення kj GrE  , швидкість та напрям його руху, а також положення, швидкість та напрям руху ін- ших утікачів, що належать множині E , в цей же момент часу t , однак йому невідо- мі майбутні маневри таких агентів-утікачів та інших агентів-переслідувачів. У свою чергу, в кожний момент ча- су 0t утікачу kj GrE  відомо своє по- ложення, але він знає положення тільки тих переслідувачів PPi  та інших утіка- чів, що належать множині E , які знахо- дяться в його зоні спостереження. Нага- даємо, що під зоною спостереження SZS j  утікача jE розуміється квадрат, сторона якого дорівнює деякому додатно- Прикладні засоби програмування та програмне забезпечення 89 му числу, що змістовно інтерпретується як подвійне значення простору видимості в один бік, а центр квадрату задається пото- чними координатами },{ jj yx утікача jE . В утікача kj GrE  можуть бути два можливих стани щодо обізнаності про йо- го переслідувачів: 1) коли він знає, хто са- ме його переслідує; 2) коли він не знає сво- їх переслідувачів. У першому випадку уті- кач kj GrE  реагує (тобто запобігає захо- пленню) тільки на переслідувачів ki GrP  , а з іншими агентами тільки уникає зітк- нення. В другому випадку утікач kj GrE  аналізує всіх можливих переслідувачів PPi  , які знаходяться в його зоні спосте- реження, але реагує тільки на тих з них, хто гіпотетично може виступати як його переслідувачі, тобто може входити до складу групи kGr , а з іншими агентами, як і у першому випадку, тільки уникає зітк- нення. Кожний агент PPi  та EE j  уни- кає зіткнення з іншими агентами. Відзна- чимо, що для аналізу ситуацій зіткнень агентів ми використовуємо поняття «зона зіткнення». Нагадаємо, що зона зіткнення jZZ геометрично збігається з зоною захо- плення, під якою розуміється квадрат, сто- рона якого залежить від геометричних ро- змірів об’єкта, що відповідає jE , а центр квадрата задається поточними координа- тами },{ jj yx агента jE , що в цілому за- безпечує запобігання зіткненню об’єктів, що відповідають агентам iP та jE . У випа- дку, коли iP та jE належать одній і тій же групі kGr , зона зіткнення розглядається як зона захоплення, і якщо зони захоплення iP та jE перетинаються, то це означає, що iP наздогнав jE . Для уникнення зіткнень агенти використовують спеціальні методи маневрування. Зазначимо, що на початку процесу переслідування/утікання агенти розташовані на площині таким чином, що їх зони зіткнення не перетинаються. З проведеного аналізу ситуацій, що можуть призвести до зіткнень агентів, ви- пливає, що існують три різні випадки, які передбачають необхідність виконання ма- неврування агентами (де t ~ – момент поча- тку маневрування). Випадок 1. Коли два рухомі аге- нти (якщо вони в кожний наступний мо- мент часу tt ~ 1  будуть рухатись за своїми поточними курсами руху та швидкостями) потенційно можуть зіткнутися в момент часу 2t і їх зони зіткнення в даний момент часу t ~ не перетинаються. Випадок 2. Коли рухомий агент (якщо він в кожний наступний момент ча- су tt ~ 1  буде рухатись за своїми поточ- ними курсом руху та швидкістю) потен- ційно може зіткнутися в момент часу 2t з нерухомим агентом і зони їх зіткнення в даний момент часу t ~ не перетинаються. Випадок 3. Коли рухомий агент в даний момент часу t ~ опинився в зоні зіт- кнення іншого рухомого або нерухомого агента. Формалізуємо поняття «потенційно може зіткнутися», що використовується в описах випадків 1 та 2. Припустимо, що агент ia , який може належати як множині Р, так і множині Е, рухається прямолінійно та з постійною швидкістю. Припустимо, що в зоні спостереження iZS агента ia знаходиться множина iaEPM \)(1  аге- нтів, які або рухаються прямолінійно та з постійною швидкістю у попутному напря- мку з агентом ia (тобто їх шляхи перети- наються), або не рухаються, але шлях аге- нта ia проходить через зону зіткнення та- ких нерухомих агентів. Розглянемо загаль- ний випадок, коли множина 1M не містить жодного агента, який є або переслідувачем агента ia (якщо ia – утікач), або утікачем, щодо якого агент ia є переслідувачем (яс- но, що відносно саме таких агентів агент ia не маневрує, а виконує або утікання, або переслідування). Введемо поняття «найближчий агент», під яким будемо ро- зуміти рухомого агента, який рухається в попутному напрямку з агентом ia таким чином, що точка перетину шляхів цих двох агентів розташована найближче до агента ia , ніж всі інші подібні точки, побудовані Прикладні засоби програмування та програмне забезпечення 90 для інших рухомих агентів, що належать множині 1M ; або нерухомого агента, шлях агента ia до зони зіткнення якого є найме- ншим у порівнянні з іншими нерухомими агентами, що належать множині 1M . Тоді будемо говорити, що агенти ia та 1Ma j  потенційно можуть зіткнути- ся в момент часу 2t , якщо агент ja є най- ближчим агентом рухомого агента ia . Виходячи з цього, виконаємо зага- льну формалізацію вищенаведених випад- ків: агенти ia та 1Ma j  потенційно мо- жуть зіткнутися в момент часу 2t , якщо  22 t j t i ZZZZ {}, де 22 , t j t i ZZZZ – зони зіткнення агентів ia та ja , побудовані в точках, в яких агенти опиняться в момент часу 2t (для випадку 3 02 ~ ttt  , де 0t – проміжок часу до зіткнення). Зазначимо, що визначення часу t ~ як часу початку маневрування, в МППЗС- 72 не наводиться. Водночас, в спеціальній літературі (див., наприклад, [2]) такий ре- комендований час для рухомих суден ви- значається виходячи з «доброї морської практики» і дорівнює  ttt ~ 2 12 хви- линам до моменту можливого зіткнення (що відповідає випадку 1). Ми вважаємо, що для загальності постановки доцільно поширити цю рекомендацію і на випадок виконання маневрування рухомим судном відносно нерухомого судна (що відпові- дає випадку 2). Процеси виконання маневрування суден регламентуються правилами 8, 14  17 МППЗС-72 [3]. Коротко прокоментуємо сутність цих правил. Правило 8 регламентує загальні дії суден задля запобігання зіткненню. Правило 14 регламентує дії двох суден в умовах, коли вони зближуються на протилежних або майже протилежних кур- сах таким чином, що можуть зіткнутися. В таких випадках кожному з цих суден ре- комендується змінити курс руху праворуч з тим, щоби кожне судно пройшло у іншо- го з лівого борту. Правило 15 регламентує дії двох су- ден в умовах, коли вони рухаються курсами, що перетинаються, таким чином, що існує загроза зіткнення суден. В таких випадках судно, що має інше судно з правої сторони, має уступити шлях іншому судну таким чином, щоб запобігти перетину курсу та- кому судну по носу. Тобто судно, яке має маневрувати, має забезпечити проходжен- ня іншого судна за його поточним курсом та вибрати такий курс на період маневру- вання, який унеможливить зіткнення (для цього знизити швидкість руху (якщо необ- хідно, до повної зупинки) або змінити курс з тим, щоб пройти позаду іншого судна). Правило 16 регламентує поведінку судна, що має уступити шлях іншому суд- ну, і вимагає його своєчасних та рішучих (помітних) дій. Правило 17 регламентує поведінку судна, якому уступає шлях інше судно. При цьому можуть виникати 2 варіанти дій: 1) якщо судно, яке має уступити шлях, діє у відповідності до вимог прави- ла 16, то судно, якому уступають шлях, має рухатись за своїми поточними швид- кістю та курсом; 2) в супротивному випа- дку судно, якому мають уступати шлях, має прийняти всі можливі заходи щодо запобігання зіткненню. Визначимо загальні вимоги до ме- тодів маневрування, які формалізувати- муть поведінку агентів у випадках 13 (див. вище) та враховуватимуть наведені правила. Випадок 1. Метод маневрування має враховувати вимоги правил 8, 14 – 16. Даний метод має дозволяти в реальному масштабі часу визначати множину рухо- мих агентів, розташованих праворуч відно- сно аналізованого агента в його зоні спо- стереження, та своєчасно виявляти най- ближчого агента, відносно якого аналізо- ваний агент має виконати відповідні дії, регламентовані правилами 8, 14 – 16. Випадок 2. Метод маневрування та- кож має враховувати вимоги правил 8, 14 – 16. Даний метод має дозволяти в реально- му масштабі часу визначати множину не- рухомих агентів, розташованих по курсу руху аналізованого рухомого агента в його зоні спостереження, та формувати аналізо- ваному агенту доцільний курс його пода- льшого руху з метою запобігання зіткнен- Прикладні засоби програмування та програмне забезпечення 91 ня з такими нерухомими агентами. Випадок 3. Метод маневрування має враховувати вимоги правил 8, 14 – 17. Даний метод стосується дій агентів у ава- рійних ситуаціях, коли в результаті вико- нання маневру рухомий агент опинився в зоні зіткнення іншого рухомого або неру- хомого агента. Цей метод маневрування має забезпечувати агенту вибір мінімаль- ного маневру з метою безаварійного ви- ходу з зони зіткнення іншого агента. В загальному випадку такий мінімальний маневр передбачає вибір такого кута по- дальшого руху агента, який буде відпові- дати мінімальному куту відхилення від поточного напряму руху агента. Таким чином, для вирішення зага- льної задачі маневрування агентів нам не- обхідно розробити сукупність вищезазна- чених методів. Разом з тим, очевидно, що для рішення цієї задачі для загального ви- падку необхідно упорядкувати послідов- ність виконання цих методів. 2. Визначення послідовності виконання методів маневрування Для визначення порядку виконання методів маневрування дослідимо послідо- вність аналізу деяким рухомим агентом ia свого стану в довільний момент часу t . Ясно, що якщо агент Pai  , то в кожний момент часу t його основною за- дачею є формування оптимальної стратегії переслідування відповідного утікача. Як- що ж агент Eai  , то в кожний момент часу t його основною задачею є форму- вання оптимальної стратегії втечі від віро- гідного переслідувача. В обох випадках вирішенням цих задач є визначення доці- льних кута i та швидкості iv руху в мо- мент часу 1t , що є наступним за моментом часу t . Очевидно, що якщо агент ia в мо- мент часу t не виявив необхідності вико- нання маневрування, далі він буде руха- тись за своєю оптимальною стратегією. З цього випливає, що вирішення задачі ви- значення доцільних кута та швидкості ру- ху, що узгоджуються з відповідними оп- тимальними стратегіями агента, має пере- дувати вирішенню задач маневрування. Припустимо, що в результаті аналі- зу свого стану в момент часу t ~ агент ia з’ясував необхідність виконання маневру- вання, що передбачає зміну прийнятих значень i та/або iv . При цьому в загаль- ному випадку (див. п. 1 статті) момент ча- су t ~ визначається як ttt  2 ~ , де t лежить у проміжку  tt0 12 хвилин, а 0t – проміжок часу до зіткнення у випадку 3. Дійсно, оскільки агент ia діє у складно- му динамічному середовищі, змінюваному в кожний момент часу, рішення щодо ма- неврування далеко не завжди може бути їм прийнято заздалегідь, а фактично прийма- ється в оперативному режимі в момент ча- су, що належить проміжку t . Як ми показали в п.1 статті, можли- ві три випадки, коли агент має виконати відповідне маневрування. При цьому оче- видно, що якщо порівнювати випадки 1 і 2, то найпершою дією при визначенні необ- хідності маневрування має бути аналіз ви- падку 1, як можливості зіткнення з іншим рухомим агентом (як показано в п.1 статті, оцінюваний час t до моменту можливого зіткнення у випадках 1 і 2 збігається). Яс- но, що нерухомий агент за цей же час не змінить своєї поведінки на відміну від ру- хомого агента, який, як наслідок, є більш небезпечним, і тому саме на його дії аген- ту ia необхідно реагувати в першу чергу. В процесі динамічних дій агентів (у тому числі і внаслідок виконання маневрування) можуть виникати аварійні ситуації, коли агент ia опиняється в межах зони зіткнен- ня деякого іншого агента. Ясно, що при цьому буде мати місце випадок 3, а оброб- ка інших випадків має ігноруватися. З цього випливає, що доцільна пос- лідовність виконання методів маневруван- ня має бути наступною: 1) маневрування за випадком 1; 2) маневрування за випад- ком 3; 3) маневрування за випадком 2 (з наступною перевіркою необхідності мане- врування за випадком 3). Відповідна діаг- рама діяльності, що формалізує процес аналізу рухомим агентом ia необхідності маневрування в кожний момент часу t , показана на рис. 1. Прикладні засоби програмування та програмне забезпечення 92 Перевірка необхідності маневрування за Випадком 1 [Маневрування потрібне] [Маневрування не потрібне] Перевизначити напрям та/або швидкість руху Продовжити рух за поточними напрямом та швидкістю Перевірка необхідності маневрування за Випадком 3 [Маневрування потрібне] [Маневрування не потрібне] Перевизначити напрям руху Продовжити рух за поточними напрямом та швидкістю Перевірка необхідності маневрування за Випадком 2 [Маневрування потрібне] [Маневрування не потрібне] Перевизначити напрям руху Продовжити рух за поточними напрямом та швидкістю Виконується маневрування за Випадком 1? [Так] [Ні] Якщо перевірка виконання маневрування за Випадком 1 призвела до зміни швидкості руху, прийняти поточну швидкість зі значенням, яке було до початку маневрування Перевірка необхідності маневрування за Випадком 3 [Маневрування потрібне] [Маневрування не потрібне] Перевизначити напрям руху Рис. 1. Діаграма діяльності довільного рухомого агента ia щодо необхідності маневрування Прикладні засоби програмування та програмне забезпечення 93 Як випливає з діаграми діяльності, в будь-якому випадку при виконанні ма- неврування агент ia прийме рішення, яке забезпечить йому уникнення від зіткнень. Так, якщо агент ia розпізнав необхідність маневрування за випадком 1 і прийняв відповідні рішення щодо зміни напрямку та/або швидкості руху, це рішення далі перевіряється в процесі вирішення задачі щодо необхідності маневрування за випа- дком 3. Якщо випадок 3 має місце, то агент ia прийме рішення щодо аварійного маневрування, змінюючи відповідно до поточної ситуації напрям і, можливо, швидкість руху. В супротивному випадку агент ia буде рухатись за напрямом та з швидкістю, прийнятими при аналізі ви- падку 1. Зазначимо, що випадок 2 аналізу- ється тільки в ситуації, коли не мали міс- ця випадки 1 та 3. Таке обмеження не впливає на ефективність вирішення задачі маневрування в цілому, оскільки в найгі- ршому випадку обробка ситуації щодо зіткнення з нерухомими агентами (що ві- дповідає випадку 2) виконується до аналі- зу випадку 2 (при обробці випадку 3). Во- дночас, після обробки випадку 2, як ви- пливає з діаграми діяльності, виконується додатковий аналіз ситуації, в яку потра- пив агент після маневрування, шляхом аналізу випадку 3. 3. Методи маневрування агентів 3.1. Метод маневрування агента відносно рухомих агентів. Даний метод призначений для обробки ситуацій, що відповідають випадку 1 (див. п. 1 статті). Сутність методу полягає у наступному. Кожний рухомий агент ia в кожний мо- мент часу свого руху виконує аналіз ста- нів всіх інших рухомих агентів, які потра- пили в його зону спостереження SZSi  , та визначає їх підмножину, яка включає агентів, що знаходяться праворуч віднос- но агента ia (визначення «праворуч» від- бувається шляхом обрахунку різниці  між кутом напряму руху агента ia та ку- том, утвореним лінією, проведеною від точки розташування агента ia до точки розташування аналізованого агента в ор- тогональній системі координат; такому визначенню відповідають ситуації, коли різниця кутів  лежить у проміжку 0°   180°). З цієї підмножини він ви- бирає агентів, з якими (за умови збере- ження їх поточних швидкості та напряму руху) можливе його зіткнення. З вибраних агентів він далі розглядає тільки тих, які одночасно не виступають як переслідува- чі аналізованого агента (якщо ia – уті- кач), або не є утікачем щодо якого агент ia виступає як переслідувач. З агентів, що залишились для розгляду, агент ia виби- рає одного найближчого агента (див. п. 1 статті) ja . Якщо проміжок часу t до моменту ймовірного зіткнення агентів ia та ja дорівнює або менше 12 хвилин (в програмній реалізації – відповідного ча- сового проміжку, визначеного з ураху- ванням екранних координат та показників таймеру), виконується перевірка близько- сті їх розташування. Якщо в даний час t зони зіткнення агентів перетинаються (  t j t i ZZZZ {}), виконується зменшен- ня швидкості руху агента ia (до 0.5 вузла) та кута його руху (на 15°). В супротивно- му випадку – відбувається зменшення ку- та руху агента ia (на 15°), тобто він пове- ртає праворуч. 3.2. Метод маневрування агента відносно нерухомих агентів. Даний ме- тод призначений для обробки ситуацій, що відповідають випадку 2 (див. п. 1 стат- ті). Сутність методу полягає у тому, що кожний рухомий агент ia у кожний мо- мент часу свого руху (за умови, що не мають місця випадки 1 та 3 – див. п. п. 1, 2 статті) визначає множину i nM нерухо- мих агентів, які потрапили в його сектор перегляду. Під сектором перегляду розу- Прикладні засоби програмування та програмне забезпечення 94 міється прямокутник1, побудований від точки розташування агента ia у напрямку його поточного руху, з діагоналлю, дов- жина якої дорівнює відстані, яку агент ia пройде з поточною швидкістю за 12 хви- лин (в програмній реалізації – відповідно- го часового проміжку, визначеного з ура- хуванням екранних координат та показни- ків таймеру). Далі агент ia визначає мно- жину i nA кутів, які існують між точкою розташування агента ia та вершинами квадратів, що відповідають зонам зіткнен- ня агентів i nj Ma  . З множини i nA виби- раються мінімальний min i та максималь- ний max i елементи, з якими порівнюється поточний кут i руху агента ia . Якщо maxmin iii   , то як кут подальшого ру- ху агента ia вибирається значення min i або max i , найближче до i . В супротив- ному випадку агент ia продовжує рух за поточним напрямом. 3.3. Метод аварійного маневру- вання. Даний метод призначений для об- робки ситуацій, що відповідають випадку 3 (див. п.1 статті). Сутність методу поля- гає у тому, що кожний рухомий агент ia у кожний момент часу свого руху перевіряє, чи існує деякий інший агент ja , в зону зіткнення якого агент ia потрапив у да- ний момент часу t , тобто чи виконується умова, що jii ZZyx },{ . Якщо така умова не виконується, агент ia далі діє у відпо- відності з діаграмою діяльності (див. рис. 1). В супротивному випадку агент ia ви- значає, чи є агент ja нерухомим або ру- хомим. 1 Ситуації, коли сектор перегляду звужується (це відбувається у випадках, коли агент рухається у напрямах, близьких до кутів, кратних 90°) оброб- ляються особливо: якщо кут руху агента (відносно октанта, в якому він рухається) менше 15° або бі- льше 75°, менша сторона прямокутника визнача- ється в результаті поділу більшої сторони на 2.5. 3.3.1. Якщо агент ja є нерухомим, то агент ia визначає кут i свого розта- шування відносно розташування агента ja (див. рис. 2) та порівнює2 значення кутів i та i . У випадку, якщо i > i , то агент ia визначає октант, в якому він має далі рухатись, шляхом збільшення на одиницю значення октанту, в якому він рухається в поточний момент часу (ясно, що якщо він перебуває в IV октанті, то далі він має ру- хатись в I октанті) та визначає кут i по- дальшого руху як кут від точки свого по- точного розташування до вершини зони зіткнення агента ja , що розташована у ви- значеному октанті (див. рис. 2). Якщо ii   , дії агента подібні вищевикладе- ним за винятком того, що він має не збі- льшити, а зменшити значення октанта на одиницю. 3.3.2. Якщо агент ja є рухомим, то агент ia перевіряє, чи знаходиться агент ja праворуч від нього. Якщо ні, то агент ia виконує маневрування у відповідності до метода, викладеного в п. 3.3.1. В супро- тивному випадку агент ia перевіряє, чи перетинається його поточний напрям руху з поточним напрямом руху агента ja (в 2 Випадок, коли кути i та i розташовані відповід- но у I та IV октантах (або навпаки) обробляється особливо. Рис. 2. Приклад Прикладні засоби програмування та програмне забезпечення 95 цих перевірках використовуються алгори- тми, розроблені для метода маневрування, викладеного в п. 3.1). Якщо ні, то агент ia виконує маневрування у відповідності до метода, викладеного в п. 3.3.1. В супроти- вному випадку агент ia вибирає напрям подальшого руху таким чином, щоби пройти позаду агента ja . 4. Приклади виконання маневрування агентами Для демонстрації роботи запропо- нованих методів маневрування розгляне- мо приклади (див. рис. 3–5) роботи МАС Навігація 2.5 [18], кожний з яких характе- ризує особливості виконання методів у різних ситуаціях. Дані рисунки містять упорядковану за часом послідовність фра- гментів копій екранів, які наочно демон- струють дії агентів при виконанні проце- сів маневрування. На рисунках викорис- тано наступні умовні позначення: агента, який маневрує, обведено кружком з су- цільною лінією; агента, відносно якого маневрують, обведено кружком зі штри- ховою лінією; для ідентифікації агентів їх пронумеровано. Крім того, засобами МАС Навігація 2.5 штриховими лініями відо- бражено шляхи, пройдені агентами, та штрих-пунктирними лініями – майбутні курси руху агентів (якщо агенти в цей момент часу не перебувають у стані мане- врування). Приклад 1 (див. рис. 3, а)–ж)) від- повідає ситуації, коли агент використовує метод маневрування відносно рухомих агентів (див. п. 3.1). На рис. 3, а) показано ситуацію зближення агента 1 та агентів 2 і 3, які розташовані праворуч відносно аге- нта 1 (де агент 2 є утікачем, а агент 3 – його переслідувачем). На рис. 3, б) агент 1 почав маневрування відносно агента 2, агенти 2 і 3 не змінюють напрямів свого руху. На рис. 3, в) агент 1 продовжує ви- конання маневрування відносно агента 2. На рис. 3, г) агент 1 завершив маневру- вання відносно агента 2 та розпочав мане- врування відносно агента 3. Крім того, в межах аналізованої зони перегляду з’явились агенти 4 і 5, що зближуються, причому агент 5 розташований праворуч відносно агента 4. На рис. 3, д) агент 1 продовжує маневрування відносно агента 3; агенти 4 і 5 зближуються без виконання маневрування. І, нарешті, на рис.3, ж) агент 1 завершив маневрування і продов- жує рух у відповідності до власної опти- мальної стратегії, а агент 4 почав викону- вати маневрування відносно агента 5. Як випливає з наведеного прикладу, агенти 1 та 4 при виконанні маневрувань діють в точності у відповідності до вимог правил 15 та 16 МППЗС-72. Приклад 2 (див. рис. 4, а)–ж)) відпо- відає ситуації, коли агент використовує метод маневрування відносно нерухомих агентів (див. п. 3.2). На рис. 4, а) показано ситуацію зближення рухомого агента 1 з нерухомим агентом 2. Агент 1 є переслі- дувачем нерухомого агента 3 (вже затри- маного іншими переслідувачами). На рис. 4, б) агент 1 розпочав, а на рис. 4, в) про- довжив маневрування відносно нерухомо- го агента 2. На рис. 4, г) агент 1 завершив маневрування відносно агента 2. З рисун- ку також видно, що агент 1 за мить до цього виконав маневр для обходу агента 4 та розпочав рух у напрямку «свого» уті- кача. Однак, як випливає з рис. 4, д), агент 1 змінив характер своїх дій, розпізнавши необхідність виконання обходу нерухомо- го агента 4, та продовжив виконання ма- неврування відносно нього. На рис.4, ж) показано, що агент 1 завершив маневру- вання відносно нерухомих агентів, та по- чав рух у напрямку «свого» утікача. Як випливає з наведеного прикладу, агент 1 при виконанні маневрувань діє у відповідності до вимог правил 8, 14 – 16 МППЗС-72, здійснюючи безаварійні ма- неври. При цьому агент 1 повертає право- руч відносно нерухомих агентів, що, зок- рема, повністю узгоджується з вимогами правила 14 МППЗС-72. Приклад 3 (див. рис. 5, а)–ж)) від- повідає ситуації, коли агент використовує метод аварійного маневрування відносно як рухомих, так і нерухомих агентів (див. п.3.3). На рис. 5, а) зображено ситуацію, коли агент 1, потрапивши в зону зіткнення рухомого агента 2, розпочав аварійне ма- неврування. При цьому, аварійне маневру- вання виконують як агент 1, так і агент 2. Прикладні засоби програмування та програмне забезпечення 96 1 2 3 1 2 3 1 2 3 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 Рис. 3. Приклад виконання маневрувань агентами відносно рухомих агентів (відповідає випадку 1) а) б) в) г) д) ж) Прикладні засоби програмування та програмне забезпечення 97 1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 4 3 1 2 4 3 Рис. 4. Приклад виконання маневрувань агентом відносно нерухомих агентів (відповідає випадку 2) а) г) д) ж) б) в) Прикладні засоби програмування та програмне забезпечення 98 1 2 1 2 3 2 1 3 4 2 3 1 4 2 1 3 4 5 2 3 4 1 5 Рис. 5. Приклад виконання маневрування агентом відносно рухомих та нерухомих агентів (відповідає випадку 3) а) д) б) г) ж) в) Прикладні засоби програмування та програмне забезпечення 99 На рис. 5, б) агент 1 завершив процес ава- рійного маневрування відносно агента 2 та розпочав аварійне маневрування відно- сно нерухомого агента 3. На рис. 5, в) ви- дно, що агент 1, завершивши ухилення від агента 3, потрапив у зону зіткнення рухо- мого агента 4. Як наслідок, як випливає з рис. 5, г), і агент 1, і агент 4 одночасно виконують аварійне маневрування. В ре- зультаті його виконання агент 1 потрапив в межі зони зіткнення нерухомого агента 5 (див. рис. 5, д)) і для уникнення зіткнен- ня з останнім вимушений здійснити ава- рійне маневрування. На рис. 5, ж) агент 1 завершив процес аварійного маневруван- ня і продовжив подальший рух у відпо- відності до власної оптимальної стратегії. Як випливає з наведеного прикла- ду, всі агенти, що виконували аварійне маневрування, діяли у відповідності до вимог правил 8, 14 – 17 МППЗС-72. Так, наприклад, на рис. 5, а) та в) показані си- туації, коли агенти мають діяти у відпо- відності до вимог правила 14 (агенти зближуються на протилежних або майже протилежних курсах). Як випливає з рис. 5, б) та 5, г), виконані дії агентів повністю узгоджуються з вимогами цього правила: у всіх цих випадках агенти змінили курс праворуч і кожний з них пройшов у іншо- го з лівого борту. Крім того, на рис. 5, б) показано ситуацію виконання правила 17, а на рис. 5, д) – правила 15. Всі маневри, виконані агентами, відповідають також вимогам правил 8 та 16. Висновки Узагальнюючи вищевикладене, мож- на стверджувати, що розроблені методи маневрування відповідають вимогам від- повідних правил МППЗС-72 та дозволя- ють адекватно поточним ситуаціям моде- лювати поведінку агентів з уникнення зіт- кнень в обставинах динамічно змінювано- го оточуючого середовища. 1. Вагущенко Л.Л., Вагущенко А.Л. Поддерж- ка решений по расхождению с судами. – Одесса: Феникс. – 2010. – 229 с. 2. Мальцев А.С. Маневрирование судов при расхождении. – Одесса: Морской тренаже- рный центр. – 2002. – 208 с. 3. Коккрофт А.Н., Ламеер Дж.Н.Ф. Руковод- ство по Правилам предупреждения столк- новения (МППСС-72). – СПб: ООО «МО- РСАР». – 2005. – 320 с. 4. Северин В.В. Снижение аварийности от столкновения судов путем повышения эф- фективности выбранных маневров расхо- ждения // Судовождение. – 2012. – Вып. 21. – С. 215–219. 5. Баранов Г.Л., Тарасюк В.І. Безкоаліційні диференціально-ігрові задачі термінально- го управління в зонах оптимізації навіга- ційного обслуговування об’єктів водного транспорту // Системи управління, навіга- ції та зв’язку. – 2011. – Вип. 4(20). – С. 10–15. 6. Астреин В.В. Системы предупреждения столкновения судов, теденции развития (к 40-летию МППСС-72) // Вестник Астраха- нского государственного технического университета. – 2012. – № 1. – С. 7–17. 7. Бень А.П. Использование теоретико- игровой модели для представления и ана- лиза навигационных ситуаций в системе поддержки принятия решений судоводите- ля // Искусственный интеллект. – 2010. – № 3. – С. 439–443. 8. Вагущенко Л.Л., Вагущенко А.Л. Мультиа- гентный подход к решению задач расхож- дения судов // Судовождение. – 2008. – Вып. 15. – С. 35–43. 9. Шерстюк В.Г., Бень А.П. Гибридная ин- теллектуальная СППР для управления суд- ном // Искусственный интеллект. – 2008. – № 3. – С. 490–499. 10. Шерстюк В.Г. Динамическая сценарно- прецедентная интеллектуальная система для управления подвижными объектами // Искусственный интеллект. – 2011. – № 4. – С. 362–373. 11. Шерстюк В.Г. Принципы интеллектуаль- ной поддержки принятия решений по управлению движением судна // Вестник ХНТУ. – 2009. – № 3(36). – С. 133–141. 12. Бень А.П. Формализация правил МППСС- 72 в системе поддержки принятия решений судоводителя // Искусственный интеллект. – 2011. – № 3. – С. 327–331. 13. Вагущенко Л.Л. Алгоритм выработки реко- мендаций по расхождению с судами // Су- довождение. – 2012. – Вып. 21. – С. 42–50. 14. Вагущенко Л.Л. Планирование расхожде- ния с судами // Судовождение. – 2010. – Вып. 18. – С. 28–37. 15. Тюпиков Е.Е. Имитационное моделирова- ние процесса расхождения судов маневром изменения скорости // Судовождение. – Прикладні засоби програмування та програмне забезпечення 100 2011. – Вып. 20. – С. 233–237. 16. Яловець А.Л. До постановки задачі переслідування на площині // Проблеми програмування. – 2013. – № 2. – С. 95–100. 17. Яловець А.Л. Про один метод переслі- дування на площині // Проблеми програ- мування. – 2013. – № 3. – С. 117–124. 18. Яловець А.Л., Кондращенко В.Я., Арістов В.В. Свідоцтво №57880 про реєстрацію авторського права на твір «Комп’ютерна програма – “Мультиагентна система “Наві- гація”, версія 2.5” (“МАС Навігація 2.5”)». – Державна служба інтелектуальної власності України, 26.12.2014 р. Одержано 15.01.2015 Про автора: Яловець Андрій Леонідович, доктор технічних наук, заступник директора інституту. Місце роботи автора: Інститут програмних систем НАН України 03187, Київ-187, Проспект Академіка Глушкова, 40. Тел.: (044) 526 1538. E-mail: yal@isofts.kiev.ua mailto:yal@isofts.kiev.ua