Научная статья на тему 'Использование шаблонных решений в муравьиных алгоритмах'

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

CC BY
786
185
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МУРАВЬИНЫЕ АЛГОРИТМЫ / РОЕВОЙ ИНТЕЛЛЕКТ / ЗАДАЧА О КОММИВОЯЖЕРЕ / ЗК / NP-ЗАДАЧА / ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ / ШАБЛОНЫ / ANT COLONY OPTIMIZATION / SWARM INTELLIGENCE / ACO / TRAVELING SALESMAN PROBLEM / TSP / NP TASK / GENETIC ALGORITHMS / SCHEME

Аннотация научной статьи по математике, автор научной работы — Кажаров Аскер Артурович, Курейчик Виктор Михайлович

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

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

TEMPLATE USING FOR ANT COLONY ALGORITHMS

Swarm intelligence (SI) is the collective behavior of decentralized, self-organized systems, natural or artificial. This paper is dedicated to the developing of modification of the ant algorithm that allows to find better solutions in less time. A method is developed to create a template solution based on the idea of particular solution storage. A template can dynamically change over time, reducing the work of each iteration. Using of template allows decreasing search space. Experimental researches proved that a modified ant colony algorithm is more effective.

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

3. Лебедев О., Курейчик В., Лебедев Б. Адаптация в задачах проектирования топологии. LAP LAMBERT Academic Publishing GmbH@Co/KG. 2012.

4. Лебедев Б.К., Лебедев О.Б. Моделирование адаптивного поведения муравьиной колонии при поиске решений, интерпретируемых деревьями // Известия ЮФУ. Технические науки. - 2012. - № 7 (132). - С. 27-34.

5. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Гибридный алгоритм разбиения на основе природных механизмов принятия решений // Искусственный интеллект и принятие решений. - 2012. - С. 3-15.

6. Лебедев В.Б. Метод пчелиной колонии в комбинаторных задач на графах // Тринадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-212. Труды конференции. - М.: Физматлит, 2012. - Т. 2. - С. 4l4-422.

7. Лебедев О.Б. Трассировка в канале методом муравьиной колонии // Известия ЮФУ. Технические науки. - 2009. - № 4 (93). - С. 46-52.

8. Лебедев О.Б. Планирование СБИС на основе метода муравьиной колонии // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 67-73.

9. Лебедев О.Б. Построение дерева Штейнера на основе метода муравьиной колонии // Труды конгресса по интеллектуальным системам и информационным технологиям «AlS-IT’09». Научное издание в 4-х т. Т. 1. - М.: Физматлит, 2009. - С. 58-65.

Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм.

Лебедев Борис Константинович - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: lbk@tsure.ru; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371743; кафедра систем автоматизированного проектирования; профессор.

Лебедев Владимир Борисович - кафедра системного анализа и телекоммуникаций; доцент.

Lebedev Boris Konstantinovich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: lbk@tsure.ru; 44, Nekra-sovsky, Taganrog, 347928, Russia; phone: +78634371743; the department of computer aided design; professor.

Lebedev Vladimir Borisovich - the department of system analysis and telecommunications; associate professor.

УДК 681.3

А.А. Кажаров, В.М. Курейчик

ИСПОЛЬЗОВАНИЕ ШАБЛОННЫХ РЕШЕНИЙ В МУРАВЬИНЫХ

АЛГОРИТМАХ*

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

Муравьиные алгоритмы; роевой интеллект; задача о коммивояжере; ЗК; ^-задача; генетические алгоритмы; шаблоны.

*

Работа выполнена при частичной поддержке РФФИ (проекты: № 13-07-12091, № 12-07-00062).

A.A. Kazharov, V.M. Kureichik TEMPLATE USING FOR ANT COLONY ALGORITHMS

