logo
Исскуственый интелект

2.6 Путешествие муравья

Пройденный муравьем путь отображается, когда муравей посетит все узлы

диаграммы. Обратите внимание, что циклы запрещены, поскольку в

алгоритм включен список табу. После завершения длина пути может быть

подсчитана она равна сумме всех граней, по которым путешествовал

муравей. Уравнение показывает количество фермента, который был

оставлен на каждой грани пути для муравья k . Переменная Q , является

константой.

(2.2)

Результат уравнения является средством измерения пути, короткий путь

характеризуется высокой концентрацией фермента, а более длинный путь

более низкой. Затем полученный результат используется в уравнении 2.3,

чтобы увеличить количество фермента вдоль каждой грани пройденного

муравьем пути.

(2.3)

Обратите внимание, что данное уравнение применяется ко всему пути,

при этом каждая грань помечается ферментом пропорционально длине пути.

Поэтому следует дождаться, пока муравей закончит путешествие и только

потом обновить уровни фермента, в противном случае истинная длина пути

останется неизвестной. Константа р значение между 0 и 1.

2.7 Испарение фермента

В начале пути у каждой грани есть шанс быть выбранной. Чтобы

постепенно удалить грани, которые входят в худшие пути в сети, ко всем

граням применяется процедура испарения фермента . Используя константу

р из уравнения 2.3, мы получаем уравнение 2.4.

(2.4)

Поэтому для испарения фермента используется обратный коэффициент

обновления пути.

2.8 Повторный запуск

После того как путь муравья завершен, грани обновлены в соответствии с длиной пути и

произошло испарение фермента на всех гранях, алгоритм запускается

повторно. Список табу очищается, и длина пути обнуляется. Муравьям

разрешается перемещаться по сети, основывая выбор грани на уравнении

2.1

Этот процесс может выполняться для постоянного количества путей или

до момента, когда на протяжении нескольких запусков не было отмечено

повторных изменений. Затем определяется лучший путь, который и

является решением.

2.9 Области применения

Алгоритм муравья может применяться для решения многих задач, таких

как распределение ресурсов и работы.

При решении задачи распределения ресурсов необходимо задать группу

ресурсов n для ряда адресатов m и при этом минимизировать расходы на

перераспределение (то есть функция должна найти наилучший способ

распределения ресурсов). Обнаружено, что алгоритм муравья дает решения

такого же качества, как и другие, более стандартные способы.

Намного сложнее проблема распределения работы. В этой задаче группа

машин М и заданий J (состоящих из последовательности действий,

осуществляемых на машинах) должны быть распределены таким образом,

чтобы все задания выполнялись за минимальное время. Хотя решения,

найденные с помощью алгоритма муравья, не являются оптимальными,

применение алгоритма для данной проблемы показывает, что с его помощью

можно решать аналогичные задачи.

Алгоритм муравья применяется для решения других задач, например,

прокладки маршрутов для автомобилей, расчета цветов для графиков и

маршрутизации в сетях. Более подробно способы использования алгоритма

муравья описываются в книге Марко Дориго «Алгоритмы муравья для

абстрактной оптимизации»