44
Естественные модели параллельных вычислений Лекция 10 :: Муравьиные алгоритмы Ершов Н.М. [email protected] Проект комиссии Президента РФ по модернизации и техническому развитию экономики России Создание системы подготовки высококвалифицированных кадров в области суперкомпьютерных технологий и специализированного программного обеспечения Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 1 / 44

Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Естественные моделипараллельных вычислений

Лекция 10 :: Муравьиные алгоритмы

Ершов Н.М.

[email protected]

Проект комиссии Президента РФпо модернизации и техническому развитию экономики России

«Создание системы подготовки высококвалифицированных кадров вобласти суперкомпьютерных технологий и специализированного

программного обеспечения»

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 1 / 44

Page 2: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Муравьиные алгоритмы

Муравьиные алгоритмы — это семействоприближенных алгоритмов для решенияразличных сложных оптимизационныхзадач.Идея этих алгоритмов основана намоделировании поведения муравьинойколонии, выполняющей поиск пути отмуравейника к источнику пищи.Первый вариант муравьиного алгоритма,предназначенный для приближенногорешения задачи коммивояжера былразработан Марко Дориго в 1992 году.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 2 / 44

Page 3: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Биологический прототип

Муравьиные алгоритмы основаны на следующей оссобенностиповедения муравьев в природе.При поиске путей к источникам пищи муравьи помечаютпройденный путь специальным веществом — феромоном.Остальные муравьи, попадая на такой путь, с большойвероятностью начинают двигаться по этому пути, эта вероятностьтем больше, чем больше концентрация феромона. Таким образом,феромон играет роль положительной обратной связи в системе —чем больше муравьев двигаются по помеченному пути, тембольше он становится привлекательным для других муравьев. Врезультате, через некоторое время большая часть муравьев будетпередвигаться от муравейника до найденного источника пищи поодному и тому же пути.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 3 / 44

Page 4: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Особенности схемы коммуникации

Отличительными особенностями такого способа коммуникации,получившего название stigmergy, являются:1) обмен информацией между муравьями является непрямым

(безадресным), а производится путем изменения окружающеймуравьев среды;

2) информация является локально распределенной, другие муравьимогут получить доступ к ней, только переместившись вконкретную точку пространства.

Интересной особенностью поведения муравьев является то, чтонайденный ими путь, при некоторых условиях, иногда оказываетсякратчайшим путем, связывающим муравейник с источникомпищи.Этот факт был подтвержден опытами с настоящими муравьями.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 4 / 44

Page 5: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Эксперимент с двумя мостами

Схема одного такого классического опытапоказана на рисунке. Имеется два путиодинаковой длины от муравейника доисточника пищи.

На начальном этапе опыта муравьидвигаются по обоим возможнымнаправлениям, но постепенно за счетслучайных флуктуаций, один из путейполучает небольшое преимущество,которое очень быстро приводит к тому, чтовсе муравьи переключаются на этот путь.

Если повторять этот опыт несколько раз,то оказывается, что в среднем каждый издвух таких путей (равной длины)выбирается примерно в половине случаев.

муравейник

источник пищи

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 5 / 44

Page 6: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Эксперимент с двумя мостами

Иная ситуация наблюдается в том случае,если пути до пищи имеют разную длину.

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

Этот результат объясняетсяэкспериментаторами тем, что короткиепути посещаются муравьями чаще, чемдлинные, поэтому они и феромономпомечаются чаще, что и приводит кусилению коротких путей по сравнению сдлинными.

муравейник

источник пищи

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 6 / 44

Page 7: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Искусственная муравьиная колония

Описанная схема коммуникации муравьев легла в основу модели,разработанной Марко Дориго, и получившей названиемуравьиного алгоритма.В этой модели предполагается, что средой обитания муравьевявляется ненаправленный граф, в вершинах которого ирасполагаются муравьи.Все ребра графа являются помеченными, в качестве метки ребраиспользуется действительное число, представляющее собойконцентрацию феромона на этом ребре.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 7 / 44

Page 8: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Перемещение муравьев

Перемещаются муравьи по ребрам графа.Муравей, находясь в вершине u графа может переместиться наследующем шаге в вершину v только в том случае, если в графеимеется ребро (u, v).Выбор ребра для перемещения делается каждым муравьем навероятностной основе, исходя из значений концентрацииферомона на ребрах исходящих из вершины u — чем большеконцентрация (относительно других ребер), тем вероятнее выборэтого ребра.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 8 / 44

