Открыть сервис

Ant System

Ant System (рус. «Муравьиная система») — это один из первых и наиболее известных алгоритмов роевого интеллекта, основанный на моделировании поведения муравьёв при поиске кратчайших путей к источнику пищи. Относится к классу метаэвристических алгоритмов, применяемых для решения задач комбинаторной оптимизации, в первую очередь — задачи коммивояжёра (TSP). Алгоритм был предложен итальянским учёным Марко Дориго в 1992 году в его докторской диссертации и впоследствии опубликован в 1996 году совместно с Витторио Маниеццо и Альберто Колорни.

История и предпосылки

Идея алгоритма возникла из наблюдений за поведением муравьёв в природе. В 1949 году французский энтомолог Пьер-Поль Грассе описал концепцию стигмергии — формы косвенной координации, при которой особи оставляют во внешней среде сигналы (феромоны), влияющие на поведение других особей. В 1959 году Грассе применил эту концепцию к объяснению коллективного строительства термитов. Позднее, в 1989 году, Жан-Луи Денёбур и его коллеги экспериментально показали, что муравьи вида Linepithema humile способны находить кратчайший путь к пище, используя только феромонные следы.

Марко Дориго впервые формализовал этот биологический принцип в виде вычислительного алгоритма. Первая версия, названная Ant System, была представлена в 1991 году на конференции по искусственной жизни (ECAL). В 1992 году вышла диссертация Дориго, где алгоритм был подробно описан и протестирован на задаче коммивояжёра. В 1996 году вышла ставшая классической статья «Ant system: optimization by a colony of cooperating agents» в журнале IEEE Transactions on Systems, Man, and Cybernetics.

Основные принципы

Ant System имитирует поведение колонии муравьёв, решающих задачу поиска кратчайшего маршрута. В алгоритме используются следующие ключевые элементы:

Правило перехода

Каждый муравей в момент времени \( t \) находится в городе \( i \) и выбирает следующий город \( j \) из множества ещё не посещённых городов \( N_i^k \) с вероятностью:

\[ p_{ij}^k(t) = \frac{[\tau_{ij}(t)]^\alpha \cdot [\eta_{ij}]^\beta}{\sum_{l \in N_i^k} [\tau_{il}(t)]^\alpha \cdot [\eta_{il}]^\beta} \]

где:

Обновление феромонов

После того как все муравьи построили маршруты, производится обновление феромонных следов. Процесс состоит из двух этапов:

  1. Испарение: все феромоны уменьшаются на фиксированный коэффициент \( \rho \) (0 < ρ < 1):

\[ \tau_{ij}(t+1) = (1 - \rho) \cdot \tau_{ij}(t) \]

  1. Отложение: каждый муравей \( k \) добавляет феромон на те рёбра, которые входят в его маршрут:

\[ \tau_{ij}(t+1) = \tau_{ij}(t+1) + \sum_{k=1}^m \Delta \tau_{ij}^k \] где \( \Delta \tau_{ij}^k = Q / L_k \), если ребро \( (i, j) \) входит в маршрут муравья \( k \), и 0 в противном случае. Здесь \( Q \) — константа, \( L_k \) — длина маршрута муравья \( k \).

Таким образом, чем короче маршрут, тем больше феромона на его рёбра откладывается.

Разновидности Ant System

Исходный Ant System породил несколько модификаций, улучшающих его производительность:

Elitist Ant System (EAS)

В этой версии наиболее сильный муравей (тот, который нашёл лучший маршрут за всю историю поиска) получает дополнительное усиление: его феромон откладывается с весом \( e \). Это ускоряет сходимость к лучшему решению.

Rank-Based Ant System (ASrank)

Все муравьи ранжируются по длине найденных маршрутов. Только \( w \) лучших муравьёв (обычно \( w = 6 \)) откладывают феромон, причём каждый — с весом, пропорциональным его рангу.

Max-Min Ant System (MMAS)

Разработан Томасом Штюцле и Хольгером Хоосом в 2000 году. В этой версии феромоны ограничены интервалом \( [\tau_{min}, \tau_{max}] \), что предотвращает их чрезмерное накопление на одних рёбрах и полное исчезновение на других. Кроме того, после каждого обновления феромонов все рёбра инициализируются значением \( \tau_{max} \), что стимулирует исследование.

Ant Colony System (ACS)

Предложен Марко Дориго и Лукой Гамбарделлой в 1997 году. Отличается от базового Ant System тремя основными изменениями:

Применение

Ant System и его производные нашли применение в широком спектре задач оптимизации:

Критика и ограничения

Несмотря на широкую популярность, Ant System имеет ряд недостатков:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →