Научная статья на тему 'Применение алгоритма «Коллективной оптимизации» в сетевых структурах'

Применение алгоритма «Коллективной оптимизации» в сетевых структурах Текст научной статьи по специальности «Математика»

CC BY
152
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕТЕВЫЕ СТРУКТУРЫ / NETWORK STRUCTURE / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / ARTIFICIAL INTELLECT / АЛГОРИТМ "КОЛЛЕКТИВНОЙ ОПТИМИЗАЦИИ" / ALGORITHM "ANT COLONY OPTIMIZATION"

Аннотация научной статьи по математике, автор научной работы — Евлашкин А.А., Лукьянов А.В., Куцый Н.Н.

Рассматривается применение алгоритма метода искусственного интеллекта «Ant Colony Optimization» (коллективной оптимизации муравьев) в решении прикладных задач сетевой оптимизации. Данный метод основывается на имитации роевого интеллекта коллективных насекомых в среде простейших независимых программных агентов и имеет перспективы применения в условиях постоянно изменяющейся внешней среды. Эффективность метода подтверждена эксперементально.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Евлашкин А.А., Лукьянов А.В., Куцый Н.Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Применение алгоритма «Коллективной оптимизации» в сетевых структурах»

иркутским государственный университет путей сообщения

УДК 62-503.56 А.А. Евлашкин,

аспирант ИрГУПС (г. Иркутск), тел. 89500761767

А.В. Лукьянов,

д.т.н., профессор каф. ТиПМ, ИрГУПС (г. Иркутск), тел. (3952) 638395 доп. 1-55

Н.Н. Куцый,

д.т.н., профессор ИрГУПС (г. Иркутск), тел. (3952) 383585

ПРИМЕНЕНИЕ АЛГОРИТМА «КОЛЛЕКТИВНОЙ ОПТИМИЗАЦИИ» В СЕТЕВЫХ СТРУКТУРАХ

A.A. Evlashkin, A. V. Lukyanov, N.N. Kutsyy

USING OF ALGORITHM «ANT COLONY OPTIMIZATION» IN THE NETWORK STRUCTURE

Аннотация. Рассматривается применение алгоритма метода искусственного интеллекта «Ant Colony Optimization» (коллективной оптимизации муравьев) в решении прикладных задач сетевой оптимизации. Данный метод основывается на имитации роевого интеллекта коллективных насекомых в среде простейших независимых программных агентов и имеет перспективы применения в условиях постоянно изменяющейся внешней среды. Эффективность метода подтверждена эксперементально.

Ключевые слова: сетевые структуры, искусственный интеллект, алгоритм «коллективной оптимизации».

Abstract: In this article it is regarded using the method of an artificial intellect of algorithm "Ant Colony Optimization" in the decision of applied problems of network optimization. This method is based on imitation swamp intelligent social insect in environment of elementary independent program agents and has application prospects in conditions of constantly changing environment. Efficiency of the method is confirmed experimentally.

Keywords: network structure, algorithm "ant colony optimization ", artificial intellect.

Введение

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

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

Нестрого сетевые структуры можно определить как несколько иерархических структур, соединенных вершинами максимального уровня иерархии. С ростом численности населения мира, потребностей, удешевления технологий увеличивается количество ресурсов, транспортируемых в таких сетях. Увеличивается нагрузка, выявляются узкие места, возникают коллизии, вследствие чего возникают существенные задержки и нарушение циркуляции ресурсов. Существуют различные способы решения данных проблем, связанные с ускорением работы линий, расширением линий, изменением среды передачи, характеристик передающих устройств. Методы, позволяющие увеличить количество одновременно передаваемых потоков в уже существующих сетевых структурах без их существенного изменения, представляются наиболее ценными. Потому что за счет применения таких методов можно добиться значительного увеличения эффективности эксплуатации объектов, имеющих сетевую структуру, избежать затрат на их модификацию и строительство дополнительных объектов. На данный момент существует большое число методов, позволяющих находить оптимальные пути в сетевых структурах. Их основным недостатком является статичность. Если оптимальный путь найден, но условия задачи изменились, поиск необходимо производить заново, повторяя всю последовательность действий, без учета предыдущих вычислений. Второй недостаток - это привязка к определенной структуре, не-

Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы

обходимость в начале решения задачи учесть все составляющие исследуемой сети. В этой статье будет рассмотрен метод сетевой оптимизации «Ant Colony Optimization» (ACO), лишенный данных недостатков.

