Полуян Анна Юрьевна
Старший преподаватель кафедры «Вычислительные системы и информационная безопасность».
Chernyshev Jury Olegovich
The Don State Technical University.
E-mail: [email protected].
1, Strana Sovetov Street, Rostov-on-Don, 344023, Russia.
Phone: +78632589136.
Dr. of Eng. Sc., Professor the Department «Computing Systems and Information Security». Poluyan Anna Urievna
Head Lecturer of Chairs «Computing Systems and Information Security».
УДК 519.712.2
Л.А. Гладков
ИНТЕГРИРОВАННЫЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧ РАЗМЕЩЕНИЯ И ТРАССИРОВКИ НА ОСНОВЕ НЕЧЕТКИХ ГЕНЕТИЧЕСКИХ МЕТОДОВ*
Предлагается интегрированный подход к решению задач размещения и трассировки СБИС основанный на их совместном решении с использованием нечетких генетических
.
подходов к ее решению. Дается описание структуры предложенного алгоритма, а также его основных этапов. Приводится описание разработанных эвристик, операторов и стратегий поиска оптимальных решений. В заключении представлено краткое описание проведенных вычислительных экспериментов, подтверждающих эффективность предложенно-.
Размещение; трассировка; эволюционные вычисления; нечеткие генетические алго-; .
L.A. Gladkov
THE INTEGRATED ALGORITHM OF THE DECISION OF PROBLEMS OF PLACEMENT AND ROUTING ON THE BASIS OF FUZZY GENETIC
METHODS
In work integrated approach to the decision of problems of placement and routing VLSI based on their joint decision with use of fuzzy genetic methods is offered. The description of a considered problem and the short analysis of existing approaches is resulted in its decision. The description of structure of the offered algorithm, and also its basic stages is given. The description developed heuristics, operators and strategy of search of optimum decisions is resulted. In the conclusion the short description of the spent computing experiments confirming efficiency of the offered method is presented.
Placement; routing; evolutionary calculations; fuzzy genetic algorithms; the indistinct fuzzy controller.
При создании новой электронной аппаратуры огромное значение имеют методы автоматизированного проектирования, которые позволяют создавать высо-
- ( ) -ки и при сравнительно низких затратах. Тенденция к росту степени интеграции СБИС приводит к существенному увеличению трудоемкости их проектирования, что вызывается ростом размерности решаемых при проектировании задач.
*
Работа выполнена при частичной поддержке РФФИ (проект № 11-01-00122). 22
Проектирование СБИС представляет собой многоуровневый процесс, в котором каждый уровень характеризуется своим математическим и программным .
этап конструкторского проектирования. Задачи конструкторского проектирования, , -ной необходимостью перебора огромного числа различных вариантов решений. , , что не представляется возможным [1].
В процессе проектирования, как правило, используют ориентировочные зна-, , -
ко после выполнения последующих процедур. Это обусловливает итерационный характер процесса проектирования с возвратами от последующих этапов к преды-, , , .
Поэтому продолжается поиск методов сокращения числа итераций в цикле проектирования СБИС [2].
На этапе конструкторского проектирования СБИС особую роль занимают задачи размещения и трассировки. Традиционно они решаются на разных этапах , -. -ных методов решения задач размещения и трассировки, позволяющих выполнять эти задачи в одном цикле с взаимным учетом имеющихся ограничений и текущих .
Одним из направлений повышения эффективности решения задач автоматизированного проектирования сложных технических систем, в том числе, СБИС, являются эволюционные и генетические алгоритмы [3]. Они успешно применяются для решения задач структурной и параметрической оптимизации, возникающих в ходе проектирования сложных технических систем [4].
Новым этапом развития теории генетических алгоритмов стали гибридные системы, основанные на совмещении различных научных направлений. Существуют различные способы гибридизации. Один из них - нечеткие генетические ал,
.
создания генетических операторов с различными свойствами; системы нечеткого логического контроля параметров ГА в соответствии принятыми критериями; нечеткие критерии остановки процесса генетического поиска. Математический аппарат теории нечетких систем используется в данном случае для кодирования, подбора оптимальных параметров генетических алгоритмов, значений вероятности генетических операторов, выбора функции пригодности и критерия останова, создания нечетких генетических операторов [5].
1. Анализ методов решения задач размещения и трассировки. Основная сложность в постановке задачи размещения заключается в выборе целевой функции. Связано это с тем, что одной из главных целей размещения является создание наилучших условий для дальнейшей трассировки соединений, что невозможно проверить без проведения самой трассировки. Следовательно, конечный результат может быть найден только при совместном решении задач размещения, выбора очерёдности проведения соединений и трассировки, что практически невозможно вследствие огромных затрат машинного времени.
Поэтому все применяемые в настоящее время алгоритмы размещения используют промежуточные критерии, которые лишь косвенно способствуют решению основной задаче: получению оптимальной трассировки соединений. К числу
критериев, которые могут использоваться для оценки качества размещения и трассировки, можно отнести следующие:
1) суммарная взвешенная длина соединений;
2) число соединений, длина которых больше заданной;
3) количество пересечений проводников;
4) число соединений между элементами, находящимися в соседних позициях либо в позициях, указанных разработчиком.
Наибольшее распространение в алгоритмах размещения получил первый , : позволяет улучшить электрические характеристики схемы, упрощает процесс трассировки; кроме того, он сравнительно прост в реализации.
Трассировка соединений является, как правило, заключительным этапом конструкторского проектирования ЭВА и состоит в определении линий, соединяющих эквипотенциальные контакты элементов, составляющих проектируемое устройство [6].
В процессе трассировки современных сверх и ультраболыних интегральных схем принято выделять следующие два этапа: глобальная (н^начение цепей в определенные регионы) и детальная (прокладка соединений внутри областей) трассировки. В свою очередь, детальная трассировка разделяется на трассировку коммутационных блоков и трассировку каналов [7].
Большинство программ глобальной трассировки основано на алгоритмах Ли . , -мально возможное соединение между двумя элементами.
2. Постановка задачи. Любая оптимизационная задача может быть описана кортежем длины следующего вида: <X, D, Q>. При совместном решении задач размещения и трассировки данный кортеж можно интерпретировать следующим
:
X - множество всех хромосом из всех популяций. Пусть Pt - некоторая популяция на шаге t, Pt = {h1, h2 ... hj, где hs - хромосома из этой популяции, t = [1, N]; s = [1, M] (N - число популяций, M - число хромосом в популяции) Тогда множество всех решений задается выражением:
х = {P(; t = 1,2,..., Numlt} = {hst; t = 1,2,..., N; s = 1,2,..., M}
Целевая функция Q - представляет собой нормированный аддитивный крите,
суммарную длину цепей:
Q = k1Q1+ k2Q2?
где k1, k2 - весовые коэффициенты локальных критериев, с помощью которых учи; Q1 -
; Q2 - -
марной длины цепей.
Q,
т.е. Q(X) ^ min Q^mO = minQ(hij), где hj с S.
3. Описание алгоритма. В результате проведенного анализа существующих методов и алгоритмов решения задач размещения и трассировки была предложена следующая процедура совместного решения задачи размещения и трассировки:
1. ( , , -ло контактов и др.).
2. .
3. Построение начального множества решений (популяции).
4. -.
5. -
ких генетических операторов:
a. выбор решений для выполнения операторов;
b. выбор стратегии поиска оптимальных решений;
c. применение генетических операторов;
(± отбор лучших решений;
е. формирование нового множества решений.
6. Выбор и применение заданного алгоритма трассировки.
7. Расчет полученного значения целевой функции.
8. Проверка соблюдения критерия остановки.
9. Работа нечеткого логического контроллера, изменение управляющих па-
.
10. Возврат к шагу 5 для улучшения качества текущего размещения, либо завершение работы алгоритма.
После улучшения размещения элементов схемы в результате выполнения генетических процедур информация о размещении сохраняется в буфере. Затем проводится трассировка соединений с помощью одного из заданных алгоритмов трас-( , ), , , .
Для улучшения качества размещения используется разработанный нечёткий генетический алгоритм с вещественным кодированием решений [8]. В этом случае хромосома представляет собой вектор вещественных чисел, соответствующих координатам (по осям х и у) посадочных позиций рабочего поля в которых размещаются элементы схемы, например:
х|0.63222|0.16464|0.9325______
у|0.13334|0.46561|0.7568______
Длина хромосомы совпадает с длиной вектора-решения оптимизационной задачи, каждому гену соответствует один элемент.
Выбор позиции для размещения очередного элемента производится таким , .
С целью повышения эффективности поиска предложены две модифицированные модели поиска и формирования новой популяции.
Модель формирования популяции на основе минимального разрыва между поколениями (ММП). При выполнении оператора кроссинговера пары родителей выбираются по принципу одно решение «элитное», одно случайно. Полученные после выполнения кроссинговера решения и исходные решения образуют подпо-, .
« ».
мутации не применяется.
( ).
Из исходной популяции выбирается заданное множество решений. Эти решения образуют подпопуляцию к которой применяются генетические операторы. Модель ОП сохраняет полученные решения с предыдущей итерации.
Рис. 2. Обобщенная схема работы процедуры создания новой популяции
Важную роль в выполнении нечеткого генетического алгоритма играют модифицированные генетические операторы [9]. Основным механизмом получения новых решений является оператор кроссинговера. Алгоритм использует модифицированный оператор «hill-climbing» («восхождения на холм») на основе методов градиентных локального поиска [10].
Предлагается модифицированный оператор кроссинговера - оператор поиска «hill-climbing».
Пусть X = (хь ..xn) и Y = (yb ..., yn) - хромосомы с вещественным кодированием, выбранные на основе некой стратегии для выполнения оператора кроссинговера. В результате получаем потомков:
Zi = (z\... Zn1) или Z2 = (zi2... Zn2), где zI - произвольным образом выбранное число на интервале [l/, и/], причём, lli = max[ai, Xi - I*a} и и1 i = min[bi, х, + I* a}, a z2 выбирается на интервале [l,2, и,2] и
l2i = max[ai, yi - I*a} и ы2, = min[bi, yi + I* a },
где I = [х, - yi].
Основными преимуществами оператора являются учет разнообразия популяции решений и степени «близости» вновь полученных решений к родительским.
Также в процессе выполнения алгоритма могут использоваться еще два модифицированных оператора кроссинговера: арифметический и линейный [11].
Пусть C1=(ci1,c21,^,cn1) и C2=(ci2,c22,.. .,cn2) - две хромосомы, выбранные для
выполнения генетического оператора. При этом предположим, что выполняются условия с,1 < ск2 и > ДС2).
В результате применения арифметического оператора кроссинговер создаются три потомка:
Н^Ь/,...,^1), Н2=(ЬД...,Ьп2), Нз=(ЬД...,Ьп3), где Ьк1=’№Ск1+(1-’№)Ск1,
/у /у Л Л Л 'У
Ьк =wck +(1-w)ck , Ьк =wck +(1-w)ck ,к=1,...,п, - константа, заданная на интерва-
ле [0; 1].
Рис. 3. Графическое представление арифметического кроссинговера
После выполнения линейного кроссинговера также создаются три потомка Н = (Ь1Ч,.--,ЬкЧ,..-,ЬпЧ), Я = 1,2,3, где Ьк1 = О^к1 + О^к2, Ьк2 = 1^ - 0.5ck2, Ьк = -0.5сД + 1.5ck2. Графически результат выполнения линейного кроссинговера можно представить следующим образом (рис. 4).
Рис. 4. Пример построения решения при арифметическом кроссинговере
Также предложен модифицированный оператор неоднородной мутации. Механизм выполнения данного оператора можно представить следующим образом.
При изменении значения гена у, новое значение у'і случайным образом генерируется на отрезке [minи max,],
- \Уі + (max, - yiXl - Wl - \b}team q= 0
Уі \ ь
U'i - ІУ: - mhit jil - r( 1 - -)ь\ес.ш q = 1
где q случайным образом принимает значения 0 или 1;
r - случайное число, принимающее значение в диапазоне [0; 1]; t - номер поколения;
T - максимальное число поколений;
b - параметр, обусловленный условиями задачи;
mini и maxi - верхняя и нижняя границы для величины у.
После применения генетических операторов рассчитывается значение целе-. , не будут выполнены заданные критерии останова.
Для ускорения процесса поиска в алгоритме используется нечеткий ( ). , мы можем задать некоторый диапазон значений целевой функции, который нам необходим. Используя лингвистические переменные, задаем изменение управляющих параметров алгоритма (рис. 5).
На основе предложенных алгоритмов, методов и процедур был разработан программный комплекс для интегрированного решения задач размещения и трассировки. Поиск оптимального решения проводится по двум вариантам стратегии поиска, предусмотрена возможность распараллеливания серий выполняемых вычислительных экспериментов, причем для каждого варианта можно выбрать свои параметры. Результаты проведения серий экспериментов отображаются на экране (рис. 6).
Рис. 5. Обобщенная схема алгоритма работы нечеткого контроллера
Рис. 6. Окно отображения результатов экспериментов
По завершению работы программы, результаты отображаются в виде графиков (рис. 7).
Рис. 7. Окно отображения результатов работы программы
При сравнении результатов работы программы с использованием НЛК и без него, очевидно, что в первом случае целевая функция сходится быстрее (рис. 8).
Рис. 8. Результаты работы программы с использованием НЛК а) и без него б)
При анализе результатов работы программы также проводилось сравнение полученных результатов с существующими тестовыми задачами (бенчмарками). Полученные результаты позволяют утверждать, что предложенный метод не уступает в быстродействии существующим образцам, но при этом позволяет выполнять совместное решение задач размещения и трассировки. В то же время, необходимо продолжение исследований в данном направлении.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Норенков ИЛ. Основы автоматизированного проектирования. - М.: Изд-во МГТУ им. Баумана, 2006.
2. Казеннов ГГ. Основы проектирования интегральных схем и систем. - М.: БИНОМ. Лаборатория знаний, 2005.
3. Cohoon J.P., Karro J., Lienig J. Evolutionary Algorithms for the Physical Design of VLSI Circuits. Advances in Evolutionary Computing: Theory and Applications, Ghosh, A., Tsutsui,
S. (eds.) Springer Verlag, London, 2003. - P. 683-712.
4. Курейчик B.M., Курейчик B.B., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009.
- № 4 (93). - C. 16-25.
5. . ., . .
// . . - 2010.
- 7 (108). - . 146-154.
6. . . -
. - .: , 1990.
7. Shervani N. Algorithms for VLSI physical design automation. - USA, Kluwer Academy Publisher, 1995. - 538 p.
8. Deb K., Joshi D., Anand A. Real-Coded Evolutionary Algorithms with Parent-Centric Recombination. Kanpur Genetic Algorithms Laboratory (KanGAL), Kanpur, PIN 208 016, India. KanGAL Report No. 2001003.
9. . . // . -
ческие науки. - 2009. - № 12 (101). - C. 7-15.
10. Herrera F., Lozano M. Fuzzy Adaptive Genetic Algorithms: design, taxonomy, and future directions // Soft Computing 7(2003), Springer-Verlag, 2003. - P. 545-562.
11. . ., . . -
// .
науки. - 2009. - № 4 (93). - C. 130-136.
Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Витиска.
Гладков Леонид Анатольевич
Технологический институт федерального государственного автономного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: [email protected].
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634371625.
Кафедра системного анализа и телекоммуникаций; доцент.
Gladkov Leonid Anatol’evich
Taganrog Institute of Technology - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: [email protected].
44, Nekrasovsky, Taganrog, 347928, Russia.
Phone: +78634371743.
The Department of System Analysis and Telecommunications; Associate Professor.
УДК 681.3
B.M. Курейчик, АЛ. Кажаров
ИСПОЛЬЗОВАНИЕ РОЕВОГО ИНТЕЛЛЕКТА В РЕШЕНИИ NP-ТРУДНЫХ ЗАДАЧ*
Роевой интеллект описывает коллективное поведение децентрализованной самоорганизующейся системы. Рассматривается в теории искусственного интеллекта как метод оптимизации. Термин был введен Херардо Бени и Ван Цзином в 1989 году. Системы роевого интеллекта, как правило, состоят из множества агентов локально взаимодействующих между собой и с окружающей средой. Сами агенты обычно довольно просты, но все вместе, локально взаимодействуя, создают, так называемый, роевой интеллект. Статья посвящена исследованию алгоритмов роевого интеллекта для решения NP-полных задач. Основная идея этих алгоритмов - моделирование поведения роя. В ходе данной работы были исследованы муравьиный, пчелиный и метод роя частиц. С использованием этих алгоритмов решены следующие задачи: задача коммивояжера, маршрутизации авто, , . -либо изменений в ее интерпретации решаются для проектирования СБИС, логистических расчетов. В ходе проделанной работы была разработана программа на ЭВМ, реализующая . -ре параметров алгоритмов. Экспериментальные исследования доказали эффективность роевых алгоритмов по сравнению со стандартными итерационными, эвристическими и
.
Роевой интеллект; муравьиные алгоритмы; MA; пчелиные алгоритмы; роевой алгоритм; задача о коммивояжере; ЗК; NP-задача; СБИС; генетические алгоритмы.
V.M. Kureichik, A.A. Kazharov SWARM INTELLIGENCE USING FOR NP-TASKS SOLVING
Swarm intelligence (SI) is the collective behaviour of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence. The expression was introduced by Gerardo Beni and Jing Wang in 1989. SI systems are typically made up of a population of simple agents or boids interacting locally with one another and with their environment. The agents follow very simple rules, and although there is no centralized control structure dictating how individual agents should behave, local, and to a certain degree random, interactions
*
Работа выполнена при частичной поддержке РФФИ (проекты: № 10-01-90017, № 09-01-00492). 30