Page 9: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Перемещение муравьев

При этом, на выбор ребра могут влиять и другие факторы,обычно опеределяемые спецификой решаемой задачи.Например, каждый муравей может иметь ограниченную память, вкоторой хранится номер последней посещенной им вершины.Тогда, ребро, ведущее в эту вершину (по которому былпроизведен последний переход) исключается из спискавозможных кандидатов на перемещение.Этот прием позволяет избежать короткого зацикливания муравьяна одном ребре графа, но сохраняет возможность образованияболее длинных циклов.Известен, природный аналог такого рода циклов — такназываемая «карусель смерти».

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 9 / 44

Page 10: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Задача коммивояжера

Первой задачей, для которой был построен муравьиный алгоритм,была задача коммивояжера.Пусть заданы n городов, для любых двух городов i и j известноцелочисленное расстояние dij > 0 между ними.Требуется найти самый короткий замкнутый путь, проходящийчерез все города ровно по одному разу.Граф, представляющий эту задачу, является полносвязным ивзвешенным по ребрам (вес ребра равен его длине dij).

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 10 / 44

Page 11: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Муравьиный алгоритм

Чтобы построить муравьиный алгоритм для задачи коммивояжераберется колония из N муравьев и помещается в одну из вершинграфа, которую будем называть стартовой вершиной.Все ребра графа помечаются одинаковым значением феромонаτij = τ0. После этого муравьи начинают перемещаться по графу.Каждый муравей в процессе своего движения по графу хранит такназываемый список запретов X , в который помещаются номеравсех городов (вершин), в которых этот муравей уже побывал.При выборе следующей вершины для посещения муравьиопираются на значения концентрации феромона на исходящихребрах и на значения длин этих ребер.Пусть k-ый муравей находится в i-ой вершине, а его запретныйсписок Xk еще не является до конца заполненным (посещены ещене все вершины).

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 11 / 44

Page 12: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Выбор вершины для посещения

Тогда вероятность перемещения в j-ую вершину определяетсяформулой

pkij =

ταij η

βij∑

l 6∈Xkταij η

βij

, если j 6∈ Xk ,

0, если j ∈ Xk ,

где α и β — параметры, управляющие относительной важностьюмежду феромонной информацией τij и эвристическойинформацией

ηij =1dij.

Если же у k-го муравья не осталось непосещенных вершин, то он,уже не используя вероятностного выбора, просто возвращается встартовую вершину.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 12 / 44

Page 13: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

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

После того, как все муравьи вернутся домой, сделав ровно по nперемещений, производится обновление значений концентрацииферомона на ребрах графа.Каждый муравей обновляет только те ребра, по которым онперемещался. Концентрация феромона на ребре (i , j)пересчитывается по формуле

τij ← ρτij +N∑

k=1

4τkij ,

где ρ — коэффициент испарения феромона, 4τkij — количество

феромона оставляемое на этом ребре k-ым муравьем:

4τkij =

Q/Dk , если k-ый муравей проходил по ребру (i , j),

0, иначе,

Q — некоторая фиксированная величина.Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 13 / 44

Page 14: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Итерации муравьиного алгоритма

Таким образом, чем короче путь k-го муравья, тем большеферомона он оставит на ребрах, по которым он ходил.Описанные действия (перемещение по графу и обновленийферомонов) представляют собой одну итерацию муравьиногоалгоритма.Итерации повторяются до тех пор, пока не окажется выполненнымкакой-нибудь из критериев останова алгоритма — исчерпаночисло итераций, достигнута нужная точность, полученединственный путь (алгоритм сошелся к некоторому решению).

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 14 / 44

Page 15: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Метаэвристика муравьиной колонии

На основе муравьиного алгоритма для задачи коммивояжерабыла разработана более общая стратегия решения задачкомбинаторной оптимизации, получившая названиеметаэвристики муравьиной колонии.Эта метаэвристика включает в себя формализацию задачидискретной оптимизации и обобщенный муравьиный алгоритм еерешения.Основная цель такой формализации заключается впреобразовании имеющейся задачи дискретной оптимизации взадачу обхода некоторого графа с целью поиска в немкратчайшего замкнутого пути, проходящего через все вершиныграфа. Т. е. по сути, произвольная задача преобразуется внекоторый вариант задачи коммивояжера.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 15 / 44

Page 16: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Формализация задач комбинаторной оптимизации

