Автор: Антон Бондаренко

Коли ми чуємо про «рій роботів», то уявляємо злагоджену групу рухомих роботів. А що як рій виявиться групою нерухомо застиглих кулеметних турелей?
Спробуймо перетворити це на задачу і порозмірковуємо. І будемо використовувати виключно дані з відкритих джерел. Жодних секретів.
Спершу розберемося з проблемою, яку вирішуємо. Нам потрібно, щоб турелі оптимально розподіляли цілі між собою. І так, нехай це будуть просто «цілі», без деталей і емоційних оцінок.
Далі внесемо кілька припущень, які не можна змінювати до кінця тексту задачі. Але трохи згодом, коли ви достатньо розігрієтеся, з припущеннями теж можна буде посперечатися.
Отже, припускаємо, що:
Турелі вже розташувалися у правильному місці відносно напрямку руху цілей. І хоча вони розташовані на НРК, які вміють рухатися, самі турелі залишатимуться на місці — або до кінця бою, або поки не закінчаться ресурси (не залишилось патронів, низький заряд батареї).
Участь людини (оператора) важлива, але саме для видачі ключових команд — на кшталт старту операції («можна починати стрільбу») або її завершення. Як прийнято казати, «людина в контурі» залишається.
Кожна наша турель уміє сама, своїм комп'ютерним зором, розпізнавати цілі — без якогось головного центрального помічника.
Турелі між собою можуть спілкуватися. Принаймні на початку бою турелі одна про одну можуть багато знати. Але в процесі зіткнення зв'язок між ними може несподівано пропасти — може, зовсім ненадовго, а може, і до кінця операції. І ми маємо бути готові до різних ситуацій.
Цілі наближаються, обстановка розжарюється, буде бій. Починаємо міркування:
Що наші турелі можуть повідомляти про свій стан іншим? Наприклад, кількість патронів, що залишилися (вони закінчуються), заряд батареї (він теж закінчується, але повільніше), розташування (точка у просторі) та напрямок (куди спрямований корпус). Що ще вони можуть корисного повідомити одна про одну? І що вони припускатимуть, якщо зв'язок раптом пропаде?
Що наші турелі можуть повідомляти одна одній про побачені цілі? Як їм правильно розподілити цілі, щоб, з одного боку, не витрачати патрони на одну й ту саму ціль, а з іншого — не залишити без уваги якусь із них? При цьому не можна передавати фото й відео, лише текстом — можливості зв'язку обмежені. І що вони припускатимуть, якщо зв'язок раптом пропаде?
Як поведуться наші турелі, якщо дізнаються, що якась із сусідніх більше не може брати участь (закінчилися патрони, сідає батарея, а може, її підбили)? І як це побічно визначити, якщо зв'язок пропав?
А тепер пропоную вам посперечатися з припущеннями, описаними на початку задачі. Що там може бути інакше і до яких змін це зрештою призведе?
Я навмисно в цьому тексті, для спрощення, не торкався питань різкої зміни позицій наших турелей, різкого відступу, а також інших несподіваних ситуацій, коли щось пішло не так. Але це, навпаки, дозволяє зробити міркування в нашій задачі доступнішими.