Научная статья на тему 'Генетический алгоритм глобальной трассировки, основанный на кодировании альтернатив прокладки маршрута в графе'

Генетический алгоритм глобальной трассировки, основанный на кодировании альтернатив прокладки маршрута в графе Текст научной статьи по специальности «Математика»

CC BY
398
102
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / ГЛОБАЛЬНАЯ ТРАССИРОВКА / ОПТИМИЗАЦИЯ / GENETIC ALGORITHM / GLOBAL ROUTING / OPTIMIZATION

Аннотация научной статьи по математике, автор научной работы — Лебедев Владимир Борисович, Шашелов Артем Андреевич

Предложен новый метод решения задачи глобальной трассировки на основе генетического алгоритма. Основная идея алгоритма заключается в кодировании альтернатив прокладки маршрута в вершинах графа. Отличительной чертой является то, что кодируется не реальное размещение соединения по областям, а процедура его построения на коммутационном поле, а кодом является число в двоичной системе вычислений. Процесс построения маршрута заключается в последовательном перемещении по ребрам графа G от вершины к вершине, в соответствии с заданным кодом. Это значительно упрощает выполнение генетических операторов и сокращает объем необходимой памяти. В работе описываются принципы кодирования и декодирования хромосомы в компактной форме. Трудоемкость кодирования и декодирования хромосомы имеет линейную сложность O(L), где L длина хромосомы. Приводятся разработанные генетические операторы. Экспериментальные исследования проводились на IBM PC. По сравнению с существующими алгоритмами достигнуто улучшение результатов.

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

GLOBAL ROUTING GENETIC ALGORITHM BASED ON ALTERNATIVES OF CONSTRUCTING THE ROUTE

In this paper, we present a new genetic algorithm for solving the global routing problem. The main idea of the algorithm is the coding alternatives of constructing the route in the vertices of the graph. This paper describes the principles for encoding and decoding of the chromosome in a compact form, also describes the genetic operators. Which distinctive line is that real placing of connection on areas is coded not, and procedure of its construction on a switching field, and a code is number in binary system of calculations. Process of construction of a route consists in consecutive moving on edges graph G from vertex to vertex, according to the set code. It considerably simplifies performance of genetic operators and reduces volume of necessary memory. Labour input coding and chromosome decoding has linear complexity O (L), where L length of a chromosome. Experimental researches were spent on IBM PC. Compared with existing algorithms achieved better results.

Текст научной работы на тему «Генетический алгоритм глобальной трассировки, основанный на кодировании альтернатив прокладки маршрута в графе»

Rodzin Sergey Ivanovich - Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; GSP 17A, 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371673; the department of software engineering; professor.

УДК 681.325

В.Б. Лебедев, А.А. Шашелов

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ГЛОБАЛЬНОЙ ТРАССИРОВКИ, ОСНОВАННЫЙ НА КОДИРОВАНИИ АЛЬТЕРНАТИВ ПРОКЛАДКИ МАРШРУТА В ГРАФЕ*

Предложен новый метод решения задачи глобальной трассировки на основе генетического алгоритма. Основная идея алгоритма заключается в кодировании альтернатив прокладки маршрута в вершинах графа. Отличительной чертой является то, что кодируется не реальное размещение соединения по областям, а процедура его построения на коммутационном поле, а кодом является число в двоичной системе вычислений. Процесс построения маршрута заключается в последовательном перемещении по ребрам графа G от вершины к вершине, в соответствии с заданным кодом. Это значительно упрощает выполнение генетических операторов и сокращает объем необходимой памяти. В работе описываются принципы кодирования и декодирования хромосомы в компактной форме. Трудоемкость кодирования и декодирования хромосомы имеет линейную сложность O(L), где L - длина хромосомы. Приводятся разработанные генетические операторы. Экспериментальные исследования проводились на IBM PC. По сравнению с существующими алгоритмами достигнуто улучшение результатов.

Генетический алгоритм; глобальная трассировка; оптимизация.

V.B. Lebedev, A.A. Shashelov

GLOBAL ROUTING GENETIC ALGORITHM BASED ON ALTERNATIVES OF CONSTRUCTING THE ROUTE

In this paper, we present a new genetic algorithm for solving the global routing problem. The main idea of the algorithm is the coding alternatives of constructing the route in the vertices of the graph. This paper describes the principles for encoding and decoding of the chromosome in a compact form, also describes the genetic operators. Which distinctive line is that real placing of connection on areas is coded not, and procedure of its construction on a switching field, and a code is number in binary system of calculations. Process of construction of a route consists in consecutive moving on edges graph G from vertex to vertex, according to the set code. It considerably simplifies performance of genetic operators and reduces volume of necessary memory. Labour input coding and chromosome decoding has linear complexity O (L), where L - length of a chromosome. Experimental researches were spent on IBM PC. Compared with existing algorithms achieved better results.

Genetic algorithm; global routing; optimization.

Введение. Разработка методов и алгоритмов для решения задачи глобальной трассировки осуществляется на протяжении многих лет и по-прежнему является актуальной. Данная задача является NP-трудной. Для таких задач поиск точного решения за приемлемое время затруднителен. Алгоритмы глобальной трассировки можно разбить на два класса: последовательный и комбинаторный [1].

*

Работа выполнена при частичной поддержке РФФИ (проект № 12-01-00100).

При последовательном подходе цепи распределяются по областям последовательно. В основе большинства из них лежит волновой алгоритм Ли и его модификации [1-3]. Качество решения во многом определяется порядком трассируемых соединений. Анализ существующих методов упорядочения показывает, что не существует радикального метода, гарантирующего оптимальную трассировку.

Сущность комбинаторных алгоритмов заключается в том, что для каждого соединения ^ формируется набор вариантов его реализации, т.е. набор вариантов прохождения его по областям. Цель задачи заключается в нахождении на заданном наборе таких вариантов, которые обеспечивают наилучшее решение задачи глобальной трассировки. Большинство алгоритмов используют традиционные итерационные улучшающие структуры, основанные на слепом случайном поиске. Основным недостатком, присущим этому подходу, является вхождение алгоритмов в локальный оптимум, часто далекий от глобального оптимума. В последнее время для решения различных «сложных» задач, к которым относятся и задачи глобальной трассировки, всё чаще используются способы, основанные на применении методов искусственного интеллекта. Особенно наблюдается стремительный рост интереса к разработке алгоритмов, инспирированных природными системами [4-7]. Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта [8-12].

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

Постановка задачи. Проблема глобальной трассировки может быть сформулирована следующим образом [8]. Пусть задан граф С = (X, и). Вершины графа X; £ X соответствуют областям £ А. Если две области а; и имеют общую границу, то вершины х; и X] соединяются ребром щ £ и. Для каждого ребра щ задается вес у1 , равный пропускной способности йе соответствующей границы. Будем считать, что граф О метризован, т.е. каждая вершина х; £ X имеет координаты центра соответствующей области.

