Раздел II. Генетические и эволюционные алгоритмы
В.М. Курейчик КВАНТОВЫЙ АЛГОРИТМ КОМПОНОВКИ СХЕМ ЭВА*
.
конструкций (ТЭК) на основе СБИС и ССБИС важнейшими являются задачи компоновки. Задачами компоновки коммутационных схем (КС) считают задачи объединения ТЭК низшего уровня в ТЭК высокого уровня (восходящее )
(нисходящее проектирование) по заданным критериям. [1-3]. Задачи компоновки являются классическими примерами задач многокритериальной оптимизации (ЗМО). Эти задачи трудно формализуемы. Они относятся к классу КР-полных проблем. Поэтому для компоновки СБИС и ССБИС с п>106 эффективное применение нашли эвристические алгоритмы. Существует большое число алгоритмов компоновки [1-4]. В последнее время перспективными считаются генетические алгоритмы, позволяющие получать набор локально-оптимальных .
,
,
больший размер области допустимых решений.
1. Постановка задачи. Основная идея предложенного подхода основана на факториальном сжатии графовой или гиперграфовой модели коммутационной схемы. Далее выполняется дихотомическое иерархическое разбиение графа. На последней стадии происходит проецирование дихотомического разбиения на исходную модель на основе последовательной или параллельной обработки разбиения [4,5].
На этапе сжатия исходная графовая модель в=(Х,И) преобразуется в последовательность графов в1 =(х1 ,ш), таких, что |Х1| = |Х+1| . Согласно [4,5]. граф С1=1 строится из в1 на основе нахождения максимального паросочетания (МПС) МПС с И1 и объединения вершин, которые инцидентны каждому ребру паросочетания. Вершины, не инцидентные ребрам из МПС, пересекаются в графе С1+1.
Согласно [4,5] метод нахождения МПС влияет на качество разбиения и вре-, . в = (Х,и), |Х|=п, |и|=т, X - множество вершин, и - множество ребер. Необходимо разбить (р^резать) множество X на Х1, Х2, Х3,...,Хк - подмножеств таким обра-,
Х: и Х2 и Х з и.и Х к = Х,
Х ! п Х 2 п Х 3п...п Хк = 0 (1.1)
и число вершин в каждом подмножестве Х1 удовлетворяло неравенству
| Х |/ск < | Х 1| < с | Х |/к, (1.2)
* Работа выполнена при поддержке РФФИ, грант № 03-01-00336
где с - коэффициент, задаваемый конструктором, задающий допустимое отклонение веса с > 1. Ограничение разбиения определяют количество вершин внутри каждого подмножества Xi .
,
целевую функцию
K=Ki(X i) + K2(X j), (1.3)
X i и X j =X, X i n X j =0, Ui и Ujc U,
Ui и Uj =0 и Ui n Uj= Uij |Uij|=Kij., где K - суммарное число ребер, лежащих внутри подграфов Gi и Gj , a Ki j - число ребер, попадающих в разрез между Gi и Gj .
Необходима разработка эвристик K^ max или Kij ^ min.
В предлагаемом алгоритме в стадии сжатия используется новый алгоритм определения МПС. Стадия разбиения выполняется на основе работ автора [3], а стадия распаковки на основе [4,5].
2. Квантовый алгоритм определения паросочетаний в двудольном графе. В квантовых компьютерах (КК) предусматривается реализация квантовых вычислений путем преобразований над кубитами. Основные этапы работы квантовых компьютеров - это инициализация; выполнение операций над кубитами; считывание результата вычислений [6,7]. Кубит - это квантовый бит. Квантовый двухуровневый элемент в отличие от классического логического элемента может находится не только в одном из состояний, но и в обоих состояниях одновременно | ср > a|0> + b|1>, |a|2 + |b|2 =1. Вектор состояний может представлять произвольную суперпозицию базисных состояний. Например, значением кубита может быть “1” с вероятностью 20% и одновременно “0” с вероятностью 80%. Это значит, что при расшифровке значения кубита в двадцати случаях из ста получим “1”, а во всех остальных - “0”.
Идею и структуру квантового алгоритма предложил Л.Гровер [6,7]. Согласно [7],
- . -
ритма, как бы на языке вычисления кванта, ставит в соответствие каждому возможному индексу уникальный собственный вектор. Первоначально готовится пространство
--L Ур,
-VN £ *
. . , -
во суперпозиций, равное количеству всех N [6,7].
Для реализации поиска это квантовое пространство должно развиваться в общую суперпозицию, которая имеет амплитуду, сконцентрированную в t векто-, . -гооборота U на L=0(log2N). Другим и словами, если имеется отличное от нуля совпадение между стартовым пространством S и целевым Ы, т. е. P|U| S ^ 0, тогда можно использовать унитарную процедуру U для выполнения классического поиска цели. Л.Гровс предлагает использовать U и f(x), чтобы построить увеличивающий амплитуду оператор Q, который изменяет амплитуду вероятности от не - цели
векторов векторов S ^ Ы в цель S = Ы [6,7].
Поведение “оракула” в алгоритме квантового поиска моделируется такой возвратной функцией f(x)=0, для всех x,t и f(x)=1, для x=t.
Опишем модифицированную эвристику построения максимального паросочетания в двудольном графе [8]. Два ребра графа называются независимыми, если они не имеют общей вершины. Тогда паросочетание (ПС) - это множество незави-. -ным (МПС) [8]. Исходными данными являются двудольный граф, представленный в виде двух частей в=(Л,Б;И), и произвольное построение. Оно может состоять, в частности, из одного ребра. Произведем разбиение подмножества Л на две части. В первую включаются вершины, в которые не входят ребра паросочетания. Во вторую часть включаются вершины, в которые входят ребра паросочетания. Если первая часть пуста, то исходное паросочетание являются максимальным. Далее среди вершин второй части выбирается вершина с наименьшей локальной степенью. Если таких вершин несколько, то выбирается любая. Из выбранной вершины х1е Б. Имеем ребро (х1, х|), которое не является ребром паросочетания. Затем продолжаем строить цепь назад по ребру паросочетания. Получаем цепь (х1, х_0 (х_|, хк). Далее продолжаем аналогично. Работа заканчивается, когда нет возврата по ребру паросочетания. Далее из исходного паросочетания удаляются ребра, имеющиеся в , , .
Например, имеем граф в=(Л,Б;И), представленный в двудольном виде (рис. 1). Задано исходное паросочетание ПС={(1,7),(2,6)}. Разобьем подмножество Л = {1,2,3,4} на две части: 1 = {1,2} , 2={3,4}. Во второй части все три вершины
2. 5
: 5 7 1 8 5. (5,8). -
ходим к вершине 4. Строим цепь 4—>6^2—>10. В этой цепи нет ребер, которые
. 3 10.
После анализа получаем, что ребро (3,10) можно добавить к ПС. В результате построено
={(1,7),(2,6),(5,8),(3,10)}, показанное жирными линиями на рис.1.
Рис.1. Паросочетание в графе
Рассмотрим эвристику построения МПС на основе анализа специальной матрицы смежности, и построение в ней «парадлельных диагоналей» и идей квантового поиска [8]. Например, пусть задан граф 0=(Л,Б;и) (рис.2),
Рис.2. Граф
специальная матрица смежности этого графа запишется:
7 8 9 10 11
В матрице можно выделить семь «парадлельных» диагоналей:
ПС1={(1,7)}, ПС5={(2,9),(3,10)},
ПС2={(1,9)}, ПС6={(2,11)},
3={(1,11)}, 7={(4,8),(6,10)}.
4={(2,7),(3,8),(5,10)},
Каждая из таких диагоналей является паросочетанием исследуемого графа.
,
.
( .3).
Рис.3. Амплитуда паросочетаний
Для дальнейших исследований оракул выберет амплитуду ПС4 и на основе
( 1) -
сочетание. Операции суперпозиции для объединения частичных решений графовых задач автор подробно описал в работе [8].
Для получения большего числа диагоналей с максимальным числом элементов произведем расширение матрицы:
7 8 9 га 10 11 ? 7 8 9 10 11
N. ч1 1ч 1 \( 1 1
Ч \ 1 \ 1
ч N. ч. \ \
Ч Ч N.
Ч га 1
Как видно получено новое паросочетание
ПС8={(1,11),(2,7),(3,8),(5,10)},
ПС8=ПС7 УПС3, которое является максимальным.
Заметим, что матрицу можно расширить справа, слева, сверху и снизу. Например, для графа в заданного матрицей
5 6 7 8
Построим расширенные матрицы сверху и снизу. Это дает возможность получить две новых диагонали с максимальным числом элементов.
5 6 7 8
N.
К N
С* \
\ I4 V
\ 1ч
Такое расширение соответствует следующим операциям суперпозиции ПС1={(2,5),(3,6),(4,7)} Y {(1,8)}, | ПСх|=4; ПС2={(1,6),(2,7),(3,8)} Y {(4,5)}, | ПС2=4.
1 2.
Тогда, с учетом описанных выше эвристик, сформулируем композитный алгоритм определения паросочетания в двудольном графе представим в виде.
Исходные данные: двудольный граф в=(Л,Б;И), |Л|, |Б|, матрица смежности.
1. .
2. ,
.
3.
.
4.
расширения специальной матрицы слева, справа, сверху и снизу.
5. .
6. .
Время работы алгоритма зависит от размера анализируемой матрицы: чем больше размер матрицы, тем больше может потребоваться времени. В задачах на графах размер входа часто измеряется не одним числом, а двумя (число вершин n и число ребер m графа). Для задачи определения паросочетания в двудольном графе необходимо определить время работы алгоритма в худшем случае, среднее время работы алгоритма и время работы алгоритма в лучшем случае.
Время работы предлагаемого алгоритма в лучшем случае имеет порядок n . . (n).
,
данном размере входа. Время работы алгоритма в худшем случае имеет порядок роста mn2, т.е. O(mn2).
Среднее время работы зависит от выбранного распределения вероятностей, изменения числа ребер и при фиксированном числе вершин графа. В заключение
,
максимальных паросочетаний в двудольных графах. Время работы в наилучших случаях имеет порядок роста O(n), где n - число вер шин графа. Использование алгоритма определения паросочетаний при компоновке СБИС повышает качество и эффективность конструкций.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Норенкав Н.П. Основы автоматизированного проектирования - М.: Изд-во М'ГТУ им. Н.Э.Баумана, 2000.
2. Naveed Sherwani Algoritms for VLSI Physical Design Automation. KLUVER ACADEMIC PUBLISHER, Norwell, Massachusetts, 1995.
3. Курейчик B.M. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. - М: Радио и связь, 1990.
4. Karypis G., Kumar V. Analysis of Multilevel Graph Partitioning, Technicai Report 95-037, Minneapolis. March, 1998.
5. Karypis G., Kumar V. Multilevel k-wey Hypergraph Partitioning, Technicai Report 98-019, Minneapolis. May, 1998.
6. Grover L.K. A Fast Quantum Mechanical Algorithm for Data-base Search. Proc. 28 th Ann. ACM Press, New York, 1996.
7. Grover L.K. Synthesis of Quantum Superpositions by Quantum Computation. Physical Rev. Letters, Vol 85. No.6, 2000.
8. Куре йчик B.M. Квантовый алгоритм опред еления гамильтонова цикла// Теоретический и научно-методический журнал «Перспективные информационные технологии и интеллектуальные системы», N 1 (21). - Таганрог, ТРТУ, 2005.
В.В. Курейчик, М.Н. Мищенко БИОНИЧЕСКИЙ АЛГОРИТМ РАЗМЕЩЕНИЯ ЭЛЕМЕНТОВ*
В общей проблеме САПР задачу размещения типовых элементов конструк-( )
,
объекта заданной степени детализации. Процесс размещения элементов ТЭК ЭВА сводится к выбору стратегии проектирования, т.е. к поиску и определению последовательности операций выбираемых ЛПР для решения поставленной задачи.
* Работа выполнена при поддержке РФФИ, грант № 03-01-00336