Пусть пространство решений Ω данной задачи образовано nпеременными x1, x2, . . . , xn, каждая из которых может приниматьконечное число значений: xi ∈ Xi .При этом на значения переменных могут накладыватьсянекоторые ограничения.Например, в задаче коммивояжера предполагается, чтоxi ∈ [1 . . . n] и xi 6= xj для любых i 6= j .Таким образом, пространство решений задачи являетсяподмножеством декартова произведения множеств Xi :

Ω ⊂ X1 × X2 × · · · × Xn.

Тогда, задачей дискретной оптимизации назовем пару (Ω, f ), гдеΩ — пространство возможных решений задачи, f : Ω→ (0,+∞)— функция, подлежащая минимизации.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 16 / 44

Page 17: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Граф задачи

Построим теперь направленный граф G (точнее, мультиграф),соответствующий пространству решений Ω.Этот граф будет состоять из n вершин, каждая из которыхсоответствует одной из переменных задачи. Будем считать, чтоi-ая вершина соответсвтует переменной xi .Соединим i-ую вершину со всеми другими вершинами дугами,число которых совпадает с размером множества Xi . Каждой такойдуге припишем ровно один элемент из Xi .Переход из i-ой вершины в j-ую по дуге, помеченной значением t,означает присваивание переменной xi значения t и переход крассмотрению переменной xj .

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 17 / 44

Page 18: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Обобщенная длина маршрута

Очевидно, что обход графа G , начиная с любой из его вершин,при котором все вершины посещаются ровно по одному разу,приводит к тому, что всем n переменным будет присвоенынекоторые значения.Если потребовать, чтобы при выполнении переходов ненарушались ограничения задачи, то построенный набор x будетпринадлежать пространству решений Ω.Значение функции f (x) на этом наборе будем называтьобобщенной длиной маршрута, который был пройден припостроении x .Если все множества Xi равны друг другу, то можно заменитьнаправленный граф G на ненаправленный, т.к. перемещение изi-ой вершины в j-ую означает, что обратного перемещения из j-ойвершины в i-ую не будет (он запрещен требованием однократногопосещения всех вершин).

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 18 / 44

Page 19: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Пример: задача о сумме элементов подмножества

Например, рассмотрим задачу о сумме элементов подмножества.Т. к. каждая переменная в такой задаче может принимать ровнодва значения 0 и 1, то любые две вершины в графе Gсвязываются двумя ребрами — нулевым и единичным.Граф G для задачи с n = 3 приведен на рисунке.

x1 x2

x3

10

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

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 19 / 44

Page 20: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Обобщенный муравьиный алгоритм

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

AntColonyOptimization(Ω, f )

1: Построение графа G (Ω)2: Инициализация дуг (ребер) графа G феромоном3: while Не выполнен критерий останова do4: ConstructAntSolutions5: ApplyLocalSearch6: UpdatePheronomes7: return Лучшее найденное решение

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 20 / 44

Page 21: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Вспомогательные процедуры

Работа такого обобщенного муравьиного алгоритма основана наиспользовании трех вспомогательных процедур:

1) ConstructAntSolutions — N муравьев помещаются впроизвольные вершины графа G и совершают обход графа,выстраивая шаг за шагом решение задачи. Выбор дуги (илиребра) для перехода в новую вершину делается согласноограничениям задачи и текущему распределению феромона поэтим дугам. Применяются различные схемы такого выбора,общим является то, что чем больше феромона на некоторой дуге,тем вероятнее выбор этой дуги.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 21 / 44

Page 22: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Вспомогательные процедуры

2) ApplyLocalSearch — многие реализации муравьиныхалгоритмов используют какой-нибудь быстрый алгоритмлокального поиска для того, чтобы улучшить решения, найденныемуравьями.

3) UpdatePheromones — выполняется обновление значенийконцентрации феромона на тех ребрах, по которым на этойитерации проходили муравьи. Здесь также используютсяразличные схемы обновления, общим условием является то, чтоболее короткие (в обобщенном смысле) пути в графе G получаютбольше феромона, что и ведет к их усилению. Кроме того,большинством муравьиных алгоритмов используется некотораямодель испарения феромона, которая также приводит кпостепенному усилению более коротких путей.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 22 / 44

Page 23: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Приложения муравьиных алгоритмов

