Стаття Роєвий інтелект · ≈ 9 хв читання

Стигмергія: непряма координація через середовище

Терміти будують метрові вентильовані собори без архітектора, без бригадира, без креслення. Кожна комаха реагує лише на глину, яку бачить перед собою — але колонія зводить шедевр пасивного клімат-контролю. Це стигмергія: координація без спілкування.

Коротко: Стигмергія — це спосіб, яким терміти, мурахи і навіть Git-репозиторії координуються без прямого спілкування: агенти залишають сліди у спільному середовищі (глину, феромон, коміти), і саме ці сліди самі по собі визначають дії інших агентів. Мурахи знаходять найкоротший шлях тому, що швидші подорожі туди-назад підсилюють феромон швидше, ніж його стирає випаровування — без переговорів, без обміну повідомленнями, лише зворотний зв'язок і розпад.

1. Що таке стигмергія

Стигмергія (від грецьк. stigma — «мітка», і ergon — «робота») — це механізм непрямої координації, коли агенти залишають сліди у спільному середовищі, і саме ці сліди — а не прямі повідомлення — запускають наступні дії інших агентів. Термін увів ентомолог П'єр-Поль Грассе у 1959 році, вивчаючи будівництво гнізд термітами, і згодом він став наріжним каменем досліджень роєвого інтелекту та мультиагентних систем.

Елегантність стигмергії в тому, що вона усуває потребу для будь-якого агента знати про інших агентів, звертатись до них чи навіть усвідомлювати їхнє існування. Уся координаційна інформація закодована в самому середовищі, яке діє як спільна, стійка, асинхронна пам'ять — жоден агент не мусить бути присутнім одночасно з іншим, щоб "розмова" відбулась.

Відомий приклад: Git

Кожен коміт у репозиторії системи контролю версій — це стигмергічний слід: розробник читає поточний стан коду, додає зміну, а майбутні розробники реагують на цей стан, не потребуючи спілкування з автором оригіналу. Редагування у Вікіпедії та pull-request'и у відкритому коді працюють так само.

2. Сематектонічна проти маркерної стигмергії

🏗️

Сематектонічна

Побудована на даний момент фізична структура напряму формує наступну дію — позиція грудки глини вказує наступному терміту, куди додати матеріал.

🧪

Маркерна

Окремий абстрактний сигнал покладено виключно для комунікації, без структурної функції — феромонний слід мурашки.

Сематектонічна стигмергія поширена у будівельній поведінці: будівництво стільників осами, архітектура термітників і навіть формування "стежок бажання" людьми (протоптана стежка на газоні формує, куди піде наступний пішохід). Маркерна стигмергія домінує у фуражуванні та пошуку маршрутів: феромони мурах, запахове маркування виснажених квітів бджолами і хімічні сліди слизовиків — все це в цій категорії.

3. Математика феромонів

Маркерна стигмергія у мурашиних колоніях моделюється феромонним полем τ над середовищем, що оновлюється двома конкуруючими процесами: відкладенням мурахами, що проходять ребро, та випаровуванням з часом.

Оновлення феромону τ(e, t+1) = (1 − ρ) · τ(e, t) + Σ_k Δτ_k(e)

