Бионические процедуры нахождения минимального покрытия

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

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

1. Holland John H. Adaptation and Artificial Systems: An Introductory Analysis with Application to Biology, Control, and Artificial Intelligence. USA: University of Michigan, 1975.

2. Goldberg David E. Genetic Algorithms in Search, Optimization and Machine Learning. USA: Addison-Wesley Publishing Company, Inc., 1989.

3. Handbook of Genetic Algorithms. Edited by Lawrence Davis. USA: Van Nostrand Reinhold, New York, 1991.

4. Practical Handbook of Genetic Algorithms. Editor I. Chambers. V.3, Washington,USA, CRC Press, 1999.

5. Handbook of Bioinspired Algorithms and Applications. Edited by S. Olarin, A. Y. Zomaya, 2006, Chapman & Hall CRC, USA.

6. Fedько ВТ. Эволюция, нейронные сети, интеллект: модели и концепции эволюционной кибернетики. - М.: Комкнига, 2005.

7. Гла дков Л А., Курейчик В.В., Курейчик В.М. Генетически е алгоритмы: Учебное пособие /

. . . - - - : , 2004.

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

9. Интеллектуальные системы: Монография / Под редакцией В.М. Курейчика. - М.: Физ-

, 2005.

10. . ., . ., . . :

/ Под редакцией В.М. Курейчика. - М.: ФИЗМАТЛИТ, 2006.

11. . . - .: , 2003.

12. . ., . . /

НТК «AIS-05», «CAD-2005». - М.: Физматлит, 2005, Т.1. - С. 39-45.

13. . . : / .

- М.: Комкнига, 2005.

14. Каляда А.В., Курейчик В.М. Анализ ландшафтов целевых функций при генетическом

. 10 , 2, - .: , 2006.

- С. 392-399.

Б.К. Лебедев, В.Б. Лебедев

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

ПОКРЫТИЯ'

.

конечное множество X, а также семейство его подмножеств G ={Xi | i=1,2,...,n}

таких, ч то Xi — X и U Xi = X.

i

Задача о минимальном покрытии множествами заключается в отыскании набора P — G с минимальным числом подмножеств Xi ^ P и X^ F такого, чтобы

* Работа выполнена при поддержке РФФИ (грант № 06-01-81018, № 05-08-18115) и программ развития научного потенциала высшей школы 2006-2008 гг. (РНП.2.1.2.3193, РНП 2.1.2.2238).

^ Хг = X. Непосредственное обобщение этой задачи состоит в приписывании

Х1€Р

подмножествам Хг определенных весов и требован ия многократного покрытия элементов множества X. В таком случае задача заключается в нахождении покрывающего набора минимальной стоимости. Задача покрытия является ХР-полной. В течение последних лет были предложены различные подходы к решению проблемы планирования. В основном это алгоритмы, основанные на эвристиках, обеспечивающих получение приемлемого результата за полиномиальное время [1-4]. Тем ,

делают актуальной разработку новых более эффективных методов. Перспективным направлением в этой области является использование методов поисковой адапта-.

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

1. Формирование пространства решений. Пусть задано м ножество элементов £ и множество Е ={в\г=1,2,...,п} типов элементов, входящих в состав покрываемого множества £. Количественный состав по типам элементов опишем вектором В = {Ьг \ ¡=1,2,...,п}, где Ьг - число элементов типа вг , входящих в состав множества £. Кроме того, задан набор покрывающих подмножеств (ячеек) Т = {^ \ у=1,2,...,ш}. Каждая ячейка ^ имеет свой набор типов элементов из Е. Количественный состав ( опишем с помощью матрицы А = \\агу\\ПфШ1 , где ау - число элементов типа вг в ячейке 4 С помощью вектора С = {су \]=1,2,...,ш} зададим для каждой А- ее стоимость су .

Множество элементов £ считается покрытым элементами из покрывающего набора Р, если £ £ Р, т.е. каждый элемент множества 8 входит в состав покры-Р .

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

ш

Р = Е ху • су

у=1

:

ш

Е а,у • Ху > Ьг, г = 1,2,..., п; х} > 0, у = 1,2,..., ш; а у > 0 .

1 =1

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

Если в качестве показателя су принять общее число элементов, входящих в

п