В настоящее время имеется обширный список приложениймуравьиных алгоритмов. Работа всех таких алгоритмов впринципе укладывается в описанную метаэвристику, хотя вместопредложенного универсального способа формализации задачдискретной оптимизации обычно используется какой-нибудьдругой способ, более адекватно учитывающий особенностирешаемой задачи.Основной областью применения муравьиных алгоримов являютсяразличные NP-сложные задачи дискретной оптимизации.Сюда входят многие классические задачи подобного класса —задача коммивояжера, задача о назначении (частный случай —задача о раскраске графа), составление расписаний, задача обукладке рюкзака, задача поиска максимальной клики и т. п.Полный список включает более ста NP-сложных задач.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 23 / 44

Page 24: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Муравьиные алгоритмы и алгоритмы локального поиска

Особенностью применения муравьиных алгоритмов в данномслучае является широкое использование ими вспомогательныхпроцедур локального поиска.С одной стороны, локальный поиск в некотовых случаях можетсильно улучшить решение, найденное муравьиным алгоритмом.С другой стороны, практически для всех рассматриваемыхNP-сложных задач уже известны хорошо зарекомендовавшие себяалгоритмы локального поиска, но работа этих алгоритмовсущественно зависит от выбора хорошего начальногоприближения.Как показали исследования, муравьиные алгоритмы очень хорошоподходят в качестве таких генераторов начальных решений.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 24 / 44

Page 25: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Маршрутизация

Успешное применение муравьиных алгоритмов при решениистандартных комбинаторных задач привело к тому, что этиалгоритмы начали использоваться в реальных приложениях.Основной областью практического применения муравьиныхалгоритмов является решение проблем маршрутизации вразличного рода коммуникационных сетях.Заметим, что такая задача является очень близкой по смыслуисходной модели, лежащей в основе работы муравьиныхалгоритмов — самоорганизация путей в некотором графе с цельюпоиска кратчайшего пути, связывающего две вершины этогографа.Важным свойством муравьиных алгоритмов с точки зрениязадачи маршрутизации является их адаптивность — есликакой-нибудь маршрут становится недоступным, то системаспособна быстро находить подходящую замену.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 25 / 44

Page 26: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Вариации муравьиных алгоритмов

Описанная выше модель муравьиных вычислений не являетсяединственной, с момента ее создания были разработаны и другиемодели, основанные на той же принципиальной идее.Первноначальная модель получила название муравьиной системы(Ant System, AS). Двумя другими популярными моделямиявляются модель элитной или максиминной муравьиной системы(MAX −MIN Ant System, MMAS) и модель муравьинойколонии (Ant Colony System, ACS).Модель элитной муравьиной системы является развитиемстандартной муравьиной системы.Ее главные отличительные особенности:

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

I концентрация феромона на ребрах графа ограничивается и снизу исверху.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 26 / 44

Page 27: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Элитные муравьиные системы

Обновление феромона в данной модели производится согласноформуле:

τij ←[ρτij +4τbest

ij

]τmax

τmin,

где τmin и τmax — минимальная и максимальная концентрацияферомона, а оператор [ ]ba определяется следующей формулой:

[x ]ba =

a, если x < a,b, если x > b,x , если a ≤ x ≤ b.

Приращение феромона 4τbestij в этой модели вычисляется только

для лучшего найденного пути:

4τbestij =

1/Lbest , если ребро (i , j) входит в лучший путь,0, иначе,

где Lbest — длина лучшего пути.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 27 / 44

Page 28: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Элитные муравьиные системы

Учет только лучшего из найденных путей приводит к болеебыстрой сходимости муравьиного алгоритма, но результатомскорее будет некоторый локальный экстремум целевой функции.Для того, чтобы сохранить разнообразие в возмодных путях ивводятся ограничения на концентрацию феромона.Ограничение снизу не позволяет «умирать» плохим путям, аограничение сверху не дает слишком больших преимуществхорошим путям.Подбор конкретной комбинации параметров муравьиногоалгоритма, как обычно, определяется спецификой решаемойзадачи.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 28 / 44

Page 29: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Алгоритмы муравьиной колонии

В модели муравьиной колонии наиболее существенными являютсяследующие отличия от стандартной модели:

1) помимо (глобального) обновления феромона после завершениякаждой итерации алгоритма, вводится дополнительное локальноеобновление, выполняемое каждым муравьем сразу же послепрохода по ребру (i , j):

τij ← (1− φ)τij + φτ0,

где φ — коэффициент ослабления феромона, τ0 — начальноезначение феромона. Целью локального обновления являетсяослабление ребра, по которому только что прошел муравей, длятого чтобы следующие за ним муравьи с большей вероятностьювыбрали другие ребра для продолжения маршрута;

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 29 / 44

Page 30: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Алгоритмы муравьиной колонии

