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

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

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

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

Раздел II. Эволюционное моделирование, генетические и бионические алгоритмы

В.М. Курейчик

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ КОМПОНОВКИ НА ОСНОВЕ ДУБЛИРОВАНИЯ ЭЛЕМЕНТОВ*

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

Описание методики. Подграфы Ог = (X г, и г) графа О = (X, и), Xi с X,

и,- си, называются компонентами связности (компонентами) графа, если они не имеют друг с другом общих вершин и общих ребер. Тогда для компонент

О, = (X,,и,), О} = (Ху,и}),...,Ок = (Xк,ик) имеем

Хг пХ} п...пХк = 0, и, пи} п...пик = 0.

Причем

к к

иxi = х,ииг = и,гф^иг пи3 аХг пх3 =0.

г=1 г=1

Граф можно разбить на компоненты, внутри которых вершины не связаны между собой. Ребро ы^и графа О = (X,и), удаление которого приводит к увеличению компонент связности, называется мостом.

Теорема Харари [9]. Пусть ыгеи ребро связного графа G. Следующие утверждения эквивалентны:

♦ ы г - мост графа G;

Работа выполнена при частичной финансовой поддержке целевой программы «Р^витие научного потенциала высшей школы» (2006-2008) РНП 2.12.3193

♦ мост и не принадлежит ни одному простому циклу графа в;

♦ в графе в существуют такие вершины хк, хи что ребро иі принадлежит любой простой цепи, соединяющей хк,с х;

♦ существует разбиение множества вершин X графа в на такие подмножества Хф Хр, что для любых вершин хкє Хч и х^є Хр ребро и{ принадлежит любой простой цепи, соединяющей хк,и х*.

Точкой сочленения графа О = (X,и),|х| = п,|и| = т называется вершина

хі є X, удаление которой увеличивает число несвязных компонент графа. Следовательно, если хі є X точка сочленения графа, то граф в - х( не связен [9].

ґ~\

I

Рис.І.Граф из шести частей с точками касания і,], к, I, т

Граф, не имеющий точек сочленения, называется неразделенным. Блоком графа называется его максимальный неразделенный подграф.

Приведем модифицированный алгоритм [10] определения точек сочленения и блоков:

1. Анализируем поочередно все вершины графа О = (X,и),|х| = п х,є Х,

і=1,2,. . ,,п, удаляя одну за другой с инцидентными ребрами.

2. Просматриваем поочередно полученные подграфы и проверяем получение компонент связности. В результате получаем все точки сочленения в.

3. Образуем систему строк. Каждая строка соответствует точке сочленения. Причем в эти строки добавлены индексы соответствующих точек

.

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

5. Конец работы алгоритма.

Для практических задач важно нахождение частей графа, имеющих точки касания (см. рис.1) между частями графа. На рис.1 показаны пять точек касания і],к,1,т которые соединяют шесть частей графа.

Алгоритм определения таких частей основан на эвристике жадного поиска и генетических алгоритмах [7,8]. Она эффективна, когда заранее заданы размеры частей в! и количество возможных точек соприкосновения

Для решения № - полных проблем компоновки предлагается анализировать структуру модели исходной схемы, чтобы "выращивать" полные решения, рекурсивно расширяя последовательные частичные решения. Основой жадного алгоритма является локально-оптимальный выбор на каждом шаге с прогнозом, что окончательное решение будет оптимальным. Очевидно, что в общем случае жад-

ный алгоритм может привести в локальный минимум, который далек от оптималь-.

получать оптимум искомой целевой функции.

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

Приведем ряд эвристик жадного выбора:

1 -

путь к оптимальному решению.

2 - , -кающая после жадного выбора на первом шаге, должна быть аналогична исходной.

3 - , ,

свойством оптимальности для подзадач.

Жадная стратегия такого типа является простейшей. Она позволяет одновременно определять блоки и точки сочленения графа. Данный алгоритм применялся для определения точек касания и дал хорошие результаты. Его временная сложность, т.е. зависимость времени работы от числа элементов схемы (вершин графа) составляет в среднем О(п).

