Применение алгоритмов муравьиной колонии в решении задачи Штейнера

Тип работы:
Реферат
Предмет:
ТЕХНИЧЕСКИЕ НАУКИ


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Прикладные аспекты информационных технологий
УДК 004. 8
DOI: 10. 17 726/philIT. 2015.9.1.4. 8
ПРИМЕНЕНИЕ АЛГОРИТМОВ МУРАВЬИНОЙ КОЛОНИИ В РЕШЕНИИ ЗАДАЧИ ШТЕЙНЕРА*
Полежаев Петр Николаевич,
преподаватель кафедры компьютерной безопасности и математического обеспечения информационных систем, ФГБОУ ВПО «Оренбургский государственный университет», Оренбург, Россия newblackpit@mail. ru
Миронов Артем Павлович,
студент, ФГБОУ ВПО «Оренбургский государственный университет»,
Оренбург, Россия tupodok@gmail. com
Поляк Ростислав Иосифович,
студент, ФГБОУ ВПО «Оренбургский государственный университет»,
Оренбург, Россия esandman56@yandex. ru
Аннотация. Статья посвящена анализу известной и актуальной NP-полной задачи Штейнера, зачастую решаемой с применением муравьиных алгоритмов. Актуальность данной задачи связана с бурным ростом компьютерных сетей, а также возможностью применения в других областях науки и техники, таких как прокладка силовых кабелей, проектирование СБИС, задачи логистики. В статье формализуется математическое описание задачи Штейнера. Рассматривается возможность применения различных эвристических «природных» алгоритмов для решения данной задачи. Проводится аналогия между поведением муравьиной колонии и работой алгоритма для решения NP-полной задачи Штейнера. Выделяются и описываются характерные особенности различных вариантов муравьиного алгоритма, разработанные другими авторами, приводятся результаты исследования их эффективности и сравнения с
* Исследования выполнены при поддержке РФФИ (проект N° 15−07−6 071 А), Президента Российской Федерации, стипендия для молодых ученых и аспирантов (СП-2179. 2015. 5).
№ 1 (9), июнь 2015
97
классической реализацией. Затрагиваются особенности реализации каждого из рассмотренных алгоритмов, включая структуру и другие параметры графов, на которых проводилось каждое из исследований. В статье приводятся ссылки на основные наборы данных, предназначенные для тестирования алгоритмов. Делается вывод об эффективности каждой из реализаций и возможности их применения на различных графах с учетом изменяющейся обстановки и характеристик графа.
Ключевые слова: задача Штейнера, алгоритм муравьиной колонии, NP-полная задача, эвристический алгоритм.
APPLICATION OF ANT COLONY ALGORITHM FOR STEINER PROBLEM
Polezhaev Petr N. ,
professor, Federal State Educational Government-financed Institution of Higher Professional Education & quot-Orenburg State University& quot-, Orenburg, Russia newblackpit@mail. ru
Mironov Artyem P. ,
student, Federal State Educational Government-financed Institution of Higher Professional Education & quot-Orenburg State University& quot-, Orenburg, Russia, tupodok@amail. com
Polyak Rostislav I. ,
student, Federal State Educational Government-financed Institution of Higher Professional Education «Orenburg State University», Orenburg, Russia esandman56@yandex. ru
Abstract. This article is devoted to the analysis of the well-known and relevant NP-complete Steiner problem, often solved by using ant algorithms. The relevance of this problem is related to the rapid growth of computer networks and the possibility of application in other fields of science and technology, such as the laying of power cables, VLSI design, logistics problems. Paper formalizes mathematical description of the Steiner problem. It considers the possibility of using different heuristics such as «natural» algorithms for
Философские проблемы информационных технологий и киберпространства
98 ---------------------------------------------------------------
Прикладные аспекты информационных технологий
solving this problem. In addition, it draws an analogy between the behavior of an ant colony and the work of the algorithm for solving NP-complete Steiner problem. Different variants of ant algorithms developed by other authors, the results of their effectiveness estimation and comparison with the classical implementation are described. Paper notes the implementation features of each considered algorithms, including their graph structure and its parameters. In addition, we provide links to major data sets for testing algorithms and conclude about the effectiveness of each algorithm implementations and their applicability to different graphs, including their dynamic changing.
Keywords: Steiner tree problem- Ant colony optimization- NP-complete- heuristic algorithm-
С бурным развитием Интернета постоянно появляются сетевые приложения, которые требуют соединения вида «один ко многим», такие как IPTV, аудио- и видеоконференции, потоковое видео, многопользовательские компьютерные игры, кооперативная работа и т. д. Для всех этих задач используется специальная форма широковещания (multicast), при которой копии пакетов доставляются только подмножеству всех возможных адресатов. Технология multicast — одна из ключевых в распространении мультимедийного трафика. Ее суть состоит в отправке копий потока данных источника группе получателей через Интернет сложным мультиплексным путем. Используя технологию multicast, источник лишь генерирует и отправляет поток данных, маршрутизаторы выполняют его репликацию и пересылку адресатам. В сравнении с однонаправленной передачей (одному адресату), multicast может существенно снизить потребление интернет-ресурсов, а также значительно сократить нагрузку на узел-источник. Помимо компьютерных сетей задача Штейнера часто формулируется и решается в других областях: прокладка силовых кабелей, проектирование СБИС, задачи логистики. Формализуем задачу Штейнера.
Пусть G=& lt-Vg-Eg & gt- - конечный связный неориентированный граф, где VG — множество вершин, Ев — множество ребер графа G. Задача Штейнера формулируется следующим образом: в конечном связном взвешенном неориентированном графе G выделено подмножество вершин U (U с VG). Требуется найти связный подграф Т =& lt- VT-ET & gt-, удовлетворяющий следующим двум условиям:
№ 1 (9), июнь 2015
99
множество VT содержит заданное множество U (U & lt-z VT), граф T имеет минимальный вес — то есть наименьшую сумму весов ребер среди всех подграфов, удовлетворяющих предыдущему условию. Очевидно, что искомый подграф является деревом. Он называется деревом Штейнера.
Существует множество различных способов, которыми можно решить задачу Штейнера: генетический алгоритм, алгоритм роя, пчелиный алгоритм, муравьиный и другие. Далее мы рассмотрим различные модификации методов муравьиной колонии, которые являются подклассом «природных алгоритмов».
Отдельные муравьи являются относительно простыми насекомыми, которые имеют довольно примитивную нервную систему, и их индивидуальное поведение, по-видимому, иногда определяется случайным образом. Тем не менее, живые муравьи способны находить кратчайшие или близкие к ним пути между источником питания и их колонией (гнездом). Они оставляют некоторое количество феромона на земле, таким образом помечая путь дорожкой вещества. В сущности, изолированный муравей перемещается случайным образом. Если муравей сталкивается с ранее проложенным маршрутом, то с высокой вероятностью решает следовать по нему и затем укрепляет след собственным феромоном. Таким образом, трасса, по которой прошло большее количество муравьев, становится более привлекательной для последующих муравьев. Данный процесс характеризуется положительной обратной связью, где вероятность, с которой муравей выбирает путь, увеличивается с числом муравьев, которые ранее выбрали тот же путь [1]. Так как задача Штейнера имеет множество различных условий, постоянно появляются различные модификации, влияющие на работу алгоритма. Далее мы рассмотрим основные из них.
В статье [2] автора LI Y для решения задачи Штейнера используется муравьиный алгоритм в связке с алгоритмом косяка рыб. При представлении графа в данной статье используются следующие параметры ребер: цена, задержка, изменение задержки и пропускная способность, параметрами узлов являются: цена, задержка, изменение задержки и процент потери пакетов. Алгоритм косяка рыб выделяет лучшие глобальные решения, что положительно сказывается на скорости сходимости. При выборе муравьями пути был добавлен фактор перенаселенности, который от-
Философские проблемы информационных технологий и киберпространства
100 ------------------------------------------------------------------
Прикладные аспекты информационных технологий
сутствует в стандартном муравьином алгоритме, предложенном Дориго. Вследствие этого на путях, которые прошли муравьи, феромоны никогда не испаряются, соответственно маршруты не перестраиваются, что допустимо в статичных сетях и позволяет избежать застревания в локальном максимуме [2].
Исследователями Yu Hu, Tong Jing, Xianlong Hong, Zhe Feng, Xiaodong Hu, Guiyang Yan представлен алгоритм [3], называемый ACO-Steiner, для минимального прямоугольного дерева Штейнера. Алгоритм основан на оптимизации колонии муравьев (ACO), в нем минимальное прямоугольное дерево строится в процессе движения муравьев по решетке Ханана. Сначала строится данная решетка, затем ограничения решетки снимаются, чтобы ускорить движение муравьев (в целях улучшения эффективности алгоритма). Этот алгоритм был реализован на компьютере Sun с операционной системой Unix, результаты были сопоставлены с быстрым точным алгоритмом для минимального прямоугольного дерева Штейнера — GeoSteiner 3.1 [4]. Данные эксперимента показывают, что ACO-Steiner может произвести расчеты за меньшее время, демонстрируя более высокую производительность. Также установлено, что ACO-Steiner может быть легко расширен для решения других проблем, таких как: построение прямоугольного дерева Штейнера с обходом препятствий, сокращение заторов в глобальной маршрутизации.
В своей работе P. Rabanal, I. Rodriguez, F. Rubio [5] сравнивают алгоритм муравьиной колонии с алгоритмом динамики формирования рек. Алгоритм оптимизации основан на моделировании процесса размывания почвы и накопления донных отложений. Авторы применяли этот метод, чтобы решить проблему нахождения минимального дерева Штейнера. В статье описывается, что градиент ориентации из динамики формирования рек делает его особенно подходящим для решения этой проблемы. Авторы приводят результаты нескольких экспериментов, в которых динамика формирования рек используется совместно с реализацией авторской версии алгоритма муравьиной колонии (ACO). Алгоритмы были протестированы на эталонных графах из библиотеки TESTDATA библиотеки SteinLib [6]. В результате была показана эффективность алгоритмов динамики формирования рек и ACO в случае, когда граф менялся во время решения задачи. Сравнивалось быстродействие обоих алгоритмов в двух сценариях, когда
№ 1 (9), июнь 2015
101
модифицировалось уже найденное на предыдущей итерации решение или когда алгоритм запускался каждый раз заново.
А. А. Кажаров в своих работах [7] использовал метод муравьиной колонии с тем отличием, что сначала строилось минимально покрывающее дерево, для чего применялись такие методы, как алгоритм Крускала, алгоритм Прима и др. Затем в вершинах минимального покрывающего дерева размещались муравьи, каждый муравей искал путь в смежную вершину в минимально покрывающем дереве. Итерации повторялись до тех пор, пока не было построено дерево Штейнера. В данной модификации муравьиного алгоритма автором была использована специальная функция для равномерного испарения феромонов, что обеспечивало выход из локального оптимума. Особенностью данного алгоритма является малое время сходимости.
В исследованиях [8], проведенных учеными L. Luyet,
S. Varone, N. Zufferey, был описан алгоритм муравьиной колонии (под названием ANT-STP) для нахождения минимального дерева Штейнера на графах. Данный алгоритм был получен в результате усовершенствования предложенного решения от Takahashi and Matsuyama (далее TM) [9], которое является жадным конструктивным алгоритмом для минимального дерева Штейнера. Авторы модифицируют ТМ следующим образом: каждый муравей использует эвристику, похожую на эвристику алгоритма ТМ, но муравьи могут обмениваться информацией с помощью систем феромонов. Кроме того, выбор следующей вершины отдельным муравьем отличается от правила принятия решений, используемых в ТМ. Авторы сравнивают TM и ANT-STP на множестве тестовых задач в OR-Library [10].
В своих работах [11] Markus Prossegger and Abdelhamid Bouchachia основываются на стратегии «разделяй и властвуй», которая состоит в разделении задач на подзадачи и поиске локальных решений. Далее локальные решения объединяются и оптимизируются с целью получить общее решение поставленной проблемы. Алгоритм применяется в таких задачах, как проведение кабеля и трубопроводов в городской застройке. Эти географические данные, оформленные в виде карты, представляют собой большой граф. Для решения данных задач необходимо найти минимальное дерево Штейнера в огромном графе. Так как проблема нахождения минимального дерева Штейнера является NP-пол-
102
Философские проблемы информационных технологий и киберпространства Прикладные аспекты информационных технологий
ной, авторам пришлось использовать новый двухступенчатый подход, называемый SC-IAC и сочетающий в себе спектральную кластеризацию графа и алгоритм муравьиной колонии. Первый этап позволяет разбить граф на меньшие сегменты, в то время как второй использует параллельные независимые колонии муравьев, чтобы найти местный и глобальный минимумы дерева Штейнера. Чтобы проиллюстрировать точность и эффективность SC-IAC, были использованы графы из библиотеки тестовых данных [6].
Chein-Chung Shen и Ke Li в своей работе [12] рассматривали проблему построения многоадресного дерева с минимальной суммарной энергией и корнем в исходном узле, охватывающего все узлы назначения. Главная особенность этого дерева заключается в минимизации суммы мощности передачи на промежуточных узлах. Тем не менее, следование принципам строгой экономии энергии при распределении мощностей на узлах, не являющихся листовыми, хотя и позволяет сохранить большее количество энергии, однако приводит также к тому, что дерево Штейнера содержит большее количество ребер. В результате ставится под угрозу работа приложений, чувствительных к задержкам, таких как аудио- и видеоконференции, программы передачи потокового видео, многопользовательские компьютерные игры. Такая проблема требует нахождения четкого компромисса между энергоэффективностью и минимальной задержкой в сети. В статье авторы формулируют эти вопросы как проблемы построения ограниченного дерева Штейнера и описывают алгоритм создания распределенного ограниченного дерева Штейнера, который одновременно экономит энергию и учитывает задержку групповой маршрутизации в одноранговых сетях. В частности, предложенный алгоритм одновременно строит ограниченное дерево Штейнера, выполняет распределение мощности передачи через промежуточные узлы и стремится свести к минимуму сумму мощностей передачи, при условии заданного ограничения на максимальное количество переходов до узлов-получателей. Ученые раскрывают особенности предлагаемого алгоритма и приводят результаты моделирования, которые подтверждают эффективность данного алгоритма.
В трудах [13] исследователей Hua Wang, Zhao Shi, Jun Ma, Gang Wang приводится описание разработанного ими алгоритма для многоадресной маршрутизации. Опираясь на принцип метода колонии муравьев, они предлагают новый алгоритм, основанный
№ 1 (9), июнь 2015
103
на деревьях, и применяют его к маршрутизации в многоадресной сети с соблюдением QoS по нескольким параметрам. Муравей постоянно перемещается по сети, чтобы найти многоадресное дерево, содержащее узел источника и узлы назначения. Это действие периодически повторяется, и феромоны регулярно обновляются, что в итоге позволяет авторам построить многоадресное оптимальное дерево, удовлетворяющее различным заданным параметрам QoS. Авторы описывают построение деревьев следующим образом. Муравей порождается в заданном узле-источнике и определяется набор таких ребер, которые соответствуют параметрам QoS и удовлетворяют условию: одна из вершин данного ребра принадлежит к множеству вершин текущего дерева. C вероятностью, пропорциональной уровню феромонов и зависящей от характеристик ребер между узлами, выбирается один узел из набора, он добавляется в текущее дерево. Этот процесс повторяется до тех пор, пока в дереве не окажутся все узлы назначения. Затем из дерева удаляются все листовые узлы, не являющиеся узлами назначения. Найденное дерево проверяется на соответствие параметрам QoS. Если дерево удовлетворяет параметрам QoS, оно добавляется в набор предварительных возможных вариантов решения. Такие решения ищутся до тех пор, пока их количество меньше, чем размер колонии муравьев. Затем из найденных решений выбирается лучшее. Исследователи приводят результаты моделирования работы своего алгоритма для решения задачи многоадресной маршрутизации, из которых можно заметить, что скорости сходимости алгоритма муравьиной колонии с использованием дерева гораздо выше, чем у классического алгоритма муравьиной колонии, предложенного Дориго. При этом, по заверениям авторов, производительность сети с использованием найденных маршрутов не уступает аналогам.
В статье под авторством Manoj Kumar Patel, Manas Ranjan Kabat, Chita Ranjan Tripathy [14] представлен интеллектуальный алгоритм, основанный на роевых агентах, который использует гибридную технику, совмещающую алгоритм муравьиной колонии и алгоритм роя частиц для оптимизации многоадресного дерева. Алгоритм начинается с генерации большого количества мобильных агентов в пространстве поиска. Алгоритм муравьиной колонии направляет муравьев в соответствии с уровнем феромонов в общей среде на местном уровне, а глобальный максимум значе-
Философские проблемы информационных технологий и киберпространства
104 ---------------------------------------------------------------
Прикладные аспекты информационных технологий
ний атрибутов получается с помощью случайного взаимодействия между агентами (одновременно являющимися муравьем и частицей), в результате использования алгоритма роя частиц. Исследователи определяют агента как независимого исполнителя, который взаимодействует с внешней средой и другими агентами, для достижения своего конкретного набора целей. Каждый агент может наблюдать только ограниченную часть окружающей среды в пределах действия своих локальных датчиков. Другими словами, агент может чувствовать феромон только рядом со своей текущей позицией, но он не имеет ни малейшего представления о состоянии феромонов в удаленной части среды. Без централизации вероятно, что большинство агентов легко могут застрять в локальном максимуме. Но при использовании алгоритма роя частиц агенты могут координировать свое поведение через случайное взаимодействие с другими агентами. Следуя определенным правилам взаимодействия, агенты в популяции адаптируют свою схему доверия, выбирая тех агентов, которые являются наиболее успешными в своей социальной сети. В итоге будет достигнуто состояние глобального оптимума. Производительность предложенного учеными алгоритма оценивалась с помощью моделирования. Ссылаясь на результаты моделирования, исследователи утверждают, что разработанный алгоритм работает лучше, чем существующие аналоги.
Исходя из материала рассмотренных статей, можно отметить, что, хотя они решают одну проблему, зачастую эффективность алгоритма сильно зависит от определения весов ребер графа, размера графа, частоты обновлений, структуры графа и задействованных вычислительных ресурсов. На данный момент нельзя выявить наиболее эффективное и универсальное решение данной задачи, но, как отмечено выше, решения, основанные на методах муравьиной колонии, доказывают свою эффективность в сравнении с другими алгоритмами. Также возможно использование комбинации алгоритма муравьиной колонии с алгоритмом роевого интеллекта. В этом случае недостатки одного алгоритма нивелируются преимуществами другого, за счет чего достигается еще большая скорость сходимости.
Литература:
1. Ying Wang, Jianying Xie. Ant colony optimization for multicast routing // Circuits and Systems, 2000. IEEE ApCcAS 2000. The 2000 IEEE Asia-Pacific Conference. DOI: 10. 1109/APCCAS. 2000. 913 404.
№ 1 (9), июнь 2015
105
2. Li Y. QoS Multicast Routing Algorithm Based on Crowding Ant Colony Algorithm. // Journal of Computers, North America. 2013. № 8. DOI: 10. 4304/jcp.8. 10. 2711−2718.
3. Yu Hu, Tong Jing, Xianlong Hong, Zhe Feng, Xiaodong Hu, Guiyang Yan. An efficient rectilinear Steiner minimum tree algorithm based on ant colony optimization. // Communications, Circuits and Systems, 2004. ICCCAS 2004. 2004 International Conference. 2004. DOI: т. П09/ГС-CCAS. 2004. 1 346 406.
4. GeoSteiner. Software for Computing Steiner Trees [Electronic resource]. Access mode: http: //www. diku. dk/hjemmesider/ansatte/martinz/geostei-ner.
5. Rabanal P., Rodriguez I., Rubio F. Studying the application of ant colony optimization and river formation dynamics to the Steiner tree problem // Evolutionary Intelligence. 2011. № 4(1). DOI: 10. 1007/s12065−011−0049−0.
6. Koch T. Steinlib testdata library. Technical report, Konrad-Zuse-Zentrum fur Informationstechnik Berlin. http: //steinlib. zib. de/steinlib. php.
7. Кажаров А. А. Построение минимального дерева Штейнера на основе муравьиных алгоритмов // Труды молодежной конференции «Интеллектуальные системы-2009». М.: Физматлит, 2009. (Kazha-rov A.A. Construction of the minimal Steiner tree algorithm based on ant // Trudyi molodezhnoy konferentsii «Intellektualnyie sistemyi-2009». M.: Phismatlit, 2009.)
8. Luyet L., Varone S., Zufferey N. An Ant Algorithm for the Steiner Tree Problem in Graphs // Applications of Evolutionary Computing. Springer Berlin Heidelberg. 2007. DOI: 10. 1007/978−3-540−71 805−55.
9. Takahashi H., Matsuyama A. An approximate solution for the Steiner problem in graphs // Math. Japonica. 1980. № 24(6). P. 573−577.
10. OR-Library. Collection of test data sets for a variety of Operations Research (OR) problems. http: //www. brunel. ac. uk/~mastjjb/jeb/info. html.
11. Prossegger M., Bouchachia A. Ant colony optimization for Steiner tree problems. // In Proceedings of the 5th international conference on Soft computing as transdisciplinary science and technology (CSTST '08). ACM. New York, 2008. P. 331−336. DOI: 10. 1145/1 456 223. 1 456 292.
12. Shen C. -C., Li K., Jaikaeo C., Sridhara V. Ant-based distributed constrained Steiner tree algorithm for jointly conserving energy and bounding delay in ad hoc multicast routing. // ACM Transactions on Autonomous and Adaptive Systems. 2008. Vol. 3. Issue 1. Article № 3. DOI: 10. 1145/1 342 171. 1 342 174.
13. Hua Wang, Zhao Shi, Jun Ma, Gang Wang. The Tree-Based Ant Colony Algorithm for Multi-Constraints Multicast Routing // Advanced Communication Technology, The 9th International Conference on. 2007. Vol. 3. P. 1544−1547. DOI: 10. 1109/ICACT. 2007. 358 661.
14. Patel M.K., Kabat M.R., Tripathy C.R. A hybrid ACO/PSO based algorithm for QoS multicast routing problem // Ain Shams Engineering Journal. 2014. Vol. 5. Issue 1. P. 113−120. DOI: 10. 1016/j. asej. 2013. 07. 005.

ПоказатьСвернуть
Заполнить форму текущей работой