2) глобальное обновления феромона выполняется по стандартнымформулам, но только для лучшего на данной итерации пути;

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

I если случайное число q ∈ [0, 1] меньше заданного параметра q0, товыбирается ребро с максимальным уровнем феромона,

I в противном случае используется стандартная формула (методрулетки).

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 30 / 44

Page 31: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Сходимость муравьиных алгоритмов

Первоначальная идея муравьиных алгоритмов основываласьтолько на эмпирических соображениях, исходя из опытов надреальными муравьиными системами.После того, как муравьиные алгоритмы стали с успехомприменяться для решения разнообразных задач, появилисьтеоретические исследования, направленные на изучениесходимости муравьиных алгоритмов.Достаточно быстро было доказано, что муравьиные алгоритмы вмоделях MMAS и ACS сходятся в вероятностном смысле коптимальному решению: вероятность получения оптимальногорешения задачи стремится к единице при стремлении числаитераций алгоритма к бесконечности.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 31 / 44

Page 32: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Теоретические результаты

К сожалению, доказанные теоремы не способны дать оценокреальной скорости сходимости муравьиных алгоритмов, адоказыввают только их принициальную сходимость.Поэтому, практически для всех прикладных муравьиныхалгоритмов вопрос сходимости решается только путемвычислительного эксперимента.Еще одним направлением теоретических исследованиймуравьиных алгоритмов является установление связей междуними и другими классическими методами оптимизации иобучения.Такие исследования, помимо всего прочего, позволяют лучшепонять внутренние механизмы, лежащие в основе работымуравьиных алгоритмов.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 32 / 44

Page 33: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Параллельная реализация

Основная идея распараллеливания — все муравьи в течение однойитерации муравьиного алгоритма действуют независимо друг отдруга.Особенностью параллельной реализации муравьиных алгоритмовявляется то, что между муравьями вообще отсутствует прямаякоммуникация, неявный обмен информацией выполняется спомощью матрицы феромонов τ .По сути, эта матрица представляет собой глобальную (общую)структуру данных, которая должна разделяться всеми муравьями.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 33 / 44

Page 34: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Параллельная реализация

Это означает, что в любой параллельной версии муравьиныхалгоритмов необходимой является стадия синхронизациилокальной информации каждого муравья (пройденный ими путь)и глобальных данных, такая синхронизация выполняетсяпосредством обновления матрицы феромонов τ .С этой точки зрения, более естественным для муравьиныхалгоритмов является использование вычислительной модели собщей памятью.Тем не менее, большая часть имеющихся исследованийпараллельных муравьиных алгоритмов посвящена все-такимоделям с распределенной памятью.Основным преимуществом таких моделей является прежде всегоих большая масштабируемость.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 34 / 44

Page 35: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Модель с общей памятью

Суть параллельной реализации стандартного муравьиного алгоритма навычислительной системе с общей памятью заключается в том, что одинили несколько муравьев помещаются на отдельные процессорывычислительной системы.В общей памяти находится матрица τ распределения феромонов поребрам графа, доступная муравьям только для чтения) и матрицаобновлений 4τ , доступная только для записи.Каждый муравей выполняет обход графа, используя, при этом, данныеиз матрицы τ .После завершения обхода муравей получает доступ к матрице 4τ длязаписи своей порции феромона согласно пройденному им пути,блокируя при этом доступ к этой матрице остальным муравьям.После того, как все муравьи внесут свои данные в матрицу 4τ ,мастер–процесс производит обновление матрицы τ , после чегоначинается следущая итерация алгоритма.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 35 / 44

Page 36: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Синхронная модель

В простейшей параллельной реализации муравьиных алгоритмовна системах с распределенной памятью вводится понятиемастер–процесса и рабочего процесса.Мастер–процесс управляет глобальной синхронизацией всейсистемы.Каждый рабочий процесс привязан или к одному муравью(мелкозернистый параллелизм), или сразу к субколонии муравьев(крупнозернистый параллелизм).После выполнения каждым муравьем обхода графамастер–процесс собирает информацию со всех рабочих процессови на основании полученных данных обновляет матрицураспределения феромонов τ .После этого производится рассылка этой матрицы всем рабочимпроцессам.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 36 / 44

Page 37: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Синхронная модель