Метод «Ant Colony Optimization» относится к одному из направлений искусственного интеллекта, основанному на имитации поведения колоний насекомых с социальным типом поведения (например, пчел, муравьев) при решении общих коллективных задач, получившему название «роевой интеллект» (Swarm Intelligence). Основателями данного направления можно считать Эрика Бо-набо, Марко Дориго и Хун Чжан [4].

Эрику Бонабо при изучении коллективного поведения насекомых удалось провести аналогии между группой насекомых и коллективами людей. Бельгийский исследователь Марко Дориго, изучив поведение колонии муравьев, предложил подход для нахождения приближённых решений задачи поиска оптимального пути, проходящего через некоторое число узлов. Им был разработан алгоритм оптимизации «Ant Colony Optimization». Параллельно исследования в области использования принципов коллективного поведения насекомых в робототехнике проводились группой ученых под руководством профессора Хун Чжана.

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

1. Постановка задачи

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

При других равных каждый агент выберет свой путь. Первый агент выбирает верхний путь, а второй - нижний. Так как нижний путь в два раза короче верхнего, второй агент достигнет цели за

время и. Первый агент в этот момент пройдет только половину пути (рис. 1).

Когда один агент достигает цели, он берет один из объектов и возвращается на базу по тому же пути. За время t2 второй агент вернулся на базу, а первый агент достиг цели (рис. 2).

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

Цель

О

Рис. 1. Начальная фаза движения объектов

Цель

О

Рис. 2. Конечная фаза движения

иркутским государственный университет путей сообщения

4

3

Рис. 3. Граф движения объектов

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

В этом и состоит базовая идея алгоритма "Ant Colony Optimization" - оптимизация путем непрямой связи между автономными агентами.

2. Алгоритм «Ant Colony Optimization» модификация 1 для решения транспортной задачи

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

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

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

2

время затирания может привести к получению устойчивого локального оптимального решения [2].

Движение агента основано на простом вероятностном уравнении. Если агент не закончил путь, то есть не посетил все узлы сети, для определения следующего отрезка пути используется уравнение

т(г, и , и)Р

P =

, и)ахф, и у

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

Пройденный агентом путь отображается, когда агент посетит все узлы графа. Повторы запрещены, поскольку в алгоритм включен список запрещенных узлов. После завершения длина пути может быть вычислена - она равна сумме всех ребер, по которым проходил агент. Уравнение (2) показывает количество меток, которые были нанесены на каждом отрезке пути для агента к. Q является константой:

Ф

(1)

аЖ (t).

J Lk(t)

(2)

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

ту (t) = ATj(t) + (Jt) хр)

(3)

Важно, что данное уравнение используется на всем пути, при этом каждый отрезок помечается цифровыми метками пропорционально длине пути. Поэтому следует обновлять уровни меток, только когда агент пройдет весть путь, в противном случае полная его длина останется неизвестной. Константа р - значение между 0 и 1.

Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы

В начале пути у каждого отрезка есть шанс быть выбранным. Чтобы постепенно удалить отрезки, которые входят в худшие пути графа, ко всем отрезкам применяется процедура очистки меток. Используя константу p из уравнения 3, мы получаем уравнение 4:

Tij(t) = Tjjit) X (1 - р). (4)

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

После того как путь агента завершен, отрезки обновлены в соответствии с длиной пути и произошло удаление меток на всех отрезках, алгоритм запускается повторно. Список запрещенных узлов очищается, и длина пути обнуляется. Агентам разрешается перемещаться по графу, основывая выбор отрезка на уравнении 1. Этот процесс может выполняться для постоянного количества путей или до момента, когда на протяжении нескольких запусков не было отмечено повторных изменений. Затем определяется лучший путь, который и является решением.

Адаптация алгоритма «Ant Colony Optimization» для решения транспортной задачи с постоянно изменяющимися условиями и неопределенными начальными условиями (моди-фикация-2)

Как было сказано в начале статьи, особый интерес представляет использование алгоритма "Ant Colony Optimization" для решения задач с постоянно изменяющимися условиями и неопределенными начальными условиями. Например, для нахождения минимального пути в большом городе с периодически возникающими пробками или на не исследованной территории при поиске какого либо объекта.

