Спостерігайте за зграями птахів у польоті — тисячі птахів рухаються як єдина жива хмара. Кожен птах враховує лише найближчих сусідів, але зграя рухається з дивовижною глобальною координацією.
Кожен птах слідкує лише за ~7 найближчими сусідами, копіюючи їхні рухи та уникаючи зіткнень. Результатом є ідеально скоординована зграя без єдиного лідера — підручний приклад поведінки, що виникає з простих правил.
Рухайте мишею для направлення зграї — птахи інстинктивно уникають курсора, наче хижака. Використовуйте повзунки для додавання птахів або зміни радіусу взаємодії.
Мурмурації шпаків можуть містити понад мільйон птахів і реагувати на зміни форми менш ніж за 20 мілісекунд. Вчені по-справжньому зрозуміли цей механізм лише у 2012 році за допомогою 3D-камер.
Ця симуляція моделює колективний рух птахів за допомогою алгоритму Boids Крейга Рейнольдса, який керує поведінкою кожного птаха через три прості правила: розділення (уникнення тісняви з сусідами), вирівнювання (рух у напрямку середнього курсу найближчих птахів) та злагодженість (рух до середньої позиції зграї). Попри відсутність центрального керування, ці локальні правила породжують плавні хвилясті групові формації, відомі як мурмурації. Користувачі можуть спостерігати, як складна поведінка виникає з простих індивідуальних дій, змінюючи силу злагодженості, розмір зграї та швидкість польоту.
Зграйна поведінка птахів захоплювала науковців та митців ще з 1987 року, коли Крейг Рейнольдс опублікував алгоритм Boids. Ця модель використовується у візуальних ефектах кіно, розробці роїнних роботів та вивченні колективного інтелекту тварин — від риб до комах.
Boids — це обчислювальна модель, створена Крейгом Рейнольдсом у 1987 році для симуляції зграйної поведінки птахів. Кожен віртуальний птах (так званий «boid») дотримується трьох правил керування рухом, що базуються лише на позиціях і швидкостях сусідніх boid-ів: розділення, вирівнювання та злагодженість. Результатом є переконливий емерджентний груповий рух без будь-якого централізованого керування чи лідера.
Використовуйте повзунок «Птахи», щоб встановити розмір зграї (від 20 до 250 птахів), повзунок «Злагодженість», щоб контролювати, наскільки сильно птахи тягнуться до центру зграї, та повзунок «Швидкість», щоб змінювати темп польоту. Натисніть «Розлетітися», щоб налякати зграю та внести хаос, «Яструб», щоб випустити хижака, від якого птахи тікатимуть, і «Зібратися», щоб спрямувати всіх птахів назад до центру екрана.
Правило розділення утримує кожного птаха на мінімальній відстані від сусідів. Щойно птах виявляє іншого птаха у своєму радіусі розділення (у цій симуляції — 25 пікселів), він застосовує силу керування, спрямовану прямо від цього сусіда. Це реактивне відштовхування запобігає зіткненням навіть на високій швидкості, відображаючи те, як реальні птахи використовують периферійний зір і миттєві рефлекси, щоб підтримувати безпечну відстань у швидкій зграї.
Кожне правило створює вектор керування, який додається до поточної швидкості птаха. Розділення обчислює зважену суму векторів, обернено пропорційних відстані, спрямованих від сусідніх птахів. Вирівнювання розраховує середню швидкість сусідів у межах радіуса вирівнювання та підштовхує птаха до цього напрямку. Злагодженість знаходить центроїд сусідніх птахів і спрямовує рух до нього. Усі три силові вектори обмежуються максимальною величиною на кожному кадрі, щоб уникнути нереалістичного прискорення. Об'єднане оновлення виглядає так: нова швидкість дорівнює обмеженню суми поточної швидкості плюс вагові коефіцієнти розділення, вирівнювання та злагодженості, помножені на відповідні сили, до максимальної швидкості.
Алгоритм Boids Рейнольдса вперше застосували в кіно — у фільмі Тіма Бертона «Повернення Бетмена» (1992) для анімації зграй кажанів та маршів пінгвінів без покадрової анімації кожного персонажа. Сьогодні він є стандартом у ШІ натовпів у відеоіграх, координації роїв роботів (наприклад, дронових світлових шоу із сотнями автономних апаратів), моделюванні транспортних потоків і навіть у проєктуванні самоорганізованих сенсорних мереж, де окремі вузли дотримуються локальних правил для досягнення глобального покриття.
Біологічні дослідження загалом підтверджують модель Boids, хоча реальні мурмурації шпаків керуються радше топологічними, ніж метричними сусідствами — кожен птах відстежує своїх шість-сім найближчих сусідів за кількістю, а не за фіксованим радіусом відстані. Експерименти з високошвидкісними 3D-камерами на зграях шпаків у Римі (Ballerini та ін., 2008) підтвердили цю топологічну взаємодію, яка робить мурмурації стійкішими до змін щільності зграї, ніж передбачила б метрична модель Boids.
Крейг Рейнольдс, дослідник комп'ютерної графіки, формально змоделював зграйний рух у своїй знаковій статті 1987 року на конференції SIGGRAPH «Зграї, стада та школи: розподілена поведінкова модель». Проте саме природне явище орнітологи спостерігали й вивчали протягом століть. Прорив Рейнольдса полягав у демонстрації того, що трьох локальних правил взаємодії достатньо для відтворення складних емерджентних патернів, які спостерігаються у реальних групах тварин, без будь-якого керування «згори».
Ті самі принципи самоорганізації проявляються у зграях риб, роях комах (сарана, бджоли), динаміці пішохідних натовпів і навіть у колективному русі клітин під час загоєння ран та розвитку ембріона. Усі вони поєднує властивість емерджентного порядку з локальних правил. На цьому сайті симуляція «Метелики та квіти» показує подібний рух на основі притягання, а симуляція «Лісова пожежа» демонструє інший клас емерджентного просторового патерну — через поширення, а не через кероване відхилення.
Роїнна робототехніка використовує алгоритми, похідні від Boids, для координації десятків чи сотень автономних роботів без центрального контролера. Приклади застосування включають пошуково-рятувальні дрони, що спільно охоплюють великі території, дронові флоти для моніторингу врожаю в сільському господарстві та рої підводних апаратів для картографування океану. Ключова інженерна перевага — стійкість: вилучення одного робота не руйнує рій, оскільки кожен елемент покладається лише на локальне сприйняття, так само як вилучення одного птаха не порушує зграю.
Активні напрями досліджень включають розуміння того, як інформація про загрозу хижака поширюється через мурмурацію швидше, ніж дозволяє індивідуальний час реакції (явище, зване «інформаційним каскадом»), роль шуму та індивідуальної варіативності у підтримці злагодженості зграї, а також застосування машинного навчання для виявлення реальних правил взаємодії тварин на основі даних GPS-траєкторій. Фізики також вивчають зграйний рух як приклад активної матерії — систем, далеких від термодинамічної рівноваги, що демонструють фазові переходи, аналогічні магнетизму.