Основная проблема в такой синхронной реализации заключаетсяв том, что в ней очень велика доля обменов информацией посравнению с вычислительной составляющей.Каждому муравью требуется O(n2) времени на выполнение обходаграфа, пересылка данных от муравья к мастер–процессу требуетO(n) времени, рассылка матрицы τ от мастер–процесса занимаетO(n2) времени.При этом, рассылка матрицы τ может быть проведенаэффективно, используя особенности топологии связей системы иее встроенные возможности.Однако, сбор информации с рабочих процессов долженвыполняться последовательно, следовательно, этот шаг займетвремя O(nN) времени.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 37 / 44

Page 38: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Синхронная модель

Видно, что асимптотически объем вычислений и объем данныхдля обмена примерно равны, при том, что скорость выполненияобмена существенно ниже скорости вычислений, т.е. время,затрачиваемое на организацию параллельных вычислений,доминирует временем самих вычислений.Кроме того, еще одним фактором увеличения накладных расходовявляется топология системы, в которой далеко не все процессорысвязаны друг с другом прямым каналом связи.Одним из вариантов уменьшения относительной доли накладныхрасходов является увеличение загрузки каждого процессорабольшим числом муравьев.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 38 / 44

Page 39: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Синхронная модель

Еще одним способом, который применяется часто на практике,является использование максиминной модели MMAS.Ее полезной особенностью является то, что рассылке отмастер–процесса подлежит не вся матрица τ (O(n2) времени), атолько ее часть, отвечающая за лучший найденный путь (O(n)времени).Кроме того, и на этапе сборки данных мастер-процессом можносэкономить, пересылая сначала только длины найденных путей.Затем мастер–процесс выбирает кратчайший путь и запрашиваетего у того процесса, который обнаружил этот путь.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 39 / 44

Page 40: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Островная модель

Значительно более эффективной (с точки зренияраспараллеивания) является островная модель, названная так поаналогии с островной моделью генетических алгоритмов.Суть этого метода распараллеливания заключается в том, что накаждый процессор системы помещается своя колония муравьев.Каждая такая субколония развивается по стандартным правиламмуравьиных алгоритмов.Каждые 4t итераций производится обмен информацией ссоседними субколониями, в процессе которого субколонииобмениваются либо своими матрицами распределенияферомонов, либо кратчайшими найденными путями.В крайнем случае, субколонии вообще не обмениваютсяинформацией, действуя изолированно друг от друга.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 40 / 44

Page 41: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Островная модель

Преимуществом такой схемы распараллеливания являетсяостутствие выделенного управляющего центра системы(мастер–процесса).Кроме того, такая модель естественным образом может учитыватьособенности топологии межпроцессорных связей системы — двеколонии считаются соседними, если процессоры, на которых онирасполагаются, связаны прямым каналом передачи информации.При такой интерпретации все обмены в системе будут носитьтолько локальный характер, что должно положительно сказатьсяна общей динамике выполнения вычислений.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 41 / 44

Page 42: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Островная модель

Островная модель является в некоторой степени отходом отбазовой идеи муравьиных алгоритмов (совместное использованиевсеми муравьями общей среды коммуникации, роль которойиграет матрица τ).Тем не менее, эта модель представляет собой значительныйпрактический интерес с точки зрения параллельной реализациимуравьиных алгоритмов, т. к. обладает большим числомпараметров для управления степенью распараллеливанияпроцесса вычислений.

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 42 / 44

Page 43: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Библиография

1 S. Goss, S. Aron, J.-L. Deneubourg, J. M. Pasteels, Self-organizedshortcuts in the Argentine ant, Naturwissenschaften, vol. 76, pp.579–581, 1989.

2 C. Detrain, J. L. Deneubourg, Self-Organized Structures in aSuperorganism: Do Ants Behave Like Molecules?, Physics of LifeReviews 3, no. 3, pp. 162-187, 2006.

3 M. Dorigo, M. Birattari, T. Stutzle, Ant Colony Optimization,Technical Report No. TR/IRIDIA/2006-023, September 2006.

4 T. Stutzle, H. Hoos, MAX–MIN Ant System, Future GenerationComputer Systems, vol. 16, no. 8, pp. 889–914, 2000.

5 Thomas Weise, Global Optimization Algorithms – Theory andApplication (http://www.it-weise.de/).

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 43 / 44

Page 44: Лекция 10 :: Муравьиные алгоритмыhpc-education.ru/files/lectures/2011/ershov/ershov_2011...Естественные модели параллельных вычислений

Спасибо за внимание!

Ершов Н.М. (ВМК МГУ) Лекция 10 :: Муравьиные алгоритмы ЕМПВ :: 2011 44 / 44