При решении таких задач мы сталкиваемся с проблемой ресурсо-временной сложности. Она заключается в том, что различные алгоритмы нахождения кратчайшего пути позволяют выбирать между скоростью выполнения и требуемыми ресурсами. Инструкция может выполняться быстрее, используя больше памяти, или наоборот, медленнее, заняв меньший объем памяти. Модификация-1 алгоритма «Ant Colony Optimization» для решения транспортной задачи в вычислениях использует значения длин отрезков, соединяющих опорные точки. Задав карту улиц города в виде сети, мож-

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

Результат будет получен практически мгновенно, но это потребует большого объема памяти. Карта улиц большого города может содержать сотни тысяч точек. Для такой сети таблица кратчайших расстояний содержала бы более 10 миллиардов записей. При таком подходе сложность алгоритма оценивается по затратам времени и ресурсов и находится компромисс между ними [1].

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

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

Первая особенность данной задачи заключается в одинаковых расстояниях между смежными точками поля. В связи с этим агенты во время движения не имеют возможность учитывать расстояние между точками. Формула:

j -

[zij^Y^ij

р

(5)

а..г.. ]р im\

I [?im(t)] ax[l m e allowed k 0, J g allowed k

модифицируется следующим образом:

, J e allowedt

иркутский государственный университет путей сообщения

pkj(t) ч

Tlj

(t) ]

z

m e allowedk 0, J £ allowed^

\_Tim(t)]

-, J e allowedk.

(6)

АтУ ) = Q. J Lk

(7)

Введем коэффициент BETA (b) влияния продолжительности пути агента на количество наносимых меток для каждой точки. Если b=0, агент наносит метки равномерно вне зависимости от расстояния до цели или базы.

ATk. = Q ATiJ rb'

(8)

L

k

Из формулы исключаются учет расстояния между двумя точками, коэффициенты значимости а и в.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где Q - константа, Lk - общая длина маршрута, пройденного k-ым агентом.

3. Экспериментальная проверка метода

Для проверки метода была разработана программа на языке с++, реализующая алгоритм "Ant Colony Optimization" модификация-2.

В начале работы программы агенты выходят из базовой точки, передвигаясь случайным образом и, образуют «облако», базу. Часть агентов выходит за границы облака, и передвигается по полю в поисках цели (рисунок 5).

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

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

На рисунке 7 видно слабое движение между двумя точками. Для эффективной работы алгоритма важно правильно подобрать параметры.

Рис. 4. Блок-схема одного шага агента

Формула для вычисления Лг,, количества меток, наносимых к-ым агентом на точку:

Рис. 5. Запуск алгоритма

Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы

Рис. 6. Проставление меток в пространстве вокруг цели

BETA (b) - коэффициент влияния продолжительности пути агента на количество устанавливаемых меток для каждой точки.

MAX_ANTS - константа, задающая количество агентов.

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

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

Рис. 7. Движение агентов между базой и целевыми точками

В разработанном программном продукте можно задавать значения следующих параметров:

Коэффициент уменьшения числа цифровых меток RHO (р) , по умолчанию равен 0,996.

Количество меток, которое было оставлено на пути QVAL (Q). Значение данной переменной в процессе разработки программы было установлено равным 25.

Максимальное количество меток на клетке max_pher равно 8.

Минимальное количество цифровых меток на клетке min_pher равно 0,2.

Рис. 8. Пример работы программы с настроенными параметрами и дополнительным кодом

Заключение

В работе предложена модификация алгоритма «Ant Colony Optimization» для решения транспортной задачи с постоянно изменяющимися условиями и неопределенными начальными условиями. Проведены эксперименты и получены положительные результаты. Предложены значения параметров и дополнительное действие, позволяющие повысить эффективность работы алгоритма в данной модификации.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Род Стивенс Visual Basic. Готовые алгоритмы.

- Москва.: Изд. ДМК Пресс, 2000. - 384 с.

иркутским государственный университет путей сообщения

2. М. Тим Джонс, Программирование искусственного интеллекта в приложениях. - М. : Изд. ДМК Пресс, 2006.

3. Стюарт Рассел, Питер Норвиг, Искусственный интеллект: современный подход(А1МА) . - М. : Изд. «Вильямс», 2005.

Евгений Острогляд, Методики дрессировки «цифровых муравьев» // Компьютерное Обозрение. - 2002.

i Надоели баннеры? Вы всегда можете отключить рекламу.