Муравьиные алгоритмы
12.3.Муравьиная система
Первый муравьиный алгоритм был разработан M.Дориго[2].По современной классификации он относится к (antsystem) муравьиной системе (МС). По сравнению с простым муравьиным алгоритмом в МС улучшены характеристики за счет изменения метода вычисления вероятности выбора следующей вершины путем учета эвристической информации и ввода списка запрещенных вершин (tabulist). Конкретно, в МС вероятность перехода из -ой вершины в -ю вершину определяется следующим образом
( 12.6) |
где: 1) представляет апостериорную эффективность перехода из вершины в , которая определяется интенсивностью феромона для соответствующей дуги; 2) представляет априорную эффективность перехода из в на основе некоторой эвристики.
Вероятность перехода в МС, определяемая (12.6), отличается от аналога в ПМА, заданной (12.2), двумя аспектами:
- При вычислении вероятности перехода в МС предпринята попытка сбалансировать влияние интенсивности феромона (отражающее предысторию успешных действий) и эвристической информации (выражающее предпочтительность некоторого выбора). Этот баланс управляет процессом эксплуатации-расширения в пространстве поиска решения. Баланс регулируется значениями коэффициентов и . При информация о концентрации феромона не используется и предыдущий опыт игнорируется. Если , то не учитывается эвристическая информация и мы имеем простой МА. Эвристическая информация о предпочтительности выбора следующей вершины можетпредставляться в различной форме и зависит от задачи. Например, для выбора кратчайшего пути можно использовать , где - расстояние между вершинами и . Очевидно, что в этом случае предпочтительней короткая дуга, исходящая из вершины .
- Множество определяет множество допустимых вершин для -го муравья. Это множество может включать соседние к вершины, которые не посещались -м муравьем. Для этого для каждого муравья создается и отслеживается табу-список. Вершины из этого списка удаляются из , поскольку каждая вершина может посещаться только один раз.
Некоторые авторы [6] вместо (12.6) в МС используют другую форму выражения для вероятности:
( 12.8)
Здесь параметр определяет относительную важность концентрации феромона по сравнению с эвристикой . Данный вариант МС по сравнению с предыдущим не требует задания параметра .
Испарение феромона реализуется согласно (12.5) – после построения пути каждым муравьем, концентрация феромона на каждой дуге корректируется следующим образом:
( 12.9) |
где
( 12.10) |
и - количество феромона, откладываемое муравьем на дуге в момент времени .
M.Дориго разработал три модификации МС, которые отличаются методом вычисления (в предположении, что решается задача минимизации):
-
Ant-cycle AS, где
( 12.11) где - положительная константа. Здесь количество феромона откладывается обратно пропорционально качеству на дугах полного пути, построенного муравьем. При этом для изменения концентрации феромона используется глобальная информация.
При решении задач максимизации в этом случае
( 12.12) -
Ant-density AS, где
( 12.13) В этой модификации каждый муравей откладывает одинаковое количество феромона на любой дуге построенного пути. Этот подход учитывает только количество муравьев, прошедших по данной дуге . Чем выше плотность трафика на дуге, тем более она привлекательна для окончательного решения.
-
Ant-quantity AS, для которой
( 12.14) В этом случае при коррекции концентрации феромона используется только локальная информация – расстояние и МС предпочитает выбирать короткие дуги.
В целом МС-алгоритм представлен ниже псевдокодом A12.3[6]. Здесь на этапе инициализации размещение муравьев определяется решаемой задачей. Если целью является поиск кратчайшего пути между заданными вершинами графа, то все муравьев размещаются на начальной вершине. С другой стороны, если целью является построение кратчайшего гамильтонова цикла (соединяющего все вершины), то муравьев случайно размещаются на всем графе. Это расширяет пространство поиска. Инициализация феромона выполняется с помощью либо малой константы , либо небольших значений из диапазона .
Автор МС M.Дориго[6] исследовал характеристики всех трех приведенных модификаций, прежде всего, при решении задачи коммивояжера. Версия Ant-cycle AS работала быстрее, в силу использования глобальной информации.
Кроме этого Дориго[6] ввел стратегию элитизма, где в дополнение коррекции феромона согласно (12.4) дополнительно добавляется количество феромона, пропорциональное длине лучшего пути для всех его дуг следующим образом:
( 12.15) |
где
( 12.16) |
Здесь – число элитных муравьев, - лучшее корректное решение с .