В довесок к сказанному @PohuistAgressor, #comment_223772068.
У муравьёв, не смотря на то, что у них, условно говоря, полтора нейрона, очень хорошо получается строить сложные маршруты, которые очень близки к наикратчайшим, между муравейником и источниками еды. Работает это примерно так:Муравей, выбегая на поиски еды, оставляет за собой феромон, как мальчик с пальчик хлебные крошки. Окружающий мир настолько большой для него, что отбежав на метр от муравейника, он может банально заблудиться. Этот феромон для него как клубок Ариадны, а окружающий мир - это Кносский лабиринт. По нему муравей сможет найти дорогу обратно. Если муравьишка нашёл еду - он возвращается домой по пахучему следу. Но как он найдёт дорогу обратно к упавшему яблоку? Он же не ёжик, чтоб утараканить его в одиночку. Тут он оставляет другой пахучий след. Таким образом у муравья есть два феромона:
1) Иду искать жрать
2) Тащу домой жрать
по первому феромону можно найти путь домой, по второму путь до еды. Но мы живём не в идеальном мире. Муравей может пройти 10-ки метров, прежде чем наткнётся на яблоко, которое лежит в метре от муравейника. Вот тут-то и срабатывает магия муравьиного алгоритма - муравьи довольно быстро выстраивают ровную дорожку не по пути первого нашедшего, а наиболее кратчайшую. Всё дело в том, что феромон выветривается. Если муравей на свём пути встречает пахучую дорожку, которая пахнет сильнее, а значит свежее, а значит короче - он сворачивает на неё. Естественно, что муравей, выбежав из муравейника на промысел и встретив пахучий след, который ведет к еде - он устремляется по нему. Чем больше муравьёв пробежало - тем более пахучий след остаётся. Есть несколько видов симуляций в интернетах на наглядно демонстрирующих как это работает.
В прошлом веке математики предложили такой алгоритм для решения задачи коммивояжера. Как известно, решать такую задачу методом простого перебора неэфективно, если у тебя несколько 10-ков городов (а если больше 66 - просто невозможно).
Для любителей математики оставлю здесь это: