УДК 658.512
Б.К. Лебедев, О.Б. Лебедев ЭВОЛЮЦИОННЫЕ ПРОЦЕДУРЫ РАЗБИЕНИЯ СБИС*
. -
мирования является задача разбиения, рассматриваемой в комбинаторном направлении теории графов. Современная СБИС может содержать десятки миллионов
,
( , )
.
.
.
.
Большинство разработанных к настоящему времени алгоритмов разбиения используют в качестве модели схемы граф или гиперграф. Процедура разбиения графа входит в состав большого числа алгоритмов, решающих различные задачи. Весьма популярными алгоритмами разбиения графа 0(Х, и) на части являются , -биения [1, 2]. Итеративные алгоритмы делятся на детерминированные и вероятно.
В детерминированных алгоритмах изменение разбиения (решения) реализуется на основе четкой, детерминированной зависимости от изменяемого решения. Однако при экспериментальном исследовании указанных алгоритмов был выявлен , . , они довольно чувствительны к начальному разбиению, что сказывается на времени . , время работы алгоритмов [1-3] практически не зависит от того, насколько исходное разбиение близко к оптимальному. Недостатком является частое попадание в локальный оптимум («локадьную яму»).
В вероятностных алгоритмах переход к новому решению осуществляется слу-. , , является значительная трудоемкость. Один из путей преодоления этой трудности состоит в группировке сильно связанных подсхем в кластеры и дальнейшем объединении этих кластеров в узлы (вершины) перед выполнением алгоритма. Размерность данной задачи, таким образом, значительно уменьшается, что ведет к снижению времени поиска [4]. Спектральные методы [5, 6] разбиения схем выполняют следующие шаги: геометрическое вписывание графа в одно или многомерное пространство; разбиение графа на необходимое число подграфов, используя геомет-, , ограничений. Экспериментальные результаты показывают, что спектральные методы находят намного лучшее решение чем, улучшенные итерационные методы. Как показывает опыт, спектральные алгоритмы хоть и применимы к любым графовым задачам но, в отличие от алгоритма Фидуччиа-Маттеуз (РМ), имеют намного более высокую ВС А [6]. Поэтому спектральные алгоритмы целесообразнее использовать на небольших графах.
*
Работа выполнена при поддержке: РФФИ (гранты № 06-01-00272, № 08-01-00473), РНП 2.1.2.3193, РНП 2.1.2.2238.
Недавно был разработан новый класс алгоритмов разбиения гиперграфа [7-10], которые основаны на многоуровневой парадигме. В этих алгоритмах создан упорядоченный набор последовательно уменьшающихся гиперграфов. Находится разбиение самого маленького гиперграфа, затем это разбиение последовательно проектируется на следующий уровень, и на каждом уровне используется итерационный алгоритм для улучшения качества решения. Эксперименты, представленные в [7-9], показывают, что многоуровневые алгоритмы разбиения могут находить существенно лучшие решения за приемлемое время, чем те, которые находятся итерационными и спектральными алгоритмами.
Но следует отметить, что многоуровневые алгоритмы не решают сами по себе проблему разделения графа. Под этим названием скрывается общий подход, основанный на переходе от задачи разбиения большого графа к задаче разбиения намного меньшего графа, для которого гораздо дешевле, с точки зрения затра-, -
.
Возникшие потребности в решении задач большой и очень большой размерности является побудительным мотивом исследований и разработок новых эффек-. , этих условиях являются методы, основанные на моделировании эволюционных процессов [11-13].
Особый интерес представляет поисковая адаптация, основанная на использовании обучающихся автоматов, моделирующих поведение объекта адаптации в среде. Трудности использования такого подхода связаны, в первую очередь, с проблемой представления исходной формулировки задачи в виде адаптивной .
алгоритма [14].
В работе излагаются: методика символьного представления решения задачи разбиения на базе матрицы смежности графа и адаптивные механизмы видоизменения матрицы смежности, а также рассматривается структура процесса эволюционной модификации матрицы смежности для решения задачи нахождения .
1. Основные положения. Задача разбиения гиперграфа с взвешенными вершинами и ребрами формулируется следующим образом.
Пусть задан гиперграф Н = (X, Е), где X = (х, | ¡=1,2,...,п} - множество вершин, а Е=(в] | в] сХ,]=1,2,...,ш} - множество ребер (каждое ребро - подмножество связываемых им вершин). Вес вершин задается множеством Ф = (щ | 1=1,2,...,п}, а вес ребер - множеством *¥ = (щ | \=1,2,...,п}. Необходимо сформировать /Г-узлов, т.е. множество X разбить на К непустых и непересекающихся подмножеств Х„ X = иХу, (V,,]) [X, пХ] =0], Ху ¿0.
На формируемые узлы накладываются ограничения. С помощью вектора Р=(ру | у=1,2,...,к} задается максимально допустимый суммарный вес вершин, назначенных в у-ый узел, а с помощью вектора М=(пу | у=1,2,... ,к} - максимально
допустимое число вершин назначенных в у-ый узел.
Ограничения на вместимость имеют вид:
< ру, I =(, | х еХу}, у=1,2, ...,к. (1)
,е1
Ху\ <Пу, у=1,2,...,к. (2)
(1) , -
(2) - .
Иногда задано допустимое число выводов утсх для узлов. Ограничение для узлов, на число выводов у, имеет вид:
Гу <7тох, у=1,2,...,к
^Щ, Е,=(в] | (в] пХу ¿0) & (в] пХу * в)}, (3)
где Е, - множество ребер, связывающих множество вершин Х, с верши нами ос.
Основным критерием является Р1 - суммарная стоимость ребер в разрезе.
р = (4)
]=■>
где J = { | в] е С}, С = (в] | (VV) [в]пХ, ¿в]} - множество ребер в разрезе.
р2 - -
.
Р2 = (5)
V=1
р ,
критериев Р1 и Р2. Р=к1 р1 +к2 ■Р2.
Рассмотрим пример. Пусть задан граф 0=(Х, и), представленный на рис. 1.
Рис. 1. Р1ачальное разбиение графа О
Необходимо сформировать три узла. Допустимое число вершин назначенных в узлы п1=3, п2=4, п3=3. Задано его начальное разбиение Х1=(х1, х% х3}, Х2 = (х4, хщ х7, х6}, Х3=(х8, х5: х9). Число связей между узлами - 4. Состояние объекта оптимизации оценивается вектором S=(si | 1=1,2,.,.,п}. Значением является номер некоторой вершины х. Элементы si, для которых 1<, <п,, соответствуют первому узлу Х1. Элементы si, для которых п1+1 <, <п1+п2 соответствуют второму узлу Х2 и т.д. В нашем случае SИ=(x1, х2, х3,, х4, х10< х7, х6, х8, х5, х9}.
. 2, О, -
ром ^=(х2, х3, х5,, х1, х4, х7, х10, х6, х8: х9}.
Каждому решению, т.е. каждому вектору Б, будем ставить в соответствие матрицу смежности Я, у которой столбцы и строки помечены вершинами графа О в том же порядке, в котором соответствующие им вершины расположены в векторе Б. Для вектора Б,, и Би соответствующие им матрицы смежности представлены
на рис. 3, 4. Поскольку матрица смежности симметрична относительно главной диагонали, то на рисунках (рис. 3, 4) верхняя часть матрицы не заполнена и не рассматривается. Таким образом, столбцы и строки матрицы с 1 по п1 помечены номерами вершин, входящих в первый узел, а с ((п1 + п2 +...+ п)+1) по ((п1 + п2 +...+ п)+пі+1) - входящих в (пш)-ый узел.
1 2 3 4 10 7 6 8 9 5
1 &
2 1 &
3 1 &
4 1 &
10 1 &
7 1 1 &
6 1 &
8 1 &
9 1 1 &
5 1 1 &
5 1 4 7 10 6 8 9
Рис. 3. Начальное состояние матрицы смежности
Рис. 4. Конечное состояние матрицы смежности
&
&
&
&
&
&
&
&
Пусть столбцы и строки матрицы с номерами от I до 1+т помечены элементами, входящими в один узел X. Рассмотрим область Qi матрицы Я, образованную на пересечении столбцов и строк матрицы с номерами от I до (1+т) симметрично относительно главной диагонали. Элементы области Qi матрицы Я отражают связность между соответствующими вершинами узла X. Число Н отличных от нуля элементов области Qi матрицы Я равно числу внутренних связей между вершинами узла X. Число Р отличных от нуля элементов матрицы Я, не входящих ни в одну из областей Qi, равно числу внешних связей между узлами X. На рисунках (см. рис.
3, 4) области Q1, Q2, Q3 образованы соответственно на пересечении 1-3, 4-7 и 8-10 столбцов и строк матрицы смежности.
Пусть NQ - множество элементов матрицы Я, не входящих ни в одну из областей Qi. Назовем NQ областью внешних связей. Для матрицы (см. рис. 3) Q1=2, Q2=3, Q3=1, Р =6, а для матрицы (см. рис. 4) Q1=3, Q2=4, Q3 =3, Р=2. Таким образом, задача разбиения графа на узлы с минимизацией числа соединений между узлами сводится задаче формирования путем перестановок строк и столбцов в матрице смежности графа области внешних связей NQ с минимальным значением Р.
2. Эволюционные механизмы формирования минимальной области внешних связей. Формирование области внешних связей NQ с минимальным значением Р в матрице Я осуществляется в процессе её эволюционной модификации. Эволюционная модификация матрицы Я производится путём выборочных групповых перестановок соседних столбцов и строк, что обеспечивает направленное последовательное перемещение элементов матрицы Я с ненулевыми значениями из области внешних связей NQ в области Qi. Адаптивный процесс состоит из по,
решения (состояния матрицы Я) к другому - лучшему [15].
На каждом шаге анализируются пары (і, і+1) соседних строк и столбцов матрицы. Анализ осуществляется в два такта. На первом такте анализируются все пары (і, і+1), у которых первый элемент і - нечетное число. На втором такте анализируются пары, у которых первый элемент і - четное число.
Например: пусть п=10, тогда на первом такте рассматриваются пары строк и столбцов {(1,2),(3,4),(5,6),(7,8),(9,10)}. На втором такте - {(2,3),(4,5),(6,7),(8,9)}.
Пары строк и столбцов анализируются независимо друг от друга. По результатам анализа принимается решение о перестановке соседней пары строк и столбцов. Локальная цель перестановок - перемещение ненулевых элементов мат-
рицы снизу-вверх и справа-надево. Глобальная цель - формирование в матрице Я области внешних связей NQ с минимальным значением Г, т.е. разбиение графа О с минимальным числом связей между узлами.
Пусть для анализа выбрана пара строк и столбцов (1,1+1) матрицы Я=\\гі)]\ размером п*п и пусть строки и столбцы пересекают область Qk, образованную на пересечении столбцов и строк матрицы с номерами от V до м>. По нижеприведенным формулам рассчитываются параметры Б1, Б2, Б3,Б4:
V-! V-!
Е г = й; Е г+!,і = ^;
І=1 І =1
■гп = °3
где Б1 и Б2 - суммы элементов /-ой и /+1-ой строк матрицы Я, не входящих в состав области Qk ; £3 и Б4 - суммы элементов /-го и (/+1)-го столбцов матрицы Я, не входящих в состав области Qk .
Если пара строк (/,/+1) матрицы Я принадлежат двум соседним областям Qk и Qk+1, то параметры Б1, Б2, Б3, Б4 рассчитываются по следующим формулам:
/-і і-1
Е Г = й; Ег/+і,і = ^; і =і і =і
Е гп=^ Е ги+1=^
/=/+2 i=l+2
В этом случае в состав сумм и Б2, Б3 и Б4 входят все элементы 1-ой и 1+1-ой строк, 1-го и 1+1-го столбцов треугольной матрицы Я, за исключением элемента г1+ц- Суть анализа заключается в определении истинностного значения двух нижеприведенных условий:
1) ($.2 - $1)+ ($з - $4) >0;
2) ($2 - $1)+ ($3 - $4) =0-
Ответ еда», то есть - переставлять, вырабатывается, если выполняется условие 1. В случае выполнения условия 2 ответ еда» вырабатывается с вероятностью Р, задаваемой априорно. В остальных случаях вырабатывается ответ «нет».
Адаптивная поисковая процедура продолжается, пока существуют пары, для которых выполняются условия 1 и 2. В результате будет сформирована область внешних связей NQ с минимальным значением Р и будет определено разбиение графа с минимальным числом связей между узлами..
Пример. Пусть дан граф О (см. рис. 1). Задано его первоначальное разбиение. Матрица смежности графа О представлена на рисунке (см. рис. 3).
На каждом шаге на первом такте рассматриваются пары {(1,2),(3,4),(5,6), (7,8),(9,10)}, на втором такте - пары {(2,3),(4,5),(6,7), (8,9)}. Пара строк и столбцов , .
Я О. -
рестановка соседней пары строк и столбцов (^ i+1) приводит также к перестановке их меток. Будем в дальнейшем для идентификации строк и столбцов использовать их метки.
Шаг 1, такт 1: (1,2) - еда»; (3,4) - «нет»; (10,7) - еда»; (6,8) - «нет»; (9,5) -еда». Итак, на 1-ом такте 1-го шага осуществляется перестановка пар (1,2), (10,7), (9,5). Я . 5.
п
п
1, 2: (1,3) - « »; (8,5) - « ». Я . 6.
2 1 3 4 7 10 6 8 5 9 2 3 1 4 7 10 6 5 8 9
2 <8>
2
1 1 <8>
3 1
3 1 <8>
1 1
4 1 <8> 4 1
7 1 <8> 7 1
10 1 1 <8> 10 1 1
6 1 <8> 6 1
8 1 <8> 5 1 1
5 1 1 <8> 8 1
9 1 1 <8> 9 1 1
Рис. 5 Шаг 1, такт 1 Рис. 6. Шаг 1, такт 2
Шаг 2, такт 1: (6,5) - еда». Модифицированная матрица Я - рис. 7.
Шаг 2, такт 2: (10,5) - еда». Модифицированная матрица Я - рис. 8.
Шаг 3, такт 1: (7,5) - еда». Модифицированная матрица Я - рис. 9.
Шаг 3, такт 2: (4,5) - еда». Модифицированная матрица Я - рис. 10.
Шаг 4, такт 1: (1,5) - еда». Модифицированная матрица Я - рис. 4.
4, 2: .
После выполнения четырех шагов в модифицированной матрице сформирована область внешних связей NQ с минимальным значением Р=2.
2 3 1 4 7 10 5 6 8 9 2 3 1 4 7 5 10 6 8 9
2
2
3 1
3 1
1 1
1 1
4 1 <8> 4 1
7 1 7 1
10 1 1 5 1 1
5 1 1 10 1 1
6 1 6 1
8 1 8 1
9 1 1 9 1 1
Рис. 7. Шаг 2, такт 1 Рис. 8. Шаг 2, такт 2
2 3 1 4 5 7 10 6 8 9
2
3 1
1 1
4 1
5 1 1
7 1
10 1 1
6 1
8 1
9 1 1
Рис. 9. Шаг 3, такт 1
2 3 1 5 4 7 10 6 8 9
2
3 1
1 1
5 1 1
4 1
7 1
10 1 1
6 1
8 1
9 1 1
Рис. 10. Шаг 3, такт 2
Для преодоления локального барьера, используются подходы, основанные на сочетании различных видов эволюции.
В первом подходе используются идеи метода моделирования отжига. Если в процессе анализа обнаруживается, что условия (1)-(3) не выполняются, то перестановка осуществляется с вероятностью Р=гхр(-АР/кТ), где Т - температура; ДР - разница между суммами значений элементов анализируемых строк.
Во втором подходе используется одна из структур генетического поиска [16]. Популяция представляет собой множество матриц смежности (закодированных в
виде хромосом). Декодирование, т.е. получение решения, осуществляется с помощью вышеописанной адаптивной процедуры.
Временная сложность адаптивной процедуры на одном шаге - O(n). Сравнение с известными алгоритмами показало, что при меньшем времени работы новый алгоритм дает более качественные решения.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Naveed Sherwani. Algorithms for VLSI Physical Design Automation. Kluwer academic publishers. Boston /Dordrecht/ London. 1995.
2. M. Sarrafzadeh and C. K. Wong. An Introduction to VLSI Physical Design. New York: McGraw Hill. 1996.
3. Деньдобренко Б.П., Малика Л.С. Автоматизация проектирования радиоэлектронной аппаратуры. - М., Высш. шк., 2002.
4. J. Cong, C. Wu, ‘Global Clustering-Based Performance-Driven Circuit Partitioning’, Proc. ISPD, 2002.
5. L. Hagen and A. B. Kahng, "Fast Spectral Methods for Ratio Cut Partitioning and Clustering," Proc. IEEE Intl. Conf. on Computer-Aided Design, 2001, pp. 10-13.
6. Jan-Yang Chang, Yu-Chen Liu, and Ting-Chi Wang “Faster and Better Spectral Algorithms for Multi-Way Partitioning”, ASPDAC 1999.
7. G. Karypis. Multilevel hypergraph partitioning. In J. Cong and J. Shinnerl, editors, Multilevel Optimization Methods for VLSI, chapter 6. Kluwer Academic Publishers, Boston, MA, 2002.
8. Yongseok Cheon, Seokjin Lee, Martin D. F. Wong, “Stable Multiway Circuit Partitioning for ECO”, 2003
9. Navaratnasothie Selvakkumaran and George Karypis, “Multi-Objective Hypergraph Partitioning Algorithms for Cut and Maximum Subdomain Degree Minimization”, ICCAD 2003.
10. Cristinel Ababei, Navaratnasothie Selvakkumaran, Kia Bazargan, George Karypis, “Multiobjective Circuit Partitioning for Cutsize and Path-Based Delay Minimization”, ICCAD 2002.
11. . ., . . . -
. , 4, 1999.
12. C. Alpert and A. Kahng. A hybrid multilevel/genetic approach for circuit partitioning. In Proceedings of the Fifth ACM/SIGDA Physical Design Workshop, pages 100-105, 2002.
13. . ., . ., . . : . -
.: , 2006.
14. Mazumder P., Rudnick E. Genetic Algorithm For VLSI Design, Layout & Test Automation. India, Pearson Education, 2003
15. . . : . - : - , 1999.
16. . . -
: . - : - , 2000.
УДК 681.3.001.63+007.52:611.81
АЛ. Дуккардт, Б.К. Лебедев КОМПЛЕКСНЫЙ ГИБРИДНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ РАЗБИЕНИЯ СХЕМ*
. -
вело к тому, что в них более 60% общей временной задержки сигнала приходится на задержки в межсоединениях. Рост размера области, отводимой для межсоеди-
* Работа выполнена при поддержке: РФФИ (гранты № 06-01-00272, № 08-01-00473), РНП 2.1.2.3193, РНП 2.1.2.2238.