де ρ ∈ (0, 1) — швидкість випаровування, e — ребро (сегмент шляху), а Δτ_k(e) — кількість феромону, яку відкладає мурашка k на ребрі e — часто обернено пропорційна довжині всього пройденого шляху.
Ймовірність вибору шляху P(e | i) = τ(e)^α · η(e)^β / Σ_{e'∈allowed} τ(e')^α · η(e')^β

де η(e) = 1/довжина(e) — евристична бажаність, а α, β контролюють відносну вагу сили феромону проти відстані — це саме те правило переходу, що використовується в оптимізації мурашиною колонією (див. нашу статтю про ACO).

Термін випаровування ρ є критично важливим: без нього перший коли-небудь досліджений шлях домінував би назавжди, навіть якщо пізніше знайдено значно коротший. Випаровування дозволяє системі "забувати" застарілу інформацію та адаптуватись до змінного середовища.

4. Фуражування мурах і подвійний міст

Найяскравіша експериментальна демонстрація стигмергічної координації — експеримент з подвійним мостом Жана-Луї Денебура (1990): гніздо з'єднане з джерелом їжі двома шляхами різної довжини. Спочатку мурахи обирають кожну гілку приблизно випадково. Але мурахи, що йдуть коротшою гілкою, повертаються швидше, відкладаючи феромон з вищою швидкістю на одиницю часу, ніж ті, що на довшій гілці.

Це створює петлю позитивного зворотного зв'язку: більше феромону на короткому шляху приваблює більше мурах, які відкладають більше феромону, що приваблює ще більше мурах. За кілька хвилин майже вся колонія сходиться на найкоротшому шляху — при цьому жодна мурашка ніколи не "вирішує", який шлях коротший; рішення виникає суто з різниці у тривалості подорожей.

Не завжди правильно

Та сама петля позитивного зворотного зв'язку може "замкнути" колонію на субоптимальному шляху, якщо його випадково підсилено раніше (екстремальний патологічний випадок — "коло смерті" мурах, ant mill). Це добре відомий компроміс у стигмергічних і роєвих оптимізаційних системах: швидка збіжність проти стійкості до раннього шуму.

5. Стигмергія поза біологією

Стигмергію запозичено як шаблон проєктування далеко за межами біології:

  • Оптимізація мурашиною колонією (ACO) — розв'язує задачу комівояжера та маршрутизацію мереж за допомогою віртуальних феромонних слідів на графі.
  • Вікі та відкрите ПЗ — редагування та коміти є стигмергічними слідами, що спрямовують майбутніх учасників без прямої координації.
  • Рої роботів — прості роботи залишають віртуальний "феромон" через радіомаяки чи фізичні мітки (світло, хімічний спрей) для координації пошуково-рятувального покриття.
  • Міські стежки бажання — протоптані стежки на траві виявляють і закріплюють найефективніші пішохідні маршрути, підказуючи ландшафтним архітекторам, де насправді прокладати доріжки.

6. Компроміси проти прямої комунікації

Порівняно з явними протоколами переговорів, розглянутими у нашій статті про мультиагентні системи, стигмергія пропонує:

  • Масштабованість — жодних накладних витрат на маршрутизацію повідомлень; середовище масштабується безкоштовно при додаванні агентів.
  • Стійкість — агенти можуть виходити з ладу чи покидати систему без порушення протоколу, оскільки немає рукостискання, яке можна розірвати.
  • Асинхронність — агенти ніколи не мусять бути присутні одночасно.

Ціна — точність: стигмергічні сигнали зашумлені, розпадаються з часом і не можуть виразити складний намір (не можна домовитись про ціну через феромон). Реальні системи часто поєднують обидва підходи: рої роботів використовують стигмергічні сигнали покриття для дослідження, але переходять до явного аукціонного розподілу завдань, коли ціль знайдено.

7. Псевдокод

function stepAntColony(ants, pheromone, dt):

  // 1. Випаровування — застосовується до кожного ребра щотику
  for each edge e in pheromone:
    pheromone[e] *= (1 - RHO)

  // 2. Кожна мурашка обирає наступне ребро ймовірнісно
  for each ant in ants:
    candidates = getAllowedEdges(ant)
    weights = candidates.map(e =>
      pow(pheromone[e], ALPHA) * pow(1/length(e), BETA)
    )
    edge = weightedRandomChoice(candidates, weights)
    ant.moveAlong(edge, dt)

    // 3. Відкладаємо феромон, поки мурашка йде
    pheromone[edge] += Q / ant.tripLengthSoFar

  // 4. Мурахи, що дійшли до гнізда, скидають лічильник подорожі
  for each ant in ants if ant.atNest:
    ant.tripLengthSoFar = 0

Типові константи: RHO = 0.1–0.3 (швидкість випаровування), ALPHA = 1 (вага феромону), BETA = 2–5 (вага евристики відстані), Q — константа масштабування відкладення.

Часті запитання

Що таке стигмергія?

Стигмергія — це механізм непрямої координації, коли агенти спілкуються не обміном повідомленнями, а зміною спільного середовища, а інші агенти пізніше зчитують ці зміни. Термін ввів П'єр-Поль Грассе у 1959 році, пояснюючи будівництво термітами гнізд, і сьогодні це наріжний камінь роєвого інтелекту.

Чим сематектонічна стигмергія відрізняється від маркерної?

Сематектонічна стигмергія виникає, коли вже побудована фізична структура напряму спрямовує подальші дії, як у будівництві термітника. Маркерна стигмергія використовує окремий абстрактний сигнал, покладений виключно для комунікації, наприклад феромонний слід мурашки, який не несе структурної функції.

Чому перемагає найкоротший мурашиний слід?

Мурахи, що йдуть коротшим шляхом, завершують подорожі туди й назад швидше, посилюючи феромон цього шляху частіше за одиницю часу, тоді як феромон на всіх шляхах одночасно випаровується. Ця динаміка позитивного зворотного зв'язку разом із розпадом призводить до накопичення найсильнішого запаху на найкоротшому шляху.

Чому необхідне випаровування феромону?
Без випаровування перший коли-небудь досліджений шлях назавжди домінував би у феромонному полі, незалежно від того, чи знайдено пізніше значно коротший шлях. Випаровування дозволяє колонії "забувати" застарілу інформацію та безперервно адаптуватись до змінного середовища, наприклад нової перешкоди чи виснаженого джерела їжі.
Чи може стигмергія призвести колонію до неправильного рішення?
Так. Та сама петля позитивного зворотного зв'язку, що знаходить найкоротший шлях, може також "замкнути" колонію на субоптимальному шляху, якщо його випадково підсилено раніше — екстремальна патологічна версія цього — "коло смерті" мурах (ant mill), коли мурахи слідують за феромоном одна одної по замкненому колу, доки не гинуть від виснаження.
Чи справді система контролю версій (Git) є прикладом стигмергії?
Так. Кожен коміт — це слід, залишений у спільному, стійкому середовищі (репозиторії). Майбутні учасники реагують на поточний стан коду, не потребуючи прямого спілкування з автором оригіналу — саме асинхронна, опосередкована середовищем координація, яка визначає стигмергію.
Як стигмергія використовується в оптимізації мурашиною колонією (ACO)?
ACO симулює віртуальних мурах, що проходять графове представлення задачі (наприклад, задачу комівояжера), відкладаючи віртуальний феромон на ребрах, якими вони пройшли, а феромон випаровується щоітерації. Протягом багатьох ітерацій феромонне поле концентрується на майже оптимальних рішеннях, відображаючи, як реальні мурашині колонії знаходять найкоротші шляхи.
Що таке "стежки бажання" і як вони пов'язані зі стигмергією?
Стежка бажання — це протоптана на траві чи ґрунті стежка, утворена повторюваним пішим рухом найефективнішим маршрутом між двома точками, а не вздовж прокладеної доріжки. Кожен крок пішохода — це сематектонічний слід: трохи протоптана ділянка землі трохи полегшує та робить помітнішим для наступного пішохода йти тим самим шляхом, підсилюючи стежку з часом — ландшафтні архітектори іноді свідомо чекають появи стежок бажання перед прокладанням доріжок.
Як рої роботів використовують стигмергію для пошуково-рятувальних операцій?
Прості пошуково-рятувальні роботи можуть залишати віртуальний "феромонний" сигнал через радіомаяки, наземні мітки чи спільну карту зайнятості, вказуючи вже обшукані ділянки. Інші роботи зчитують цей сигнал і надають перевагу дослідженню немаркованих регіонів, досягаючи ефективного повного покриття території без потреби в глобальній карті чи прямій комунікації з кожним іншим роботом.
Які основні компроміси стигмергії проти прямої комунікації?
Стигмергія масштабується безкоштовно при додаванні агентів (без накладних витрат на маршрутизацію повідомлень), толерує відмову чи відсутність агента, не потребує синхронної присутності. Ціна — точність: стигмергічні сигнали зашумлені, розпадаються з часом і не можуть виразити складний намір, як-от домовленість про конкретну ціну чи термін — для цього потрібні явні протоколи, наприклад Contract Net Protocol.
▶ Жива демонстрація

🐜 Подивіться, як стигмергія сходиться до найкоротшого шляху

Інтерактивна симуляція феромонного поля — спостерігайте, як колонія самоорганізується на найкоротший маршрут без центрального контролю.

Відкрити симуляцію →

🔗 Пов'язані симуляції

🐜Мурахи 🐦Боїди