Спостерігайте, як мурахи знаходять їжу за допомогою феромонів — поведінка, що виникає з простих правил і створює складний колективний інтелект. Кожна мураха слідує локальним хімічним градієнтам, але разом вся колонія знаходить оптимальні шляхи.
Стигмергія — непряме спілкування через навколишнє середовище. Мурахи залишають феромони, що приваблюють інших, створюючи позитивний зворотний зв'язок для ефективного збирання їжі.
Використовуйте повзунки для зміни кількості мурах, джерел їжі та швидкості випаровування феромонів. Клікайте на поле, щоб додати їжу. Правою кнопкою видаліть її. Увімкніть режим двох колоній, щоб спостерігати конкуренцію.
Реальні мурашині колонії використовують понад 20 різних феромонних хімікатів. Ця модель симулює два найважливіших: «їжа знайдена» та «шлях додому».
Це агентна модель збирання їжі мурахами, яка повністю керується локальними правилами. Кожна мураха блукає, відчуває концентрацію феромонів у трьох напрямках попереду й повертає до найсильнішого сигналу, водночас залишаючи власну стежку. На сітці відстежуються два скалярні поля: стежка «до їжі», яку прокладають мурахи у пошуку, і стежка «додому», яку прокладають ті, що повертаються. Поєднання згасання стежок із позитивним зворотним зв'язком дозволяє колонії сходитися на коротких маршрутах — це приклад стигмергії, принципу, що лежить в основі оптимізації за мурашиними колоніями.
Емерджентний пошук шляху простими агентами. Мурахи зчитують феромон у конусі прямо, ліворуч і праворуч, заданому кутом огляду, повертають до найгустішої клітинки, узятої за 12 пікселів попереду, і додають невелике випадкове блукання. Стежки зберігаються як дві сітки Float32Array (клітинки по 4 пікселі), що множаться на коефіцієнт згасання кожен кадр, тож невикористані шляхи зникають, а підкріплені — лишаються.
Повзунки задають кількість мурах (10–300), число джерел їжі (1–8), згасання феромонів (0,9–0,999), швидкість мурах і кут огляду для зчитування (10–120°). Лівий клік додає джерело їжі; правий клік прибирає найближче. Позначте «Дві колонії», щоб зіткнути гніздо A з гніздом B, кожне з власними стежками. Панель показує зібрану їжу, кількість мурах і FPS; «Restart» перезапускає все.
Реальні мурахи використовують понад двадцять різних стежкових і тривожних феромонів. Ця модель абстрагує лише два канали — «їжа знайдена» та «шлях додому» — проте цієї мінімальної пари достатньо, щоб відтворити знамениті досліди з подвійним містком, у яких колонії надійно знаходять коротший із двох маршрутів.
Стигмергія — це непряма координація через навколишнє середовище, а не через прямі повідомлення. Мураха змінює світ, залишаючи феромонну позначку, і ця позначка впливає на наступну мураху, що проходить повз. Жодна мураха не має ні карти, ні плану, проте накопичені позначки дозволяють колонії поводитися так, ніби вони в неї є — саме це й візуалізує ця симуляція.
На кожному кроці мураха зчитує сітку феромонів, за якою наразі слідує — стежку їжі під час пошуку, стежку додому під час перенесення їжі — у трьох точках за 12 пікселів попереду: прямо, ліворуч і праворуч, розділених кутом огляду. Вона повертає до того напрямку, де сигнал найсильніший, а потім додає невеликий випадковий поштовх, щоб рій продовжував досліджувати, а не застигав на одному шляху.
Згасання — це множник, який застосовується до кожної клітинки сітки в кожному кадрі, від 0,9 до 0,999. Значення близькі до 0,999 змушують стежки зберігатися дуже довго, тож навіть погані маршрути затримуються, і колонія адаптується повільно. Нижчі значення швидко стирають стежки, змушуючи постійно досліджувати наново. Найцікавіша поведінка виникає посередині, де добрі шляхи підкріплюються швидше, ніж згасають.
Вона точно відтворює основний механізм: залишити, слідувати й випарувати. Реальні мурахи додають чинники, які ця модель опускає, як-от інтенсивність вербування на стежку, рельєф і безліч типів хімікатів. Схема подвійної стежки й експоненційне згасання тут відображають стандартну підручникову модель і алгоритм оптимізації за мурашиними колоніями, тож це обґрунтоване концептуальне, а не біологічно точне зображення.
Оптимізація за мурашиними колоніями, або ACO, — це клас алгоритмів, натхнених саме цією поведінкою збирання їжі. Віртуальні мурахи будують кандидатні розв'язки, залишають феромон пропорційно до якості розв'язку, а випаровування знецінює старіші вибори. Запущений на графі замість відкритого поля, той самий цикл «залишити-слідувати-згаснути» розв'язує задачі маршрутизації на кшталт задачі комівояжера — ось чому ця симуляція належить до сімейства алгоритмів.