Swarm intelligence (SI) is the collective behavior of decentralized, self-organized systems, natural or artificial. This paper is dedicated to the developing of modification of the ant algorithm that allows to find better solutions in less time. A method is developed to create a template solution based on the idea of particular solution storage. A template can dynamically change over time, reducing the work of each iteration. Using of template allows decreasing search space. Experimental researches proved that a modified ant colony algorithm is more effective.

Ant colony optimization; Swarm Intelligence; ACO; traveling salesman problem; TSP; NP task; genetic algorithms; scheme.

Введение. В статье представлена методика использования шаблонов при реализации муравьиных алгоритмов (МА) на примере решения задачи коммивояжера. Муравьиный алгоритм является алгоритмом класса «роевой интеллект». Понятие «роевого интеллекта» (Swarm intelligence) введен Херардо Бени и Ван Цзи-ном в 1989 году [1]. Под роевым интеллектом понимают самоорганизующуюся систему, состоящую из множества агентов. Агенты подчиняются простым правилам поведения в окружающей среде. Их простое взаимодействие определяет коллективную адаптацию. Несмотря на примитивность поведения агентов в целом они образуют роевой интеллект. Примерами таких самоорганизующихся систем могут быть муравьиная колония, пчелиный рой, стая птиц, рыб и т.д.

Разработка модификаций МА является необходимым этапом решения прикладных задач из разных областей науки [2]. В работе предлагается модифицированный МА, использующий технологию «шаблонов». Это позволило сократить время поиска квазиоптимальных решений на 10-20 % и повысить качество решений на 15-20 %. Представленная в работе модификация муравьиных алгоритмов может быть использована не только для решения рассмотренных задач, так как она не привязана к особенностям конкретных задачи. Рассмотрим обобщенную схему работы классического муравьиного алгоритма (МА).

Муравьиный алгоритм. Данный класс алгоритмов разрабатывался в рамках научного направления, которое можно назвать «природные вычисления» [3]. Исследования в этой области начались в середине 90-х гг. XX в., автором идеи является Марко Дориго [4-5]. В основе этой идеи лежит моделирование поведения колонии муравьев. Подробное описание классического МА представлено в [6-8]. Рассмотрим МА для решения задачи коммивояжера:

1. Ввод матрицы расстояний D.

2. Инициализация параметров алгоритма - а, в, Q.

3. Инициализация ребер - присвоение видимости щ и начальной концентрации феромона.

4. Размещение муравьев в случайно выбранные города без совпадений.

5. Выбор начального кратчайшего маршрута и определение L* // Основной цикл.

6. Цикл по времени жизни колонии t=1,tmax.

7. Цикл по всем муравьям k=1,m.

8. Построить маршрут Tk(t) на основе распределения вероятности по ребрам (1) и рассчитать длину Lk(t).

9. Конец цикла по муравьям.

10. Проверка всех Lk(t) на лучшее решение по сравнению с L*.

11. В случае если решение Lk(t) лучше, обновить L* и T*.

12. Цикл по всем ребрам графа.

13. Обновить следы феромона на ребре на основе (2).

14. Конец цикла по ребрам.

15. Конец цикла по времени.

16. Вывести кратчайший маршрут Т* и его длину Ь*.

Формула (1) показывает вероятность перехода из вершины / в вершину ] к-м муравьем [3]:

' ... Т. (()]■• [%(!)Г

ру,к () -

