3. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. - М.: Физматлит, 2003.
4. Нильсон Н. Принципы исскуственного интеллекта. - М.: Радио и связь, 1985. - 376 с.
5. Ищенко С.Н. Эффективные генетические операторы. Труды международных научнотехнических конференций “Интеллектуальные cиcтeмы(IEE АК’05)” и “Интеллектуальные САПР (САЭ’05)”. Научное издание. - Таганрог: Изд-во ТРТУ, 2005, Т.4. - С.63-64.
Б.К. Лебедев, О.Б. Лебедев
РАЗБИЕНИЕ КАК ПРОЦЕСС ЭВОЛЮЦИОННОЙ МОДИФИКАЦИИ МАТРИЦЫ СМЕЖНОСТИ'
Введение. Одной из широко востребованных задач целочисленного программирования является задача разбиения, рассматриваемая в комбинаторном направлении теории графов. Современная СБИС может содержать десятки миллионов
,
( , )
.
.
.
.
Большинство разработанных к настоящему времени алгоритмов разбиения используют в качестве модели схемы граф или гиперграф. Процедура разбиения графа входит в состав большого числа алгоритмов, решающих различные задачи. Часто эта процедура используется в итерационных структурах. Это предъявляет повышенные требования к качеству и времени решения задачи нахождения макси.
Существующее в настоящее время большее количество алгоритмов разбиения обеспечивают приемлемые результаты при решении задач малой и средней слож-
. -мерности является побудительным мотивом исследований и разработок новых эф. , в этих условиях являются методы, основанные на моделировании эволюционных .
В работе излагается методика символьного представления решения задачи разбиения на базе матрицы смежности графа, адаптивные механизмы видоизменения матрицы смежности, и рассматривается структура процесса эволюционной модификации матрицы смежности для решения задачи нахождения разбиения.
1. Основные положения. Задача разбиения гиперграфа с взвешенными вершинами и ребрами формулируется следующим образом.
Пусть задан гиперграф Н=(Х,Е), где Х=(х{ | 1=1,2,.,.,п} - множество вершин, а Е={в] | в] сХ, ]'=1,2,...,т} - множество ребер (каждое ребро - подмножество связываемых им вершин). Вес вершин задается множеством Ф ={щ | I =1,2,...,п}, а вес ребер - множеством 4/={щ | 1=1,2,.,.,п}. Необходимо сформировать А"-узлов, т.е. множество X разбить на К непустых и непересекающихся подмножеств Х„, Х=иХ.V, (УЦ) [X пХ] =0], Х„0.
* Работа выполнена при поддержке РФФИ (гранты № 07-01-00511, № 06-01-00272) и программ развития научного потенциала высшей школы 2006-2008 гг. (РНП.2.1.2.3193, РНП 2.1.2.2238).
На формируемые узлы накладываются ограничения. С помощью вектора Р=(ру | у=1,2,...,к} задается максимально допустимый суммарный вес вершин, назначенных в у-ый узел, а с помощью вектора М=(пу | у=1,2,... ,к} - максимально допустимое число вершин назначенных в у-ый узел.
Ограничения на вместимость имеют вид:
< Ру
І=(і | хі єХу}, у=1,2,...,к,
1X1 <Пу, у=1,2,...,к.
(1)
(2)
(1) , -(2) - .
Иногда задано допустимое число выводов утах для узлов. Ограничение для узлов, на число выводов у, имеет вид:
У —Утах, У 1,2,■■■,k,
(3)
Уу=1Еу1, Еу=(в] | (в] пХу *0) & (в] пХу ^в])}.
Еу - множество ребер, связывающих множество вершин Ху с вершинами остальных .
Основным критерием является Е1 - суммарная стоимость ребер в разрезе.
7 = а | Є є С}. (4)
]=1
С = (ві | (№) [ві пХу *е]} - множество ребер в разрезе.
Вторым часто используемым критерием является Е2 - суммарное число вы:
(5)
Возможно использования критерия Е, являющегося аддитивной сверткой критериев Е1 и Е2:
Е=к! -Е+к2 Е2
Рассмотрим пример. Пусть задан граф 0=(Х, V), представленный на рис.1.
ієІ
у=1
Рис.1. Начальное разбиение графа О
Необходимо сформировать три узла. Допустимое число вершин назначенных в узлы п1=3, п2=4, п3=3. Задано его начальное разбиение Х1={х1, х2г х3}, Х2={х4, хщ х7, х6}, Х3={х8, х5, хд). Число связей между узлами равно 4. Состояние объекта оптимизации оценивается вектором $={.{ | 1=1,2,.,.,п}. Значением . явля-
ется номер некоторой вершины х. Элементы . для которых 1<1 <п, соответствуют первому узлу Х1. Элементы для которых п1+1 <1 <п1+п2 соответствуют второму узлу Х2 и т.д. В нашем случае Б„={х1, х2, х3,, х4, х10: х7, х6, х8, х5: хд}.
На рис.2, представлено оптимальное разбиение графа О, описываемое вектором
Би={Х2, х3: х5, Х1, х4, Х7, хш Хб, Х8, Хд}.
Каждому решению, т.е. каждому вектору 8, поставим в соответствие матрицу смежности Я, у которой столбцы и строки помечены вершинами графа О в том же порядке, в котором соответствующие им вершины расположены в векторе Для вектора Б,, и Би соответствующие им матрицы смежности представлены на рис.3,4. Поскольку матрица смежности симметрична относительно главной диагонали, на рисунках верхняя часть матрицы не заполнена и не рассматривается. Таким образом, столбцы и строки матрицы с 1 по п1 помечены номерами вершин, входящих в первый узел, а с ((п1 + п2 +...+ п)+1) по ((п1 + п2 +...+ п)+п++1), входящих в (п1+1)-ый узел.
1 2 3 4 10 7 6 8 9 5 2 3 5 1 4 7 10 6 8 9
1 ® 2 ®
2 1 ® 3 1 ®
3 1 ® 5 1 1 ®
4 1 ® 1 1 ®
10 1 ® 4 1 ®
7 1 1 ® 7 1 ®
6 1 ® 10 1 1 ®
8 1 ® 6 1 ®
9 1 1 ® 8 1 ®
5 1 1 ® 9 1 1 ®
Рис.3. Начальное состояние Рис. 4. Конечное состояние
матрицы смежности матрицы смежности
Пусть столбцы и строки матрицы с номерами от I до 1+т помечены элементами, входящими в один узел Хі. Рассмотрим область 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. Адаптивный процесс состоит из по,
решения (состояния матрицы Я ) к другому - лучшему [1].
На каждом шаге анализируются пары (/, i+1) соседних строк и столбцов матрицы. Анализ осуществляется в два такта. На первом такте анализируются все пары (/, i+1), у которых первый элемент i- нечетное число. На втором такте анализируются пары, у которых первый элемент /'-четное число. Например: пусть п=10, тогда на первом такте рассматриваются пары строк и столбцов {(1,2),(3,4),(5,6),(7,8),(9,10)}. На втором такте - {(2,3),(4,5),(6,7),(8,9)}.
Пары строк и столбцов анализируются независимо друг от друга. По результатам анализа принимается решение о перестановке соседней пары строк и столб.
Локальная цель перестановок - перемещение ненулевых элементов матрицы снизу-вверх и справа-надево. Глобальная цель - формирование в матрице Я об ласти внешних связей NQ с минимальным значением Е, т.е. разбиение графа О с минимальным числом связей между узлами.
Пусть для анализа выбрана пара строк и столбцов (1,1+1) матрицы Я=\\гу\\ размером п*п и пусть строки и столбцы пересекают область Qh образованную на пересечении столбцов и строк матрицы с номерами от V до w. По нижеприведенным формулам рассчитываются параметры Б1, Б2, Б3, Б4:
У-1 У-1 п п
Егу = й; Е г+и = ^2; Еги = ^ Еги+1= ^
у =1 у =1 / =w+1 / =w+1
где Б1 и Б2 - суммы элементов /-ой и /+1-ой строк матрицы Я, не входящих в состав области Qk; Б3 и Б4 - суммы элементов /-го и /+1-го столбцов матрицы Я, не входящих в состав области Qk.
Если пара строк (/,/+1) матрицы Я принадлежат двум соседним областям Qk и Qk+1, то параметры Б1, Б2, Б3, Б4 рассчитываются по следующим формулам:
I-1 /-1 п п
Егу = й; Е г+1,у = Еги = ^ Еги+1 = й.
у =1 у =1 /=/+2 /=/+2
В этом случае в состав сумм Б1 и Б2, Б3 и Б4 входят все элементы /-ой и /+1-ой
, /- /+1- Я ,
П+1,1-
Суть анализа заключается в определении истинностного значения двух ниже:
1. (82 - 81)+ (83 - 84) >0.
2. (82 - 81)+ (83 - 84) =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)}. Пара строк и столбцов переставляется, если выполняется одно из двух вышеперечисленных условий. В исходной матрице Я столбцы и строки помечены номерами вершин графа О. Перестановка соседней пары строк и столбцов (/, /+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 ® 2 ®
1 1 ® 3 1 ®
3 1 ® 1 1 ®
4 1 ® 4 1 ®
7 1 ® 7 1 ®
10 1 1 ® 10 1 1 ®
6 1 ® 6 1 ®
8 1 ® 5 1 1 ®
5 1 1 ® 8 1 ®
9 1 1 ® 9 1 1 ®
Рис.5. Шаг 1, такт 1 Рис.6. Шаг 1, такт 2
Шаг 2, такт 1: (6,5) - еда». Матрица Я представл ена на рис.7. Шаг 2, такт 2: (10,5) - еда». Матрица Я представлена на рис.8.
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 ® 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
Шаг 3, такт 1: (7,5) - еда». Матрица Я представлена на рис.9.
Шаг 3, такт 2: (4,5) - еда». Матрица Я представлена на рис.10.
Шаг 4, такт 1: (1,5) - еда». Матрица Я представлена на рисунке (см. .4).
4, 2: .
После выполнения четырех шагов в модифицированной матрице сформирована область внешних связей NQ с минимальным значением Е=2.
2 3 1 4 5 7 10 6 8 9 2 3 1 5 4 7 10 6 8 9
2 ® 2 ®
3 1 ® 3 1 ®
1 1 ® 1 1 ®
4 1 ® 5 1 1 ®
5 1 1 ® 4 1 ®
7 1 ® 7 1 ®
10 1 1 ® 10 1 1 ®
6 1 ® 6 1 ®
8 1 ® 8 1 ®
9 1 1 ® 9 1 1 ®
Рис. 9. Шаг 3, такт 1 Рис.10. Шаг 3, такт 2
Для преодоления локального барьера, используются подходы, основанные на сочетании различных видов эволюции.
В первом подходе используются идеи метода моделирования отжига. Если в процессе анализа обнаруживается, что условия 1,2,3 не выполняются, то перестановка осуществляется с вероятностью Р=гхр(-АЕ/кТ), где Т - температура, ДЕ -разница между суммами значений элементов анализируемых строк.
Во втором подходе используется одна из структур генетического поиска [2]. Популяция представляет собой множество матриц смежности (закодированных в ). , . . , -щью вышеописанной адаптивной процедуры.
Временная сложность адаптивной процедуры на одном шаге - О(п). Сравнение с известными алгоритмами показало, что при меньшем времени работы новый алгоритм дает более качественные решения.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Лебедев Б.К Адаптация в САПР: Монография. - Таганрог: Изд-во ТРТУ, 1999.
2. Лебедев Б.К Методы поисковой адаптации в задачах автоматизированного проектирования СБИС: Монография. - Таганрог: Изд-во ТРТУ, 2000.
Н.В. Гладкова, Д.С. Кныш ИСПОЛЬЗОВАНИЕ НЕЧЕТКОГО ЛОГИЧЕСКОГО КОНТРОЛЛЕРА ПРИ ПОСТРОЕНИИ НЕЧЕТКОГО ГЕНЕТИЧЕСКОГО АЛГОРИТМА*
Одним из перспективных современных методов решения задач оптимизации и приятия решений в условиях наличия неполной и недостоверной информации являются генетические алгоритмы [1]. Основным отличием нечеткого генетического алгоритма можно считать наличие нечеткого логического контроллера (НЛК). В составе НЛК можно выделить 5 основных блоков [2,3]:
♦ база знаний, включающая в себя базу правил и базу данных;
♦ блок фаззификации;
♦ блок дефаззификации;
♦ система вы вода решения;
♦ система контроля.
* Работа выполнена при поддержке РФФИ (гранты № 05-08-18115, № 06-01-00272) и программ развития научного потенциала высшей школы 2006-2008 гг. (РНП.2.1.2.3193, РНП 2.1.2.2238).