На рис.2 приведена схема параллельного генетического алгоритма с миграцией хромосом (адьтернативных решений) для определения блоков и точек сочлене. -дачи. Во втором блоке происходит разбиение популяции на три части. Они представляют собой элитные (лучшие решения), худшие и среднего качества. В третьем

- ( ) . выполняется анализ и выбор альтернативных решений для дальнейшего поиска локально-оптимальных результатов. Далее в каждой части реализуется гибридный генетический жадный алгоритм. В первой части в блоке генетических операторов ( ) , - , - -бинированный. Блоки миграции осуществляют обмен решениями для предотвращения преждевременной сходимости алгоритмов. В блоках репродукции определяются перспективные решения для дальнего анализа. В блоках ранжирования и селекции происходит упорядочение анализируемых решений [7,8]. Генетические алгоритмы (ГА) обычно используют представление фиксированной длины. Строки, обработанные обычными ГА, сохраняют постоянное число бит, каждый из которых соответствует конструкции фенотипа. В работе предлагается каждое альтернативное решение (хромосому) представлять в виде переменной длины. Вместо того, чтобы определять хромосому как последовательность битов, ее, подобно естественной копии будем определять как последовательность генов. Ген, в свою , ,

[11]. ,

[11] имеет вид: О = gVi ) . Здесь gi - специфический ген, г =1, 2,..., п; ¥гЕ {0, 1}.

Ген gi может быть представлен как целочисленный или вещественный вектор. п -общее количество генов в хромосоме. V - двоичный вектор, определяющий положение активации каждого гена gi: если V = 1, то его связанный ген, gi, активизиру-; . - , -купности генов, и вспомогательной двоичной строки V. Первая строка - главная строка, вторая строка - маска активации.Ъ этом случае ГА может представлять решения произвольных размеров. Оператор кроссинговера (ОК) - анализирует со-

держание двух строк, чтобы произвести потомков. Оператор мутации (ОМ) выполняется так же, как и в стандартных ГА, и действует только на главную строку хромосомы. В [11] вводится новый оператор проекции (ОП). Этот оператор дает возможность управлять способом, которым ГА охватывает различные области поиска. ОП применяется только к маске активации. Он подобен ОМ: каждый бит маски активации изменяется с низкой вероятностью, активизируя или дезактивируя соответствующие гены. Существует 3 проекционные стратегии, изменяя способ применения этого оператора [11]: увеличивающейся длины генотипов, колеблющейся длины генотипов и равномерно распределенной начальной популяции [11]. Вводится еще две стратегии: стандартная и комбинированная. Когда не могут быть найдены лучшие решения, при увеличении числа компонентов, популяция будет сводиться к меньшим решениям.

Мигр ац ия 11111

Нет / \

▼ Да

Рис. 2. Схема параллельного ГА с миграцией

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

Модифицированные методы проектирования основаны на упаковке кристалла с разделением высоких и низких скоростей элементов и трассировки их в разных частях. Разделение высоких и низких скоростей сигналов упрощает межкомпонентное соединение более технологичных корпусов и подложек БИС.

Разбиение компоновки СБИС, разделение высоких и низких скоростей, заземление схемы и производительность могут устранить "дорожные заставы" (препятствия) при передаче от чипа к чипу [3-6].

Одним из способов решения указанных проблем является уменьшение числа выводов схемы путем введения дополнительных (необязательных) элементов, т.е.

. -

,

I, ], к, I, т (см. рис.3). Это позволяет уменьшить число внешних связей. Если точка сочленения только одна, то число внешних связей равно единице. Здесь произведено дублирование элементов ], I, к, т и троирование элемента /'.

/■—Ч

6

; 2 )

i* 5 -----------------------------------------------1

Рис.3. Пример дублирования и троирование элементов