Х\Т (' )]“• \Ли «)]*

1єЛї к

Ру,к ({) = 0 І £ Л,,к

, І є Л

(1)

Муравьи обладают «зрением», обратно пропорциональным длине ребра:

Пч = 1/Ву.

Механизм испарения феромонов отражен в следующей формуле [3]:

т

Ту О + 1) - (1 - Р) • Ту О) + Е АТУ,к (0 ,

(2)

к=1

Количество отложенного феромона обратно пропорционально длине найденного маршрута:

£ (3)

Ат(0 =

Ь *(і)

Из формулы видно, что на оптимальном решении, откладывается больше феромонов [3]. Это моделирует естественное испарение феромонов, т.е. феромоны меньше подвержены испарению, если они отложены на маршруте, на который затрачено меньше времени. Чем длиннее маршрут, тем дольше испаряются феромоны на этом маршруте (рис. 1).

б

Рис. 1. Распределение вероятностей: а - начальное распределение; б - промежуточное распределение; в - конечное распределение

а

в

На рис. 1 рассмотрен граф из четырех вершин. Для наглядности решается задача поиска минимального пути в графе от х0 к х3. Толщина линий отражает число феромонов на участке. Изначально вероятности перехода из вершины х0 в хг и х2 равны. С течением времени уровень феромонов на ребрах кратчайшего маршрута увеличивается и практически вся колония движется по нему. Несмотря на то, что визуально выбор маршрута кажется очевидным, количество выполняемых операций остается таким же. Экспериментальные исследования показали, что на первых же итерациях определяются «блоки» конечного решения. Количество таких «блоков» с течением времени растет. Целью данной работы является выявление таких «блоков». Совокупность «блоков» после каждой операции будем называть шаблоном.

Шаблоны. Технология выделения шаблонов применяется в ГА [9]. Шаблонами, иначе схемами, называются фрагменты решений. В ГА шаблоны формируются согласно форме представления структуры хромосомы. Например, ***1*110* или 0***0***** - схемы, где * означает, что на этой позиции может находиться любой элемент (в данном случае 0 или 1). Схема характеризуется двумя показателями: порядком и определяющей длиной. Порядок схемы Н обозначается О(Н) и равен количеству фиксированных позиций (в этих примерах - 4 и 2 соответственно). Определяющая длина схемы Н обозначается Ь(Н) и равна расстоянию между первой и последней фиксированными позициями (в этих примерах - 8-4=4 и 5-1=4 соответственно) [9].

В данной работе исследовалась возможность применения шаблонов в МА [10]. В отличие от ГА рассматривается лишь одна единственная схема для формирования маршрутов всех муравьев. Актуальность формирования схемы объясняется большими временными затратами на сложные математические вычисления при нахождении вероятностей перехода из одной вершины в другие, как видно из (1).

Рассмотрим следующий пример. Пусть муравей к находится в вершине /. Тогда, чтобы найти следующую вершину в текущем маршруте, необходимо вычислить вероятности перехода в другие вершины, используя выражение (1). Временная сложность алгоритма нахождения следующей вершины линейна и имеет вид: O(n*log(a)), где п - число вершин, а а - заданный коэффициент эвристики. Такая сложность алгоритма объясняется использованием функции возведения в степень при расчете вероятности перехода в некоторую вершину (1). Имея же схему, мы можем получить следующую вершину за временную сложность О(1). Отметим, что объем вычислений в первом случае не зависит от уровня феромонов на ребрах. В начале и в конце жизни колонии время на эти вычисления затрачивается одинаково, даже, если выбор какого-то ребра, инцидентного вершине /, очевиден, т.е. вероятность его выбора высока (например, 99.9 %). Форма представления шаблона следующая [10]. Пусть имеется вектор В размерностью п, где п - число вершин в графе. Тогда В1 будет содержать номер вершины, в которую необходимо перейти из вершины I. Таким образом, исследуемый шаблон представляет собой набор «строительных» блоков [9]. Строительные блоки представляют собой непрерывные части решений (подмаршрут), шаблон может содержать один и более строительных блоков. Рассмотрим следующий пример:

i 1 2 З 4 5

в, 4 * 5 * *

На основе вектора В составляются следующие «строительные» блоки: (1-4), (3-5). Таким образом, попадая в вершину 1, муравей без лишних предвычислений переходит в вершину 4. Из 3, соответственно, в 5. На рис. 2 ребрами обозначены связи в сформированных блоках.

Как видно из рис. 2,б, пространство поиска решения значительно сокращается, так как сформированные блоки можно рассматривать отдельными вершины, как показано на рис. 3.

Вершины 1, 4 из одного блока стягиваются в вершину 1*, а вершины 3, 5 стягиваются в 2*. Таким образом, пространство поиска сокращено с 5! до 3! (количество различных решений равно числу перестановок - п!). Разработаны 2 стратегии формирования шаблона: статический и динамический. Идея формирования статического шаблона заключается в выделении ребер, имеющих высокую вероятность попадания в маршрут лучшего решения. Схема формируется перед началом работы МА на основе знаний о длинах ребер. Для динамической стратегии шаблон формируется в ходе работы МА и может динамически изменяться. Пусть задан некоторый предел допусти-

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

а б

Рис. 2. Выделение блоков: а - до выделения блоков; б - после выделения блоков

Рис. 3. Представление блоков в виде вершин

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

♦ размер колонии т=100 муравьев;

♦ коэффициент а = 1;

♦ коэффициент в = 3;

♦ число вершин - 100.

0 20 40 60 30 100 120 140 160 180 200

Число итераций

Рис. 4. Зависимость времени работы алгоритма от числа итераций

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

Заключение. Проведенные исследования показали высокую ВСА МА, что связано со сложными математическими операциями при расчете (1). Многие вычисления являются избыточными, так как вероятность выбора некоторых вершин согласно предыдущим итерациям достаточно высока. Разработана методика позволяющая избежать избыточных операций для выбора вершин, если вероятность выбора этой вершины превысило заданный «порог». Экспериментальные исследования показали улучшение времени работы алгоритма и качества решения по сравнению со стандартным МА.

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

1. Beni G., Wang J. Swarm Intelligence in Cellular Robotic Systems, Proceed. NATO Advanced Workshop on Robots and Biological Systems, Tuscany, Italy, June 26-30 (1989).

2. Лебедев Б.К., Лебедев О.Б. Моделирование адаптивного поведения муравьиной колонии при поиске решений, интерпретируемых деревьями // Известия ЮФУ. Технические науки. - 2012. - № 7 (132). - С. 27-34.

3. Штовба С.Д. Муравьиные алгоритмы // Exponenta Pro. Математика в приложениях. - 2003. - № 4. - С. 70-75.

4. Bonavear F., Dorigo M. Swarm Intelligence: from Natural to Artificial Systems. Oxford university Press. 1999.

5. Come D., DorigoM., GloverF. New Ideas in Optimization. McGrav-Hill. 1999.

6. Дориго М. Web-сайт Марко Дориго по оптимизации с помощью колонии муравьев, http://iridia.ulb.ac.be/dorigo/ACO/ACO.html.

7. Кажаров А.А., Курейчик В.М. Биоинспирированные алгоритмы. Решение оптимизационных задач // LAMBERT Academic Publishing, 2011.

8. МакКоннеллДж. Основы современных алгоритмов. - М.: Техносфера, 2004.

9. Кажаров А.А., Курейчик В.М. Муравьиные алгоритмы для решения транспортных задач // Теория и системы управления. - 2010. - № 1.

10. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. - М.: Физматлит, 2006.

11. Курейчик В.М., Кажаров А.А. О некоторых модификациях муравьиного алгоритма // Известия ЮФУ. Технические науки. - 2008. - № 4 (81). - С. 7-12.

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

Статью рекомендовала к опубликованию д.т.н., профессор Я.Е. Ромм.

Кажаров Аскер Артурович - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: persianland@mail.ru; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: +79064233689; кафедра шстем автоматизированного проектирования; студент.

Курейчик Виктор Михайлович - e-mail: kur@tsure.ru; тел.: +78634393260; д.т.н.; профессор.

Kazharov Asker Arturovich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: persianland@mail.ru; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +790642336-89; the department of computer aided design; student.

Kureichik Victor Michylovich - e-mail: kur@tsure.ru; phone: +78634393260; dr. of eng. sc.; professor.

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