состав подмножества (у , т.е. с у = ^ ауу , то функция ^ определяет общее число

г =1

элементов, входящих в состав покрывающего набора. Рассмотрим пример. Пусть покрываемая схема составлена из элементов 3-х типов: Е = {в1,в2,в3}. Количественный состав схемы описывается вектором В = {30,10,21}. Задан набор покрывающих ячеек Т = {(1,(2,(3,(4,(5}. Матрица А имеет вид:

А =

і2 із Ґ4 ¿5

Єї 2 1 2 3 2

Є2 3 2 2 1 2

Єз 1 2 3 1 2

Введём матрицу Р, задающую граничные требования по количественному составу элементов, покрываемых ячейками каждого типа. Р = \\ру\\п<(т, где ру- минимальное число элементов типа е, которое обязательно должно быть покрыто ячейками типа (, ру и 0, ру - целое число. При этом для реализации полного покрытия , Р , -

ние ограничений:

т

Е Рц =Ъ, 1 = 1,2,•••, П

у=1

Для вышеприведённого примера один из возможных вариантов матрицы Р :

Р =

Ь ^2 із І4 ^5 Ьі =е і

Єї 8 4 4 9 5 30

Є2 3 2 3 1 1 10

Єз 5 2 7 6 1 21

Р ,

определяется следующим образом. Сначала строится матрица В = \\йу\\п<т . Элемент матрицы йу является целым числом, которое определяется как большее целое от Ру/ау и фактически равно минимальному числу ячеек типа (, необходимых для покрытия ру элементов типа е. Затем в пределах каждого у—го столбца матрицы В находится максимальное число у Оно является минимальным числом Ху=ду ячеек типа (у, гарантированно обеспечивающих покрытие р1у элементов типа е1, р2у элементов типа е2, ... ,рщ элементов типа еп, в соответствии с требованиями матрицы Р. . -

сматриваемого примера матрица В и покрывающий набор X имеют вид:

В =

и із и и

Єї 4 4 2 3 3

Є2 1 1 2 1 1

Єз 5 1 3 6 1

Х=

¡¿Хі Хї Х2 Хз х4 Х5

21 5 4 3 6 3

Общее число ячеек в покрывающем наборе определится как

т

к* = Е х =21.

}=1

Общее число элементов типа е, , входящее в состав покрывающего набора

ячеек определится как N г = ^

}=1

аг] • х;

т

Для нашего примера: N¡=44; N=41; N^34. Общее число элементов, входящих в покрывающий набор, N2+ N+ N3 =119. Итак, матрице Р, значения элементов которой удовлетворяет ограничениям (2), соответствует одно решение. Различные решения получаются путём комбинирования значениями рц матрицы Р,

(2). , Р -

ным представлением решения задачи покрытия множествами.

Р , . . -

вокупности таких значений элементов р^ матрицы Р, которые оптимизируют показатель качества (критерий).

2. Механизмы генетического поиска. Разработка структуры хромосомы , -, . Хромосома Н, соответствующая матрице Р, состоит из частей Н. Каждая часть Н соответствует строке Р{ матрицы Р, и наоборот. Каждая часть Н представляет собой совокупность (т-1) генов я!, значения которых могут изменяться в пределах диапазона, определяемого параметром bi (см. ограничения (1)): 0 < g¡ < Ь, Я! еН.

Процесс перехода от хромосомы Н к матрице Р осуществляется следующим образом. Сначала в каждой части гены упорядочиваются по возрастанию их значений. Пусть имеется упорядоченная хромосома Н={8,12,16,25; 3,5,8,9; 5,7,14,20}, при этом ^=30, Ь2=10, Ь3=21.

Значения генов в пределах каждой части Ш являются опорными точками на отрезке длиной bi , разбивающими его на интервалы. Длина интервала, определенного как я!+1 - я! , е Н и я! е Н , и есть величина соответствующего элемента

строки Р{ матрицы Р (рис.1).

н1 н2 н3

Г---------- > г ' г А 4

О 8 12 16 25 30 0 3 5 8 9 10 0 5 7 14 20 21

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

, , .

Основными генетическими операторами являются кроссинговер и мутация. Кроссинговер выполняется следующим образом. Пусть имеются две родительские 1 2. , ,

локусы и с вероятностью Рк осуществляется обмен генами. В результате получаются две хромосомы: Р1’1 и Н’2.

Мутация хромосом реализуется следующим образом. Последовательно просматриваются локусы хромосом, и с вероятностью Рт ген я! е Hi в текущем локусе мутирует. В результате мутации ген я! е Н приобретает новое случайное значение в диапазоне 0 < я! < bi .

В работе используется принцип случайного формирования исходной популяции особей Пи = {Н к | к = 1,2,..., М}, где М - размер популяции. Для этого в пределах каждой хромосомы НК, в каждой части Н* , каждый ген е Н* принимает

случайное значение в диапазоне от 0 до bi (0 © bi ).

Для оценки хромосом используется показатель F* = 1/(1 +F). Цель генетического поиска - максимизация показателя F*.

Отбор индивидуальностей осуществляется в соответствии с «принципом рулетки».

Временная сложность операторов кроссинговера и мутации имеют вид O(L), где L - длина хромосомы. При декодировании в каждой части Hk осуществляется сортировка, временная сложность которой определяется как O(m-logm). Тогда временная сложность декодирования всей хромосомы определяется как 0(mn log m) = 0(L log m).

3. Организация поисковых процедур на основе коллективной адаптации. При генетическом поиске просматривается множество решений “р^бросанных”, особенно в начале поиска, по всему пространству решений. Особенностью адаптивных обучающихся алгоритмов является то, что они легко и достаточно быстро находят оптимальное (локально) решение, лежащее в некоторой достаточно обширной окрестности начальной точки поиска в пространстве решений. В связи с этим для преодоления барьера локальных оптимумов обоснованным является под, -обучения и самоорганизации.

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

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

В нашем случае операторы преобразуют совокупность значений py матрицы P. Стратегия поиска определяет: какие элементы py матрицы P необходимо изменить и насколько. Представим процесс поиска решения в виде адаптивной систе-

,

адаптации [5].

Сначала случайным образом или в результате работы какого-либо алгоритма выбирается некоторый начальный вариант матрицы Р0. На каждом /-ом шаге работы адаптивной системы вырабатывается управляющее воздействие Ut, под действием которого изменяются значения элементов ру матрицы Pt и получается матрица Pi+1, где t - индекс шага. Управляющее воздействие представляется в виде матрицы Ut = \\uy\ \n<fn, где иу -целое число. Матрица Pt получается сложением матриц Pt-1 И Ut-1, т.е. Pt = Pt-1 + Ut.1 .

Управляющее воздействие Ut-1 формируется на основе матрицы управляющих сигналов S^.1, вырабатываемой на каждом шаге адаптивной системой в процессе коллективной адаптации. Здесь St-1 = \\sy\\n^m, SyE {0,1}. Если SyESt-1 и sy = 1, то соответствующий ему элемент PyE Pt-1 должен быть уменьшен.

Рассмотрим выработку управляющих сигналов S. Адаптивная система представляется в виде коллектива объектов. Интегральное по своей сути управляющее Ut -

.

Элементарным объектом адаптации является элемент py матрицы Pt.CoeKM-ние адаптивной системы характеризуется конкретными значениями всех элементов Py e P. Состояние объекта рw в среде оценивается на основе сравнения соответствующего ему значения dт со значениями dw в w-ом столбце. Пусть qw - макси-

мальное значение среди в ^-ом столбце В. Если для некоторого объекта ру соответствующее ему значение й?™ = и в у-ш столбце Р( существует ру, для ко-

торого йу<цу, то считается, что рт в неудовлетворительном состоянии.

Физический смысл этого заключается в следующем: определяет число ху

ячеек типа у в покрывающем наборе. Для элемента ру, у которого йу<цу, число покрывающих ячеек ху = будет избыточным, т.е. ячейками будет покрыто избыточное число элементов, равное (цу - йу) ау. В этой ситуации естественным является стремление изменить, а именно уменьшить Цу, при этом уменьшится как число покрывающих ячеек, так и число избыточно покрытых элементов. Это является причиной того, что такое состояние объекта ру, при котором йгу=цу„ считает.

Будем считать, что элемент руу, для которого йгу<цу , находится в удовлетворительном состоянии, т.к. он не является “главным виновником” избыточного по.

Локальная цель каждого объекта адаптации ру - достигнуть удовлетворительного состояния, т.е. такого состояния, при котором = 0. Глобальная цель коллектива - достижение такого состояния среды, при котором матрице Pt со ответствуют оптимальные характеристики покрывающего набора: минимальное число ячеек и минимальное число элементов, входящих в покрывающий набор.

Для реализации механизма коллективной адаптации каждому объекту (элементу рр) ставится в соответствие автомат адаптации (АА) аар с двумя группами состояний: С2 = {сц1 i=1,2,...,m} и С2 = {с2 | i=1,2,...,n}, соответствующим двум альтернативам А! и А2 (рис.2).

Здесь альтернатива А1 - не уменьшать рр ; А2 - уменьшить рр. Число состояний в группе задаётся параметром т - глубина памяти (степень доверия). На каждом шаге работы адаптивной системы процесс коллективной адаптации осуществляется за четыре такта.

( В ) -

ся состояния объектов рр в среде.

На втором такте вырабатывается сигнал “поощрения” (+), если рр - в удовлетворительном состоянии, или сигнал ”нак^ание” (-), если рр - в неудовлетвори-.

На третьем такте под действием сигналов “поощрения” и ”нак^ания” АА переходят в новые состояния.

На четвёртом такте реализуются альтернативы, в соответствии с состояниями .

При этом, если автомат адаптации аар находится в состоянии, соответствующем А], то управляющему сигналу sр присваивается значение 0, sр = 0, а если в состоянии, соответствующем А2 , то ,$р = 1. После реализации альтернатив осуществляются постпереходы в АА. Вырабатывается сигнал г, под действием которого

+

Рис. 2. Граф-схема переходов А/1

АА, находящийся в состоянии c21, переходит в c11. Таким образом, в начале каждого шага адаптивной системы все АА находятся в группе C1.

Формирование значений uy осуществляется в два этапа.

На первом этапе вырабатываются значения u1y, уменьшающие py в соответствии с матрицей S. Если s, = 0, то u1, = 0. Если s, = 1, то u1y = -1, т.е. знач ение py должно быть уменьшено на единицу.

Если отдельные элементы Py в /'-ой строке матрицы Pt-1 под действием u1iy уменьшат свои значения, то для выполнения ограничений (2) необходимо в этой же строке увеличить значения некоторых элементов py на величину и2y. На втором этапе осуществляется выработка u2y и результирующего uy=u1iy+u2y. после выра-

m

ботки всех uy должны выполняться выражения: ^ и, = 0,1,2,..., n.

J =1

Алгоритм покрытия был реализован на языке C++ в среде Windows. Экспериментальные исследования проводились на ЭВМ типа IBM PC/AT Pentium 4. При совместной работе алгоритмов вероятность получения глобального оптимума составила 0.9. В среднем трех запусков программы со случайными начальными популяциями было достаточно для нахождения решения со средним отклонением от глобального оптимума в 1%. Сравнение с алгоритмами [1-3] показало, что у полученных с помощью адаптивного поискового алгоритма решений значения целевой функции лучше (меньше) в среднем на 6-9%.

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

1. Андерсон Д. Дискретная математика и комбинаторика. - М.: Вильямс, 2003.

2. Cordone R., Ferrandi F., Sciuto D., Calvo R.W. An Efficient Heuristic Approach to Solve the Unate Covering Problem. IEEE Transactions on computer-aided design of integrated circuits and systems, vol.120, No.12, December 2001 , pp.1377-1387.

3. Coudert O., “On solving covering problems”, in proceedings of 30th ACM/IEEE Design automation conference, 1996, pp. 197-202.

4. Fisher M.L. and Kedia P., “Optimal solution of the covering/partitioning problem using dual heuristics”, Manage. Sci., vol. 36, No.6, pp.674-688, 1990.

5. Лебедев Б.К. Адаптация в САПР. - Таганрог: Изд-во ТРТУ, 1999.

Л.В. Балюк, В.В. Курейчик, ПЛ. Сороколетов

ПЕРСПЕКТИВНАЯ ТЕХНОЛОГИЯ ИНТЕГРИРОВАННОГО ПОИСКА

В САПР*

В настоящее время перепрограммируемые вентильные матрицы (Field Programmable Gate Arrays - FPGA) - стали эффективным решением проблем, связанных с освоением рынка новых электронных технологий. Технология создания FPGA обеспечила возможность «реадьного» производства гибких схем (прототи-) . -схема, логическая структура которой может быть скорректирована (задана и изменена) конечным пользователем без использования интегрированной схемы (статичной), собранной выпускающей компанией [1]. Важнейшим этапом в цикле проектирования FPGA, является этап автоматизированного конструкторского про, ( ), -

*

Работа выполнена при поддержке РФФИ, гранты № 05-08-18115, № 07-01-00511 и программ развития научного потенциала высшей школы 2006-2008 гг. (РНП.2.1.2.3193, РНП 2.1.2.2238).