В заключение отметим, что описанная процедура позволяет уменьшить число выводов за счет увеличения числа логических элементов схемы. Это особенно эф, ,

, -гуг принадлежать нескольким блокам.

Даная методика компоновки элементов открывает пути совместного решения задач логического и конструкторского проектирования СБИС и электронных средств на их основе. Представляется перспективным использование методов дублирования элементов при проектировании систем-на-кристалле.

Проведенные серии тестов и экспериментов позволили уточнить теоретические оценки временной сложности алгоритмов компоновки с дублированием. Временная сложность алгоритма (ВСА) « 0(n)-0(n!), где n - число элементов схемы. ВСА и точность получения результата находятся как бы в противоречии, т.к. увеличение числа генераций просмотра приводит к качественным результатам за .

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

1. Козеиное Г. Основы проектирования интегральных схем и систем. - М.: Бином. Лаборатория знаний, 2005. - 295 с.

2. Норенков НМ. Основы автоматизированного проектирования. Учебник для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2000. - 360 с.

3. Немудрое В., Мартин Г. Сисгемы-на-кристалле. Проектирование и развитие. - М.: Техносфера, 2004. - 216 с.

4. Фридман А., Менон П. Теория и проектирование переключательных схем. Пер. с англ. -М.: Мир, 1978. - 580 с.

5. Shervani N., Algorithms for VLSI physical design automation. - USA. Kluwer Academic Publishers, 1995. - 538 p.

6. .

трудов под ред. А. Стемпковского. - М.: ИППМРАН, 2005. - 537 с.

7. . ., . ., . . -

лирования. - М.: Физматлит, 2003. - 431 с.

8. . ., . ., . . . . Под ред. В.М. Курейчика. - Ростов-на-Дону: ООО «Ростиздат», 2004. - 400 с.

9. Харари Ф. Теория графов. - М.: Мир, 1973. - 300 с.

10. . . . - : - , -ние, 1969. - 543 с.

11. Zebulum R.S., Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by Genetic Algorithms (CRC Press LLC, New York, 2002).

Б. К. Лебедев, A. H. Дуккардт

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ ЗАДАЧИ РАЗБИЕНИЯ С АНТИМОНОПОЛЬНОЙ ПОЛИТИКОЙ РАЗВИТИЯ ОСОБИ ДЛЯ МИНИМИЗАЦИИ ЧИСЛА МЕЖУЗЛОВЫХ СОЕДИНЕНИЙ И ВРЕМЕННЫХ ЗАДЕРЖЕК*

. -

дачи разбиения с учетом временных задержек [2,7,8,10]. В большинстве предыдущих подходов минимизация задержек осуществлялась путем внесения изменений в списки цепей с целью удовлетворения временных ограничений. При этом решалась задача минимизации числа разрезов цепей. В результате проведенного анализа предыдущих подходов к задаче разбиения, можно выделить несколько проблем:

♦ Используются нереалистичные модели задержек. В основном используется общепринятая модель задержек, в которой всем вентилям присваивается задержка 1, задержка 0 присваивается соединениям внутри одного узла и постоянная задержка присваивается соединениям между различными частями разбиения [2,7,10].

♦ Выполняются нереалистичные упрощения. Например, схемы преобразо-

[7].

.

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

. -. -лируется следующим образом: дан гиперграф G = (X, E), где X = {хг | i = l, 2, ..., n}

- множество вершин, a E = {ej | ej с X, j = l, 2, ..., m} - множество рёбер (каждое ребро - подмножество связываемых им вершин). Вес вершин задаётся множеством Ф = {фг | i = 1,2, ..., n}, а вес рёбер - множеством у = {щ | j = 1,2, ..., m}. Необходимо сформировать К - узлов, т.е. множество X разбить на К непустых и непересекающих ся подмножеств Xk:

X = иХ*, (Vi, j), Хг n Х}- = 0, X* Ф 0.

* Работа выполнена при финансовой поддержке программы развития научного потенциала высшей школы РНП.2.1.2.2238

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