Гладков Леонид Анатольевич - Южный федеральный университет; e-mail: leo_gladkov@mail.ru; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371625; кафедра САПР; доцент.
Гладкова Надежда Викторовна - e-mail: nadyusha.gladkova77@mail.ru; кафедра САПР; старший преподаватель.
Лейба Сергей Николаевич - e-mail: lejba.sergej@mail.ru; кафедра САПР; аспирант.
Gladkov Leonid Anatol'evich - Southern Federal University; e-mail: leo_gladkov@mail.ru; 44, Nekrasovskiy lane, Taganrog, 347928, Russia; phone: +78634371625; CAD department; associated professor.
Gladkova Nadezhda Viktorovna - e-mail: nadyusha.gladkova77@mail.ru; CAD department; senior teacher.
Leiba Sergey Nikolaevich - e-mail: lejba.sergej@mail.ru; CAD department; postgraduate student.
УДК 004.896 DOI 10.23683/2311-3103-2019-4-174-186
Б.К. Лебедев, О.Б. Лебедев, Е.О. Лебедева
ПАРАЛЛЕЛЬНО ПОСЛЕДОВАТЕЛЬНЫЙ БИОИНСПИРИРОВАННЫЙ АЛГОРИТМ ПОСТРОЕНИЯ МИНИМАЛЬНОГО ДЕРЕВА ШТЕЙНЕРА*
Рассматривается параллельно последовательный подход к построению минимального дерева Штейнера. Разработанный алгоритм базируются на общем подходе, заключающимся на декомпозиции связывающей сети и представлении ее в виде совокупности двух-терминальных соединений. Для цепи ti на множестве вершинXI, \Х\=п1 графа О с помощью алгоритма Прима строится минимальное связывающее дерево К=={г,к^=1, 2, ..., п-.1}. Для каждого ребра г1кеЯ1 формируется маршрут з^, связывающий на графе О пару вершин, соответствующих ребру гкк. Каждому маршруту соответствует множество Г^ц) ребер графа О. Задача построения минимального дерева Штейнера сводится к задаче построения и выбора s-маршрута зкк на графе О, для каждого ребра гкк. Для каждого агента, расположенного в вершине р,, задаются координаты вершины Pj к которой прокладывается s-маршрут и определяются возможные направления его перемещения по ребрам ортогонального графа О=(¥,Е), обеспечивающие построение з-маршрута минимальной длины. Качество маршрута, построенного агентом, будет определяться наличием общих участков с маршрутами, построенными другими агентами кластера. Чем больше в составе маршрута общих участков с маршрутами, построенными другими агентами кластера, тем меньше суммарная длина ребер минимального дерева Штейнера. Декомпозиция задачи в рамках параллельно-последовательного подхода позволили избежать проблемы очередности прокладки маршрутов и организовать систему коллективной адаптации с высокой степенью целесообразного поведения и сходимости. Особенностью представленного муравьиного алгоритма построения минимального дерева Штейнера является то, что муравьиная колония разбита на кластеры и поиск конкретного решения задачи осуществляется популяцией кластеров муравьев. Задача построения муравьями каждого кластера Ла дерева Штейнера сводится к задаче построения и выбора в графе О совокупности Ма з-маршрутов, покрывающих минимальное дерево Штейнера. В отличие от канонической парадигмы муравьиной колонии, предложена модифицированная жадная стратегия построения ориентированного маршрута на модели представления решения. Концепция коллективной адаптации (адаптивного поведения) кластера агентов, используемая в
*
Работа выполнена при финансовой поддержке гранта РФФИ № 18-07-00737 А. 174
рассмотренном выше подходе, заключается в следующем. Глобальная цель коллектива (кластера агентов) заключается в построении минимального дерева Штейнера. Локальная цель каждого агента заключается в построении маршрута максимальной стоимости, то есть маршрута, максимально совпадающего с маршрутами, построенными другими агентами кластера, что косвенно способствует достижению глобальной цели коллектива. Состояние каждого ребра ejeE графа поиска G решений описывается двумя параметрами hj и dj. Значения показателей hj и dj обновляются путем наращивания на каждой итерации после построения всеми кластерами агентов деревьев Штейнера. В работе впервые используется композитная структура феромона и дифференцированный метод его отложения. Каждый муравей в группе метит путь (ребра маршрута) двумя видами феромона: феромон-1 и феромон-2. Это обеспечивает более высокую вероятность локализации глобального экстремума задачи. Временная сложность этого алгоритма на одной итерации определяется как O(n2). После выполнения всех действий на итерации находится агент с лучшим решением, которое запоминается. Далее осуществляется переход на следующую итерацию.
Минимальное дерево Штейнера; СБИС; муравьиная колония; кластер; феромон; композитная структура; глобальный экстремум; роевой интеллект; бионический поиск.
B.K. Lebedev, O.B. Lebedev, E.O. Lebedeva
PARALLEL AND CONSISTENT BIOINSPIRED ALGORITHM FOR CONSTRUCTION OF A STEINER MINIMAL TREE
The paper considers a parallel sequential approach to constructing a minimal Steiner tree. The developed algorithm is based on a general approach, consisting in the decomposition of a connecting network and its presentation in the form of a combination of two-terminal connections. For the chain ti on the set of vertices Xi, \Xi\ =ni of the graph G, using the Prim algorithm, we construct the minimal connecting tree Ri=(rik\i=1, 2, ..., ni.1}. For each edge rikeRi, a route sik is formed that connects on the graph G a pair of vertices corresponding to the edge rik. Each route sik corresponds to the set r(sik) of edges of G. The problem of constructing a minimal Steiner tree reduces to the problem of constructing and choosing an s-route sik on the graph G, for each edge rik. For each agent located at the vertex pi, the coordinates of the vertex pj to which the s-route is laid are determined and the possible directions of its movement along the edges of the orthogonal graph G=(V,E) are determined, which ensure the construction of the s-route of minimum length. The quality of the route built by the agent will be determined by the presence of common sections with routes built by other agents of the cluster. The more common sections of the route with routes constructed by other cluster agents, the smaller the total length of the Steiner tree ribs. The decomposition of the problem in the framework of a parallel-sequential approach allowed us to avoid the problem of the sequence of routing and organize a collective adaptation system with a high degree of appropriate behavior and convergence. A feature of the presented ant algorithm for constructing a minimal Steiner tree is that the ant colony is divided into clusters and the search for a specific solution to the problem is carried out by a population of ant clusters. The task of ants constructing each cluster Aa of the Steiner tree is reduced to the problem of constructing and selecting in the graph G the set of Ma s-routes covering the minimal Steiner tree. In contrast to the canonical paradigm of the ant colony, a modified greedy strategy is proposed for constructing an oriented route on the solution representation model. The concept of collective adaptation (adaptive behavior) of an agent cluster used in the above approach is as follows. The global goal of the team (agent cluster) is to build a minimal Steiner tree. The local goal of each agent is to build a route of maximum cost, that is, a route that maximally matches the routes built by other agents of the cluster, which indirectly contributes to the achievement of the global goal of the team. The state of each edge ejeE of the graph of the search for G solutions is described by two parameters hj and dj. The values of the indicators hj and dj are updated by increasing at each iteration after all the clusters of agents build Steiner trees. For the first time, the composite structure ofpheromone and the differentiated method of its deposition are used. Each ant in the group marks the path (edges of the route) with two types ofpheromone: pheromone-1 and pheromone-2. This provides a
higher probability of localization of the global extremum of the problem. The time complexity of this algorithm at one iteration is defined as O(n2). After all the actions are completed, the agent with the best solution is found in the iteration, which is remembered. Next, the transition to the next iteration.
Steiner minimal tree; VLSI; ant colony; clusters; pheromone; composite structure; global extremum; swarm intelligence; bionic search.
Введение. Задача Штейнера является фундаментальной задачей в проектировании сверхбольших интегральных схем (Very Large Scale Integration, VLSI). Широко применяется в программируемых логических матрицах (Field-Programmable Gate Arrays, FPGA). FPGA представляют собой многократно используемые прикладные интегральные схемы, конфигурацию которых пользователь может достаточно легко изменить. Есть несколько доступных технологий FPGA, но чаще всего они состоят из симметричной матрицы реконфигурируемых логических блоков.
Построение кратчайших связывающих сетей одна из наиболее сложных проблем при проектировании внутрисхемных соединений электронных устройств. Поскольку при машинной трассировке соединений используется ортогональная опорная сетка, интерес представляет построение связывающих деревьев Штейнера в ортогональной метрике [1-3].
Существует множество различных способов, которыми можно решить задачи Штейнера. Основной недостаток многих эвристических алгоритмов решения задач Штейнера, заключается в том, что проведение новых соединений зависит от ранее выполненных, которые рассматриваются как преграды и ограничивают проведение новых трасс. Существенным средством повышения эффективности алгоритмов построения минимального дерева Штейнера (МДШ) стало использование методов эволюционного моделирования. В настоящее время используются различные эволюционные парадигмы, которыми можно решить задачу Штейнера: генетический алгоритм, алгоритм роя, пчелиный алгоритм, муравьиный и другие [4-10]. Результаты применения эволюционного моделирования к задаче построения МДШ были достаточно успешными. Однако предложенные структуры фактически являются «слепыми» поисковыми структурами с присущими им недостатками: генерация большого количества подобных решений; генерация большого количества «плохих» решений; генерация решений с нарушениями, что требует дополнительного контроля.
Резкое повышение функциональной сложности СБИС стимулирует разработку новых эффективных методов и средств их проектирования.
1. Постановка задачи построения МДШ. Известная проблема Штейнера состоит в следующем [2, 3]. Дано множество точек на плоскости: P={pi\i=1, 2, ..., n}. Требуется найти дерево S=(X, U), с множеством вершин Х и множеством ребер U таких, что PcX, и суммарная длина ребер U минимальна. В случае ортогональной метрики расстояние между точками с координатами (xi, yi) и (xj, yj определяется по формуле dij=\x1-xj\ + \y1-yj\.
Отличительной особенностью дерева Штейнера является то, что оно кроме основных вершин Р содержит некоторое множество дополнительных вершин Q=XP.
Проведем через множество точек P={pi\i=1, 2, ..., n}, расположенных на плоскости горизонтальные и вертикальные линии (рис. 1).
Образуется ортогональная сетка. Обозначим через V множество точек пересечений линий сетки и назовем их узлами сетки. Сопоставим ортогональной сетке граф G=(V,E), |V\=nV, |E\=nE. Ряд теорем [8,9] доказывает, что существует дерево Штейнера, все дополнительные вершины которого принадлежат V. Другими сло-
вами, при отыскании дополнительных точек можно ограничиться узлами ортогональной сетки О=(У,Е), а само дерево Штейнера полностью укладывается в ортогональной сети. При этом число этих точек Q<n-2.
Исходная задача эквивалентна задаче отыскания в графе 0=(У,Е) дерева О*=(У*,Е*), имеющего минимальный суммарный вес ^ ребер и включающего заданный набор вершин Р графа О, т.е. Рс¥*с¥, Е*сЕ.
Рассмотрим концепцию построения МДШ используемую в данной работе. На множестве Р основных вершин графа О=(¥,Е), алгоритмом Прима строится минимальное связывающее дерево (МСД) R={Rk|k=1, 2, ..., п-1}, Ик=(р1, р_|) - ребро МСД (рис.1). Назовем цепь в графе О=(У,Е), связывающую две основные вершины, ¿--маршрутом. Для каждого ребра Як на графе О существует набор Бк=Г(Як) альтернативных вариантов --маршрута, равный 8к=($к^=1, 2, ..., п}. 8={Бк\к=1,
Задача построения МДШ сводится к задаче построения и выбора (п-1) --маршрутов, связывающих п основных вершин. К настоящему времени сложились два основных подхода к построению МДШ [11,12]. Первый подход базируется на идеях волнового алгоритма Ли [11] и заключается в последовательной реализации ¿-маршрутов.
Второй подход базируется на комбинаторных принципах. Задача решается в два этапа. На первом этапе формируется набор альтернативных вариантов ¡-маршрутов, заведомо большей размерности, чем (п-1) покрывающий МДШ На втором этапе из сформированного набора выбирается (п-1) --маршрутов, покрывающих МДШ.
Формирование множества 8к вариантов .¡-маршрутов осуществляется исходя из следующих посылок: длина должна быть минимальна; варианты различных ¿-маршрутов должны обеспечивать максимально возможное совпадение друг с другом.
В общем случае в набор Бк альтернативных вариантов .-маршрутов для ребра Кк=ф,Рт) включаются маршруты минимальной длины, соединяющие р, и pj в ортогональном графе О. На рис.1 для ребра Як, связывающего pi и pj, существует 10 альтернативных --маршрутов, проходящих через узлы с номерами 1 - 12:
-«=(3,6,9,12,11,10), -к2=(3,2,1,4,7,10), -к3=(3,2,5,4,7,10) и т.д.
При таком подходе все варианты s-маршрута, связывающего две вершины pt и pj, имеют одну и ту же длину, но различаются конфигурациями (составом ребер, входящих в маршрут).
В работе рассматривается параллельно последовательный подход к построению МДШ: каждый из s-маршрутов строится последовательно, но все (n-1) s-маршрутов, покрывающих МДШ, строятся параллельно. Подход базируются на методе муравьиной колонии.
2. Коллективная адаптация кластера агентов муравьиной колонии, использующая композитную структуру феромона и дифференцированный метод его отложения. Для поиска решения задачи используется ортогональный граф G=(V, E), построенный по выше приведенной методике.
Процесс поиска МДШ итерационный. Предварительно на всех ребрах графа G откладывается одинаковое (небольшое) количество феромона, равное Q/m, где m=\E\. Каждая итерация l включает три этапа. Отличительной особенностью муравьиного алгоритма является то, что в его состав входит встроенный конструктивный алгоритм решения основной задачи.
На первом этапе каждой итерации муравьиного алгоритма с помощью встроенного (конструктивного) алгоритма формируется популяция решений МДШ Поиск МДШ осуществляется на базе предварительно построенного алгоритмом Прима минимального связывающего дерева (МСД) R={Rk\k=1, 2,..., n-1}.
В общем случае формирование популяции решений МДШ осуществляется популяцией кластеров агентов A={Aa\o=1, 2, ..., na} [3]. На каждой итерации агенты каждого кластера Aa={aak\k=1, 2, ..., n-1} строят свое конкретное дерево Штейнера. Другими словами, число решений, формируемых агентами на каждой итерации равно числу кластеров агентов.
Задача построения агентами каждого кластера Aa дерева Штейнера сводится к задаче построения и выбора в графе G совокупности Ma s-маршрутов, покрывающих МДШ, причем каждый маршрут makeMaсоответствует ребру Rk=(pi, pj).
Для каждого агента, расположенного в вершине pi, задаются координаты вершины pj к которой прокладывается s-маршрут и определяются возможные направления его перемещения по ребрам ортогонального графа G=(V,E), обеспечивающие построение s-маршрута минимальной длины. Пусть, например, вершина pj расположена ниже и левее вершины pi, тогда для агента, прокладывающего s-маршрут из вершины pi в pj возможные направления его перемещения - вниз и влево. А для агента, прокладывающего s-маршрут из вершины pj в pi возможные направления его перемещения - вверх и вправо. При этом агент не должен выходить за границы прямоугольника, диагональ которого связывает вершины pj и pi.
При таком подходе все варианты s-маршрута, связывающего две вершины pi и pj, имеют одну и ту же длину, но различаются конфигурациями (составом ребер, входящих в маршрут).
Таким образом, на первом этапе каждой итерации каждый кластер Aa популяции A строит свое дерево Штейнера. При этом каждый агент aak кластера Aa строит свой вариант маршрута skz(l).
Второй этап выполняется после построения всеми кластерами агентов популяции A независимо друг от друга деревьев Штейнера.
На втором этапе на ребрах графа G, откладывается феромон. В работе используется циклический (ant-cycle) метод муравьиных систем. Феромон откладывается каждым кластером Aa на ребрах сформированного агентами дерева Штей-нера, после построения всеми кластерами агентов деревьев Штейнера.
Количество феромона откладываемого на ребрах МДШ, построенного кластером агентов Aa, пропорционально оценке качества МДШ
Чем больше феромона будет отложено на рёбрах графа О, тем большее количество агентов будет включать эти рёбра в собственные маршруты.
На третьем этапе осуществляется испарение феромона.
Концепция коллективной адаптации (адаптивного поведения) кластера агентов, используемая в рассмотренном выше подходе, заключается в следующем.
Глобальная цель коллектива (кластера агентов) заключается в построении минимального дерева Штейнера.
Локальная цель каждого агента заключается в построении маршрута максимальной стоимости, то есть маршрута, максимально совпадающего с маршрутами, построенными другими агентами кластера, что косвенно способствует достижению глобальной цели коллектива.
Отметим, что в соответствии с подходом, описанным выше, все маршруты, которые может построить агент, будут иметь одну и ту же длину. Качество маршрута, построенного агентом аак, будет определяться наличием общих участков с маршрутами, построенными другими агентами кластера. Чем больше в составе маршрута общих участков с маршрутами, построенными другими агентами кластера, тем меньше суммарная длина ребер МДШ.
В работе впервые используется метод двойного непрямого обмена информации. Метод построен на основе композитной структуры феромона и дифференцированного способа его отложения. Каждый агент аак в кластере Ла метит путь (ребра маршрута) двумя видами феромона: феромон-1 и феромон-2.
Для отражения коллективной эволюционной памяти в течение жизни популяции кластеров агентов используются граф поиска решений О=(У,Е) и счетчик числа включений ребер (СВР) Б={^^=1, 2, ..., пЕ}.
На ребрах графа О, входящих в состав дерева Штейнера, построенного кластером агентов Ла, откладывается феромон (феромон-1) в количестве, пропорциональном оценке решения и феромон-2, отражающий значение счетчика числа включений.
Для учета среднего количества включений каждого ребра ejeE графа поиска решений О=(У,Е) в состав маршрутов, с формированных в процессе построения деревьев Штейнера, используется счетчик включений ребер (СВР) Б={ё}\1=1, 2, ..., пЕ}. Значением показателя й является среднее количество включений ребра ej в состав маршрутов, сформированных всеми агентами коллектива кластеров Л. Изначально счетчик Б обнуляется, т.е. всем показателям й присваивается нулевое значение. Пересчет значений показателей счетчика Б выполняется каждый раз после выполнения очередной итерации.
Для расчета показателей счетчика Б используются три промежуточных счетчика Б1={й1^=1, 2, ..., пЕ}, Б2={ё2^=1, 2, ..., пЕ}, Б3={й3}\)=1, 2, ..., пЕ}. Изначально все счетчики Б1, Б2, Б3, Б обнуляются. Счетчики Б1, Б2 обнуляются вначале каждой итерации. Счетчики Б1, Б2, Б3, Б формируются на каждой итерации последовательно один за другим. Значения показателей счетчиков формируются путем последовательного наращивания.
Счетчик Б1 используется для учета количества включений каждого ребра е^еЕ графа поиска решений О=(У,Е), входящего в состав совокупности Ма маршрутов, сформированных в процессе построения дерева Штейнера агентами кластера Ла.
Каждый раз после построения очередным агентом аак кластера Ла соединения (маршрута) шак определяется совокупность всех ребер Е(шак) графа О, входящих в соединение (маршрут) шак. Затем значение каждого показателя й^, такого, что ej еЕ(шак) увеличивается на единицу. После построения совокупности маршрутов Ма агентами кластера Ла определяется совокупность всех ребер Е(Ма) графа О, входящих в эти соединения (маршруты), т.е. в состав построенного дерева Штейнера.
Счетчик Б2 используется для учета количества d2j включений каждого ребра ejеE графа О в состав совокупности маршрутов М=иМа, сформированных в процессе построения деревьев Штейнера агентами множества всех кластеров А на одной итерации.
Каждый раз после построения очередным кластером агентов Аа дерева Штейнера (совокупности маршрутов Ма) значение каждого показателя d2J, такого, что ejеE(Ma) увеличивается на значение показателя d1j, т.е. d2j=d2j+ d1j. После сложения значений показателей счетчика Б1 со значениями соответствующих показателей счетчика Б2 значения показателей счетчика Б1 обнуляются.
Счетчик Б3 используется для учета количества включений каждого ребра ejеE графа О в состав совокупности маршрутов, сформированных в процессе построения деревьев Штейнера агентами множества кластеров А на всех выполненных итерациях.
Каждый раз после выполнения очередной итерации I формируются значения показателей счетчиков Б3 и Б. Значение каждого показателя d3j еБ3 увеличивается на значение показателя d2j, т.е. d3j=d3J+d2j. Значение каждого показателя djеD равно среднему значению показателя d3j, сформированному за I итераций, т.е.
После обновления показателей счетчиков Б3 и Б показатели счетчика Б2 обнуляются.
Состояние каждого ребра ejеE графа поиска О решений описывается двумя параметрами ^ и dj. Значения показателей ^ и dj обновляются путем наращивания на каждой итерации после построения всеми кластерами агентов деревьев Штейнера. Показатель ^ соответствует феромону-1, а dj - феромону-2. В работе используется композитный подход к формированию оценки (стоимости) ребра в процессе построения маршрута.
С учетом композитной оценки (^ и dJ) состояния ребер графа поиска решений О пошаговый процесс построения маршрута шак агентом аак при параллельно-последовательном подходе осуществляется следующим образом. Пусть к данному моменту t сформирована часть маршрута шакф. Агент аак формирует список Ek(t+1) еE ребер - кандидатов для включения в ¿--маршрут.
Для каждого ребра eJ■еEk(t+1) рассчитывается параметр wJ=dJ■■rJ■, где г - длина ребра eJ■.
Показатель Wj используется исходя из следующих соображений. Рассмотрим два маршрута ¿1 и ¿2. Пусть 11 длина маршрута а 12 длина маршрута ¿2. В худшем случае общая длина сети 1=11+12. Если же маршруты и ¿2 используют общие ребра, то общая длина сети будет меньше на суммарную длину общих ребер. Таким образом, чем больше общих ребер используемых множеством маршрутов, построенных агентами одного кластера, и суммарная длина общих ребер, тем меньше общая длина сети.
При мультипликативной свертке по формуле:
определяется потенциальная стоимость С каждого ребра ejе Ek(t+1), где а, в - управляющие параметры, которые подбираются экспериментально.
Вероятность Pj включения ребра ejеEk(t+1) в формируемый маршрут шак^+1), определяется следующим соотношением:
d,=d3,/l.
Cj=(hj)a • (w/,
(1)
(2)
P}=C}/ЦС), для (i\eteEk(t+1)).
(3)
После формирования агентами одного кластера Aa маршрутов (каждый агент aak - свой маршрут) определяется оценка Fa(l) сети (дерева Штейнера), построенного агентами кластера Aa на l-ой итерации.
После построения всеми кластерами агентов деревьев Штейнера на втором этапе итерации, для каждого ребра ej eE графа G обновляются значения показателей hj и dj.
Общее испарение феромона на ребрах графа G производится в соответствии с формулой:
hj = hj (1-р), (4)
где р - коэффициент обновления.
После выполнения всех действий на итерации находится агент с лучшим решением, которое запоминается. Далее осуществляется переход на следующую итерацию.
Алгоритм построения дерева Штейнера на основе метода муравьиной колонии для модернизированного варианта концепции коллективной адаптации формулируется следующим образом.
1. В соответствии с вышеприведенной методикой на базе исходного множества точек P={pi\i=1 ,2, ..., n}, формируется ортогональный граф поиска решений G=(V, E).
2. На базе исходного множества точек P={pi\i=1, 2, ..., n}, с помощью алгоритма Прима строится МСД R={Rk\k=1, 2, ..., n-1}, Як=(р, pj) - ребро МСД.
3. На всех ребрах графа поиска решений G=(V, E), откладывается начальное количество h(1) феромона-1, равное Q/m, где m=|E|.
4. Все счетчики D1, D2, D3, D обнуляются.
5. Выбирается формула (1) или (2) для вычисления потенциальной стоимости ребра Cj. Задаются значения параметров: а, р.
6. Задается число кластеров агентов - Na.
7. Задается число итераций - Nl.
8. l=1. (l - номер итерации).
(Первый этап итерации)
(На первом этапе каждой итерации на графе поиска решений G=(V, E) каждым кластером агентов Aa строится МДШ).
9. a=1. (a-номер кластера).
10. За каждым ребром Rk=(pi, pj) закрепляется агент aakeAa, который размещается в одной из вершин графа поиска решений G=(V, E).
(Далее каждым агентом aakeAa на графе поиска решений G=(V, E) строится маршрут sk(l)).
11. k=1. (k-номер агента).
12. t=0. (t-номер шага).
13. Агент aak определяет множество ребер Ek(t+1) кандидатов для включения в свой маршрут mak(t+1).
14. Рассчитывается стоимость Cj каждого ребра eje Ek(t+1).
15. По формуле (3) для каждого ребра ejeEk(t+1) рассчитывается вероятность Pj его включения в формируемый маршрут mak(t+1).
16. Случайным образом в соответствии с рассчитанными вероятностями выбирается ребро ejeEk(t+1), которое включается в маршрут mak(t+1).
17. Если маршрут mak (t+1) построен, то переход к п.18, иначе t=t+1 и переход к п.13.
18. (Наращивание показателей счетчика D1).
Определяется совокупность всех ребер и(шак) графа О, входящих в соединение (маршрут) шак. Затем значение каждого показателя ё^, такого, что ejеE(шak) увеличивается на единицу.
19. Если к<(п-1), то к=к+1 и переход к п.12, иначе переход к п.20.
20. (Наращивание показателей счетчика D2).
Б2=Б2+Б1.
21. Определяется длина Еа(1) сети (дерева Штейнера), построенного агентами кластераЛа на 1-ой итерации.
22. Обнуление счетчика Б1.
22. Если а<Ыа, то а=а+1 и переход к п. 10, иначе переход к п.23.
23. (Наращивание показателей счетчика D3).
Б3= Б3+Б2.
24. Обнуление счетчика Б2.
25. Формирование счетчика Б. (Vj)[dj=d3jll].
(Второй этап итерации)
26. Каждый кластер Ла агентов откладывает феромон на ребрах построенного им на 1-ой итерации дерева Штейнера в количестве:
та(1}= ¥а(1),
а общее количество феромона на ребре ej определится как:
Н](1+1)=Н](1)+Еа(та(1))
(Третий этап итерации)
27. В соответствии с формулой (4) производится общее испарение феромона на ребрах графа О=(У, Е).
28. Выбор лучшего решения, полученного на протяжении всех выполненных итераций.
29. Если 1<Ы1, то 1=1+1 и переход к п.9, иначе конец работы алгоритма.
После выполнения всех действий на итерации запоминается лучшее дерево Штейнера, построенное на данной итерации. Далее осуществляется переход на следующую итерацию. Временная сложность этого алгоритма зависит от времени жизни колонии I (число итераций), количества вершин графа п и числа кластеров агентов па.
Временная сложность этого алгоритма на одной итерации определяется как 0(п2), где п - количество вершин графа О=(У, Е).В общем случае время работы этого алгоритма зависит от времени жизни колонии I (число итераций), количества вершин графа п и числа агентов ш, помещаемых в каждую вершину графа поиска решений О=(У, Е).
3. Экспериментальные исследования. Целью экспериментальных исследований является выявление зависимостей и влияния на качество МДШ различных комбинаций управляющих параметров и структур.
Экспериментальные исследования программы построения дерева Штейнера на основе метода муравьиной колонии (AMST) показали, что начальное количество феромона Q должно быть в 14 раз больше среднего количества значения феромона тк(1), откладываемого агентами на каждой итерации.
Для нахождения наилучшего сочетания таких параметров, как объем популяции М и количество итераций Т, использовались точные решения задачи Штейнера в прямоугольной метрике для тестовых наборов estein OR-library [13], приведенные в работе D.Warme [14]. Данный тестовый набор представляет собой совокупность задач с размерностью 10, 20, 30, 40, 50, 60, 70, 90, 100, 250 и 500 точек (по 15 задач на каждую размерность). Результаты исследований приведены в табл. 1.
В результате экспериментов установлено, что при объеме популяции кластеров агентов М=100 алгоритм сходится в среднем на 130 итерации. В среднем решение близко к оптимальному. В среднем результат, полученный предложенным алгоритмом на 130-ой итерации, отличается от точного на 0.15 процента.
Таблица 1
Результат исследований
Число вершин Качество решения Число генераций Т
Опт. <0,1% > 0,1% Min Мах Средн.
10 8 1 1 20 100 80
20 14 4 2 20 115 90
30 15 5 0 30 200 110
40 5 4 1 32 150 120
50 6 4 0 40 175 150
60 6 4 0 70 200 150
80 68 6 6 60 150 145
100 82 10 8 55 135 120
250 200 20 30 50 140 125
500 460 40 60 60 135 110
В качестве аналога для сравнения выбраны пять алгоритмов: algorithm (RMST) [15], Refined Single Trunk Tree (RST-T) [16], the spanning graph based RSMT algorithm (SPAN) [17], the near-optimal Batched Iterated 1-Steiner (BI1S) heuristic [18], and FLUTE [19]. В качестве оценки качества рассматривалась суммарная длина ребер построенного МДШ Сравнительный анализ с другими алгоритмами производился на стандартных тестовых примерах и схемах (бенчмарках). Генерация оптимальных решений МДШ была произведена программой GeoSteiner 3.1 [20]. Исходные значения тестов были взяты из [21].
Анализируя данные можно сделать вывод, что разработанный алгоритм AMST находит решения, превосходящие своих аналогов. Среднее отклонение по всем примерам составляет всего 0,15 %. Сравнение отклонений показано в табл. 2.
Таблица 2
Сравнение отклонений
Число вершин МДШ Отклонение суммарной длины МДШ от оптимального значения в %
RMST RST-T SPAN BIIS FLUTE AMST
10 11.920 5.016 0.950 0.381 0.126 0.071
20 12.373 14.471 1.124 0.484 0.572 0.327
30 12.526 22.215 1.235 0.533 1.100 0.648
40 12.630 29.130 1.316 0.551 1.633 0.971
50 12.742 35.598 1.391 0.563 2.081 1.540
60 12.766 41.832 1.436 0.566 2.475 1.471
70 12.802 47.781 1.497 0.575 2.837 1.687
80 12.872 53.967 1.554 0.588 3.195 1.910
90 12.892 59.430 1.600 0.587 3.508 2.101
100 12.881 64.722 1.658 0.590 3.798 2.267
Из табл. 2 видно, что отклонение критерия от оптимального линейно зависит от числа вершин. Отклонение RST-T очень быстро возрастает с ростом числа вершин и очень существенно даже для сетей среднего размера. AMST очень точен
для сетей с малым числом вершин, и достаточно точен для сетей с числом вершин до 100. Таким образом, он подходит для приложений СБИС. Временная сложность алгоритма при фиксированных значениях M и T лежит в пределах О(п).
Заключение. В работе рассмотрен параллельно последовательный подход к построению МДШ и глобальной трассировки. Декомпозиция задачи в рамках параллельно-последовательного подхода позволили избежать проблемы очередности прокладки маршрутов и организовать систему коллективной адаптации с высокой степенью целесообразного поведения и сходимости.
Разработана модификация метода муравьиной колонии для решения задачи построения МДШ позволяющая находить приемлемые решения при меньших машинных затратах.
Особенностью представленного алгоритма построения МДШ является то, что муравьиная колония разбита на кластеры и поиск конкретного решения задачи осуществляется популяцией кластеров муравьев, что позволяет использовать представление решений в виде совокупности элементов. В отличие от канонической парадигмы МК, предложена модифицированная жадная стратегия построения ориентированного маршрута на графовой модели представления решения.
В работе впервые используется композитная структура феромона и дифференцированный метод его отложения. Каждый муравей в группе метит путь (ребра маршрута) двумя видами феромона: феромон-1 и феромон-2. Отличительные черты процесса формирования маршрута отдельным муравьем ak заключаются в использовании комбинированного подхода к формированию оценки, определяющей выбор ребра для включения в формируемый маршрут. Это обеспечивает более высокую вероятность локализации глобального экстремума задачи. Временная сложность этого алгоритма на одной итерации определяется как O(n2), где n - количество вершин графа G=(V, Е).В общем случае время работы этого алгоритма зависит от времени жизни колонии l (число итераций), количества вершин графа n и числа агентов m, помещаемых в каждую вершину графа поиска решений G=(V, Е). Сравнительный анализ с другими алгоритмами глобальной трассировки производился на стандартных тестовых примерах и схемах (бенчмарках). На каждой из бенчмарок в среднем результаты были лучше на 2-5 %.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Лебедев Б.К., Лебедев О.Б., Чернышев Ю.О. Основные задачи синтеза топологии СБИС.
- Ростов-на-Дону: Изд-во РГАСХМ, 2006. - 154 с.
2. Лебедев Б.К. Интеллектуальные процедуры синтеза топологии СБИС. - Таганрог: Изд-во ТРТУ, 2003. - 132 с.
3. Лебедев О.Б. Построение дерева Штейнера на основе метода муравьиной колонии // Тр. конгресса по интеллектуальным системам и информационным технологиям «AIS-IT'09». Научное издание в 4-х т. Т. 1. - М.: Физматлит, 2009. - С. 58-65.
4. Лебедев В.Б., Лебедев О.Б. Роевой интеллект на основе интеграции моделей адаптивного поведения муравьиной и пчелиной колоний // Известия ЮФУ. Технические науки.
- - 2013. - № 7 (144). - С. 41-47.
5. Rabkin M. Efficient use of Genetic Algorithms for the Minimal Steiner Tree and Arborescence Problems with applications to VLSI Physical Design // Genetic Algorithms and Genetic Programming at Stanford. - 2002. - № 1. - P. 195-202.
6. Калашников Р.С. Экспериментальные исследования комбинированного эвристического алгоритм построения дерева Штейнера основанного на методе эволюционного поиска для этапа глобальной трассировки // Известия ТРТУ. - 2005. - № 3 (47). - С. 34-41.
7. Лебедев В.Б. Построение связывающих сетей на основе роевого интеллекта и генетической эволюции // Сб. научных трудов XIV Всероссийской научно-технической конференции «НЕЙРОИНФОРМАТИКА-20 12». Ч. 2. - М.: Изд-во Физматлит, 2012. - C. 93-103.
8. Tao Huang, Evangeline F.Y. Obstacle-avoiding rectilinear Steiner minimum tree construction: an optimal approach // Proceedings of the International Conference on Computer-Aided Design San Jose, California. 2010. - P. 610-613.
9. Полежаев П.Н., Миронов А.П., ПолякР.И. Применение алгоритмов муравьиной колонии в решении задачи Штейнера // Философские проблемы информационных технологий и киберпространства. - 2015. - Вып. № 1. - С. 96-105.
10. PatelM.K., KabatM.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.
11. Норенков И.П. Основы автоматизированного проектирования. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2006. - 288 с.
12. Щемелинин В.М. Автоматизация топологического проектирования БИС. - М.: МИЭТ, 2001. - 188 с.
13. OR-Library is collection of test data for a variety of OR problem. - http://mscmga.ms.ic.ac.uk.
14. Warme D.M. A new exact algorithm for rectilinear Steiner trees. INFORMS Conf., San-Diego, California, 1997. - P. 455-472.
15. Andrew B. Kahng and Ion Mandoiu. RMST-Pack: Rectilinear minimum spanning tree algorithms. - http://vlsicad.ucsd.edu/GSRC/bookshelf/Slots/RSMT/RMST/.
16. Chen H., Qiao C., Zhou F. and Cheng C.-K. Refined single trunk tree: A rectilinear Steiner tree generator for interconnect prediction // In Proc. ACM Intl. Workshop on System Level Interconnect Prediction. - 2002. - P. 85-89.
17. Hai Zhou. Efficient Steiner tree construction based on spanning graphs // In Proc. Intl. Symp. on Physical Design. - 2003. - P. 152-157.
18. Griffith J., Robins G., Salowe J.S. and Zhang T. Closing the gap: Near-optimal Steiner trees in polynomial time // IEEE Trans. Computer-Aided Design. - 1994. - No. 13 (11). - P. 1351-1365.
19. Chris Chu. FLUTE: Fast lookup table based wirelength estimation technique // In Proc. IEEE/ACM Intl. Conf. on Computer-Aided Design. - 2004. - P. 696-701.
20. GeoSteiner - software for computing Steiner trees. - http://www.diku.dk/geosteiner/.
21. Chu C. and Wong Y.-C. Fast and accurate rectilinear Steiner minimal tree algorithm for VLSI design. In Proc. International Symposium on Physical Design. - ACM Press, 2005. - P. 28-35.
REFERENCES
1. Lebedev B.K., Lebedev O.B., Chernyshev Yu.O. Osnovnye zadachi sinteza topologii SBIS [The main tasks of the synthesis of VLSI topology]. Rostov-on-Don: Izd-vo RGASKHM, 2006, 154 p.
2. Lebedev B.K. Intellektual'nye protsedury sinteza topologii SBIS [Intelligent synthesis procedures for VLSI topology]. Taganrog: Izd-vo TRTU, 2003, 132 p.
3. Lebedev O.B. Postroenie dereva SHteynera na osnove metoda murav'inoy kolonii [Building a Steiner tree based on the ant-colony method], Tr. kongressa po intellektual'nym sistemam i informatsionnym tekhnologiyam «AIS-IT'09» [Proceedings of the congress on intellectual systems and information technologies "AIS-IT'09"]. Scientific publication in 4 vol. Vol. 1. Moscow: Fizmatlit, 2009, pp. 58-65.
4. Lebedev V.B., Lebedev O.B. Roevoy intellekt na osnove integratsii modeley adaptivnogo povedeniya murav'inoy i pchelinoy koloniy [Swarm intelligence based on the integration of models of adaptive behavior of formic and bee colonies], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2013, No. 7 (144), pp. 41-47.
5. Rabkin M. Efficient use of Genetic Algorithms for the Minimal Steiner Tree and Arborescence Problems with applications to VLSI Physical Design, Genetic Algorithms and Genetic Programming at Stanford, 2002, No. 1, pp. 195-202.
6. Kalashnikov R.S. Eksperimental'nye issledovaniya kombinirovannogo evristicheskogo algoritm postroeniya dereva SHteynera osnovannogo na metode evolyutsionnogo poiska dlya etapa global'noy trassirovki [Experimental studies of the combined heuristic algorithm for constructing a Steiner tree based on the evolutionary search method for the global trace stage], Izvestiya TRTU [Izvestiya TSURE], 2005, No. 3 (47), pp. 34-41.
7. Lebedev V.B. Postroenie svyazyvayushchikh setey na osnove roevogo intellekta i geneticheskoy evolyutsii [Building connecting networks based on swarm intelligence and genetic evolution], Sb. nauchnykh trudovXIV Vserossiyskoy nauchno-tekhnicheskoy konferentsii «NEYROINFORMATIKA-2012» [Collection of scientific papers of the XIV All-Russian Scientific-Technical Conference "NEUROINFORMATICS-2012"]. Part 2. Moscow: Izd-vo Fizmatlit, 2012, pp. 93-103.
8. Tao Huang, Evangeline F.Y. Obstacle-avoiding rectilinear Steiner minimum tree construction: an optimal approach, Proceedings of the International Conference on Computer-Aided Design San Jose, California. 2010, pp. 610-613.
9. Polezhaev P.N., Mironov A.P., Polyak R.I. Primenenie algoritmov murav'inoy kolonii v reshenii zadachi Shteynera [Application of algorithms of the ant colony in solving the Steiner problem], Filosofskieproblemy informatsionnykh tekhnologiy i kiberprostranstva [Philosophical problems of information technology and cyberspace], 2015, Issue No. 1, pp. 96-105.
10. PatelM.K., KabatM.R., Tripathy C.R. A hybrid ACO/PSO based algorithm for QoS multicast routing problem, Ain Shams Engineering Journal, 2014, Vol. 5, Issue 1, pp. 113-120.
11. Norenkov I.P. Osnovy avtomatizirovannogo proektirovaniya [Basics of computer-aided design]. Moscow: Izd-vo MGTU im. N.E. Baumana, 2006, 288 p.
12. Shchemelinin V.M. Avtomatizatsiya topologicheskogo proektirovaniya BIS [Automation of topological design of LSI]. Moscow: MIET, 2001, 188 p.
13. OR-Library is collection of test data for a variety of OR problem. Available at: http://mscmga.ms.ic.ac.uk.
14. Warme D.M. A new exact algorithm for rectilinear Steiner trees. INFORMS Conf., San-Diego, California, 1997, pp. 455-472.
15. Andrew B. Kahng and Ion Mandoiu. RMST-Pack: Rectilinear minimum spanning tree algorithms. Available at: http://vlsicad.ucsd.edu/GSRC/bookshelf/Slots/RSMT/RMST/.
16. Chen H., Qiao C., Zhou F. and Cheng C.-K. Refined single trunk tree: A rectilinear Steiner tree generator for interconnect prediction, In Proc. ACM Intl. Workshop on System Level Interconnect Prediction, 2002, pp. 85-89.
17. Hai Zhou. Efficient Steiner tree construction based on spanning graphs, In Proc. Intl. Symp. on Physical Design, 2003, pp. 152-157.
18. Griffith J., Robins G., Salowe J.S. and Zhang T. Closing the gap: Near-optimal Steiner trees in polynomial time, IEEE Trans. Computer-Aided Design, 1994, No. 13 (11), pp. 1351-1365.
19. Chris Chu. FLUTE: Fast lookup table based wirelength estimation technique, In Proc. IEEE/ACM Intl. Conf. on Computer-Aided Design, 2004, pp. 696-701.
20. GeoSteiner - software for computing Steiner trees. Available at: http://www.diku.dk/geosteiner/.
21. Chu C. and Wong Y.-C. Fast and accurate rectilinear Steiner minimal tree algorithm for VLSI design, In Proc. International Symposium on Physical Design. ACM Press, 2005, pp. 28-35.
Статью рекомендовал к опубликованию д.т.н., профессор А.В. Чернов.
Лебедев Борис Константинович - Южный федеральный университет; e-mail: lebedev.b.k@gmail.com; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 89282897933; кафедра систем автоматизированного проектирования; профессор.
Лебедев Олег Борисович - e-mail: lebedev.ob@mail.ru; тел.: 89085135512; кафедра систем автоматизированного проектирования; доцент.
Лебедева Екатерина Олеговна - e-mail: lbedevakate@mail.ru; тел.: 89289591426; кафедра систем автоматизированного проектирования; аспирант.
Lebedev Boris Konstantinovich - Southern Federal University; e-mail: lebedev.b.k@gmail.com; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +79282897933; the department of computer aided design; professor.
Lebedev Oleg Borisovich - e-mail: lebedev.ob@mail.ru; phone: +79085135512; the department of computer aided design; associate professor.
Lebedeva Ekaterina Olegovna - e-mail: lbedevakate@mail.ru; phone: +79289591426; the department of computer aided design; graduate student.