Также задано множество цепей Т = (Ск|к = 1,2,..., где каждая цепь опи-

сывается массивом контактов, которые связывает эта цепь.

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

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

Р V2Ре ■

где ре - загруженность ребра; йе - пропускная способность ребра.

Кодирование - декодирование хромосомы. В начале для каждой цепи £ Т на множестве вершин Хк графа О строится минимальное связывающее дерево (МСД) йк £ И с помощью алгоритма Прима йк = (гы |{ = 1,2,...}, где гк1 -ребро минимального связывающего дерева. Каждому ребру г[к соответствует двухтерминальное соединение (ДС).

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

вверх), (влево - вниз), (вправо - вверх), (вправо - вниз). В процессе построения на каждом шаге ъ в маршрут включается вершина х2. Дальнейшее перемещение из вершины х2 реализуется в соответствии с заданной альтернативой а2. Если аг = 0, то движение продолжается в том же направлении. Если аг = 1, то необходимо сменить направление. Другими словами, если перемещение в аг происходило по горизонтали, то дальнейшее перемещение из аг необходимо продолжить по вертикал и наоборот.

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

Следовательно, любое ДС кодируется набором альтернатив перемещений в вершинах. На рис. 1 приведен пример кодирования ДС. ДС может быть построено в 2-х направлениях 2 и 3. Белыми точками обозначены точки перегиба в которых соединение не изменило свое направление, а черными точками, в которых изменило.

Так как всего существует 4 глобальных направления, а для кодирования необходимо всего 2, то в начале для каждого ДС определяются 2 глобальных направления, в которых они могут быть построены, а затем 1-е и 2-е направления ДС ставятся в соответствие определенным глобальным направлениям по часовой стрелке. Следовательно, направление ДС может быть закодирована 0 или 1. Таким образом, любое ДС может быть закодировано массивом, состоящим из 0 и 1. Размер бинарного массива равняется сумме вертикальных и горизонтальных отрезков минус одни. Либо можно представить бинарный массив в виде одного числа в двоичной системе счисления, каждый разряд бинарного числа соответствует элементу массива. Соответственно значение гена может изменяться в пределах:

П< д. < ^Вертикальные отрезки+горизонтальные отрезки—1 1

— «У I —

2 N 2 N

Е , 3 Е 3

Направление Т1 Т2 Т3 Т4 Т5 Т6 Т7 Т8 Т9 Т10

1 2(0) 0 1 1 1 1 1 0 1 0 1

2 3(1) 0 0 1 0 0 1 0 1 1 1

Рис. 1. Примеры двух контактных соединений

В результате, хромосома Ьк = {д^\1 = 1,2,3,...} представляет собой объединение генов §. Количество генов в хромосоме кк соответствует количеству ДС в графе О. Каждый ген представляет собой целое не отрицательное число.

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

Каждый шаг декодирования ДС включает в себя 2 этапа: на первом этапе определяется код альтернативы построения маршрута, на втором, согласно коду альтернативы, происходит построение маршрута.

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

1. В начале берется первый блок и переменная г, которая хранит 1 в первом разряде.

2. Выполняется операция логического умножение переменной и значения в блоке. Если результат операции больше 1, то кодом альтернативы является 1, иначе 0.

3. Если расшифрованы альтернативы для всех вершин, то выход.

4. Если в переменной г 1 стоит в 32 разряде, то переносим 1 в первый разряд и переходим к следующему блоку. Иначе выполняем бинарный сдвиг переменной г, тем самым, мы перемещаем 1 из 1-го разряда во второй и т.д.

5. Переход к пункту 2.

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

На рис. 2 приведен пример декодирования гена 1648 с ограничениями по х = 7 и по у = 5. С начальными направлениями 2 и 3. В табл. 1 приведена двоичная форма числа 1648.

Таблица 1

Направление Т1 Т2 Т3 Т4 Т5 Т6 Т7 Т8 Т9 Т10

1 1 0 0 1 1 1 0 0 0 0

Рис. 2. Пример декодирования хромосомы

Начальная точка равняется (0, 0), направление 3 (так как 0 соответствует 2, а 1 соответствует 3). Следовательно, строим отрезок по вертикали и пересчитываем текущую точку (0, 1). Далее в Т1 стоит 1, следовательно изменяем направление с 3 на 2 и строим отрезок по х и пересчитываем текущую точку (1, 1). Далее в Т2 и Т3 стоят 0 следовательно направление остается прежним и отрезки откладываются по х и т.д. В точке Т10 мы подошли к границе по х, следовательно, остальные отрезки достраиваются по вертикали. Таким образом, в данном примере информация содержащаяся в точке Т10 не учитывается, однако эта информация потребуется в других формах данного соединения. Это приводит к избыточности пространства решений, кодируемого хромосомами. Однако эта проблема разрешается на этапе мутации хромосомы.

Трудоемкость кодирование и декодировании хромосомы имеет линейную сложность О(Ь), где Ь - длина хромосомы.

Так как на этап детальной трассировки передается только полностью протрассированные цепи, то информация о ДС не полностью протрассированных цепей, на более низких уровнях, входит в начальную популяцию. Данная информация является одинаковой во всех хромосомах исходной популяции. Значения оставшихся генов формируются следующим образом: в каждом гене сначала случайным образом задается направление 0 или 1; затем определяется количество точек перегибов и случайным образом для каждого точки перегиба задается поведение соединения с учетом границ области.

Генетические операторы при глобальной трассировке. Основными генетическими операторами являются кроссинговер, мутация, селекция, отбор [13].

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

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

Для этого сначала генерируется маска, по которой производится скрещивание. Маска представляет из себя вектор, состоящий из бинарных элементов. Количество элементов в векторе равно числу генов в хромосоме. Для каждого элемента случайным образом задается число 0 или 1. Ноль обозначает, что первому потомку достанется ген первого родителя, а второму - ген второго родителя. Единица обозначает, что первому потомку достанется ген второго родителя, а второму - ген первого родителя.

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

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

Простая мутация. Выбирается ген и случайным образом изменяется направление и/или поведение в точках перегиба. На рис. 5 приведен пример простой мутацией. Здесь точкой мутации выбирается 2-й ген. В выбранном гене проходим по всем разрядам слева направо и случайным образом изменяем их с учетом размеров области соединения. Если на определенном разряде достигнута граница области соединения, то остальные разряды заполняются 0. Во втором гене изменяются 1-й и 6-й разряд. Однако последняя точка выходит за границу области соединения и в 6-й разряд заносится 0.

И,

И"

$ $ М

Ні ё21 ё,2 ®23 §14 ё25 ®26

Н2 ё11 ®22 ё13 §24 ё15 ё16

Рис. 3. Универсальный кроссинговер

Номер цепи 1 1 2 2 2 3

Н’,

21

&22

14

§24

Рис. 4. Кроссинговер цепями

0 54 53 256 82 1 1 0 1 1 0

1 1

0 22 53 256 82 0 1 0 1 1 0

Рис. 5. Точечная мутация

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

Сопоставление разряда I в конечном гене и разряда w в начальном гене выполняется по формуле:

/Количество разрядов в конечном гене * 1\

w = round I-----------------------------------------).

Количество разрядов в начальном гене

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

£Г=о значения разрядов из начального гена

Результирующее значение round

54 53 256

X

о О О О О I О \ \ \^

0 0 0 0

Рис. 6. Двух точечная мутация обмена

ё4 1

Инверсия - выбираются 2 точки в хромосоме и отрезок инвертируется. Значение генов пересчитываются согласно выше приведенной методике.

0 52 54 0

Рис. 7. Инверсия

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

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

Экспериментальные исследования проводились на ІВМ РС. Для испытания нашего алгоритма мы использовали бенчмарки, которые использовались на І8РБ’07 для конкурсного тестирования. Полученные результаты сравнивались с результатами трассировщиков Маі/еКоиіег, БохКоиіег и ГОК, показавших луч-

шие результаты на этих бенчмарках. Сравнение производилось по критерию равномерное распределение цепей по коммутационному полю. На каждой из бенчмарок в среднем результаты были лучшее на 2-5 %. Для исследований использовались бенчмарки из [14], а также собственные модели, приближенные к реальным СБИС. По сравнению с существующими алгоритмами достигнуто улучшение результатов в среднем на 3 %.

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

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

1. Chang Y., Cheng K., Wang L. Electronic Design Automation: Synthesis, Verification, and Test. Elsevier Science, 2009.

2. Bozorgzadeh E., Kastner R., Sarrafzadeh M. Pattern routing: use and theory for increasing predictability and avoiding coupling // IEEE Trans. on CAD. - 2002. - № 21 (7). - P. 777-790.

3. Cho M., Pan D.Z., Puri R., Xiang H. Wire Density Driven Global Routing for CMP Variation and Timing, in Proc. Int. Conf. on Computer Aided Design, 2006.

4. Лебедев Б.К. Методы поисковой адаптации в задачах автоматизированного проектировании СБИС. Монография. - Таганрог: Изд-во ТРТУ, 2000. - С. 107-128.

5. Курейчик В.М., Лебедев Б.К. Методы эволюционной адаптации при решении комбинаторных задач // Материалы XV Международной конференции по нейрокибернетике. Т. 2.

- Ростов-на-Дону: Изд-во ЮФУ, 2009. - С. 98-101.

6. Курейчик В.М., Кажаров ЛА.Использование роевого интеллекта в решении NP-трудных задач // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 30-36.

7. Курейчик В.В., Запорожец Д.Ю. Роевой алгоритм в задачах оптимизации // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 28-32.

8. Лебедев О.Б. Глобальная трассировка на основе муравьиного алгоритма // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 94-102.

9. Лебедев Б.К., Лебедев В.Б.. Глобальная трассировка на основе роевого интеллекта // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 32-39.

10. Лебедев В.Б. Построение кратчайших связывающих сетей на основе роевого интеллекта // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 37-44.

11. Лебедев В.Б., Лебедев О.Б. Генетический алгоритм глобальной трассировки на основе иерархических многохромосомных представлений // Интеллектуальные системы. Коллективная монография / Под ред. В.М. Курейчика. - М.: Физматлит, 2009. - С. 88-105.

12. Лебедев О.Б. Дотрассировка (перетрассировка) соединений на основе гибридизации волнового и муравьиного алгоритмов // Труды конгресса по интеллектуальным системам и информационным технологиям «IS- IT’10». Научное издание в 4-х томах. Т. 2.

- М.: Физматлит, 2011. - С. 48-56.

13. Курейчик В.М. Модифицированные генетические операторы // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 7-15.

14. FGR 1.1. [Online]. Available: http://vlsicad.eecs.umich.edu/BK/FGR.

Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Витиска.

Лебедев Владимир Борисович - Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44, ГСП 17А; тел.: 88634371743; кафедра системного анализа и телекоммуникаций; доцент.

Шашелов Артем Андреевич - e-mail: [email protected]; 347900, г. Таганрог, Октябрьская, 11а, кв. 9; тел.: +79185185701; кафедра систем автоматизированного проектирования; аспирант.

Lebedev Vladimir Borisovich - Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; GSP 17A, 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +78634371743; the department of system analysis and telecommunications; associate professor.

Shashelov Artem Andreevich - e-mail: [email protected]; 11a, ap. 9, Oktabrskaya street, Taganrog, 347900, Russia; phone: +79185185701; the department of computer aided design; postgraduate student.

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