Научная статья на тему 'Применение генетического подхода к оценке эффективности приведения разреженных матриц к ленточной форме'

Применение генетического подхода к оценке эффективности приведения разреженных матриц к ленточной форме Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Применение генетического подхода к оценке эффективности приведения разреженных матриц к ленточной форме»

Рис.2. Схема СБ с относительным балансом

Приведенная схема СБ может быть использована для создания многоуровневых иерархических систем поддержки ПР. Они во многих случаях помогают выходить из локальных оптимумов при реализации 03 ПР.

ЛИТЕРАТУРА

1. Practical Handbook of Genetic Algorithms. Editor I. Chambers. T.2, Washington,USA, CRC Press, 1995.

2. Дуби huh Н.П. Избраны ые труды, Т.1. Проблемы гена и эволюции. М.: Наука,2000.

3. Курейчик В.М., Курейчик В.В. Методы генетического поиска основанные на учениях древности // Труды 26-й международной конференции IT+SE 99, Гурзуф, Украина, 1999. С.64-66.

УДК 621.03

В.И. Кодачигов, Н.В. Братащенко

ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКОГО ПОДХОДА К ОЦЕНКЕ ЭФФЕКТИВНОСТИ ПРИВЕДЕНИЯ РАЗРЕЖЕННЫХ МАТРИЦ К ЛЕНТОЧНОЙ ФОРМЕ

Данная работа является продолжением нашей статьи «Матричная интерпре-

», -

щем номере.

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

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

Алгоритм 1 основан на перенумерации вершин графа, соответствующего исходной матрице [1]. На рис.1 приведен пример, иллюстрирующий возможность уменьшения ширины ленты матрицы путем такой нумерации (рис.2). После изменения номеров вершин графа О, которому соответствует матрица B , получается граф О’, которому соответствует матрица B,. В матрицах B и B, единицы обозначены звездочками, нули - пустыми клетками. Заметим, что ширина ленты в матрице В равна 20, а в матрице В’ - всего 7.

1234 5 6789 10 1234 5 6789 10

Рис.2

1*. Поместить 1,2,...п в список вершин (УЬ), который содержит п элементов. Определить максимальную ширину ленты в матрице В и две вершины, которые приводят к ней. Если максимум имеет место для нескольких пар вершин, то выбрать любую пару.

Если вершина с большим номером может быть переставлена с вершиной с меньшим номером для уменьшения ширины ленты (дая некоторого кр имеет место Р1+(р-1)<Рр), перейти к пункту 7*.

2*.

с большим номером для уменьшения ширины ленты, то перейти к пункту 7*.

3*. Если вершина с большим номером может быть переставлена с вершиной с меньшим номером так, что сохранится ширина ленты, то перейти к пункту 6*.

4*. Если вершина с меньшим номером может быть переставлена с вершиной с большим номером так, что сохранится ширина ленты, то перейти к пункту

6*.(3амечание. Целью шагов 3 и 4 является изменение расположения вершин без увеличения ширины ленты так, чтобы могли быть выполнены дополнительные успешные перестановки на первом и втором шагах ).

5*. Дальнейшие перестановки невозможны, и теперь матрица В имеет лен. , приведенную к ленточной форме. Останов.

6*. 3- 4-

перестановок или снова выбраны для перестановки две вершины, ранее переставленные друг с другом, то перейти к пункту 5*.

7*. Произвести указанную перестановку вершин, а именно переставить элементы в списке вершин VI и строки и столбцы матрицы В, и вернуться к шагу 1*.

Алгоритм 2 основан на изменении номеров вершин, приводящем к уменьшению ширины ленты [1].

1*. Для каждой вершины i графа Q, соответствующего матрице В, вычисляется ее степень pi, равная общему числу недиагональных единиц i-й строки матрицы В, затем выбирается какая-либо вершина, для которой pi1= min (pi), и помечается единицей. На рис.4 вершина (1) помечена 1.

2*. Присвоить вершинам, смежным с вершиной (1), новые номера, начиная с (2), в порядке возрастания их степеней (если степени вершин совпадают, то выбирается любая из них). Эти вершины относятся к первому уровню. На рис.3 вершинам (2), (4) и (9) присвоены номера соответственно 2, 3, 4.

Рис.3

3*. Повторить эту процедуру последовательно для каждой из вершин первого уровня - это значит сперва для вершины 2, затем для вершины 3 и т.д. На рис.3 еще не перенумерованной вершиной, смежной с вершиной 2, является вершина (3) - она становится вершиной 5. Смежными с вершиной 3 (которая сначала имела номер 4) являются вершины (6), (5), (10). Вершина (6) имеет меньшую степень, чем вершина (5), степень которой в свою очередь меньше степени вершины (10); поэтому присвоим этим вершинам соответственно номера 6, 7, 8. Заметим, что вершины 5, 6, 7, 8 связаны с вершиной 1 путем длины 2 и относятся ко второму .

4*.

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

2, 3 4

каждого из них.

5*. , -

выми номерами вершин для получения В.

Описанная схема перенумерации может также применяться для приведения матриц смежности графов, состоящих из несвязных подграфов, к диагонально-( . .4).

Рис.4

3 , -

рение в [2].

Опишем метод преобразования матрицы к виду минимальной.

Критерием, по которому работает описанный ниже алгоритм, является критериальная функция вида К=22к1у* Н - }!.

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

Алгоритм 3

1*. В исходной матрице порядка N проводятся все диагонали, параллельные главной. Им присваиваются номера, начиная с главной: 0, 1, 2, ..., N (при этом, поскольку матрица симметрична, достаточно ограничиться только верхней или

).

2*. 1-

тестируются основные элементы (Яц).

3*. Проверяется, есть ли единицы в соответствующем (]-м) столбце. Если таковых несколько, то, начиная с уровня с наибольшим номером, оценивается К. Выбирается наиболее эффективная перестановка соответствующих строк и столбцов. Работа алгоритма продолжается до тех пор, пока есть эффективные переста-

.

Проиллюстрируем работу алгоритма на примере.

Пусть задана матрица А.

Выделяем клетку (4,3). Наибольший эффект получится, если переместить наиболее удаленный от главной диагонали единичный элемент столбца 3: элемент (7, 3). , 4, 7, 7 - 4, ,

что граф, определяемый А, содержит ребро (7,4). Поэтому единицы в клетках (4, 7) и (7, 4 ) просто поменяются местами и изменение К не произойдет.

,4=

12 3 4 5 6 7^

К=32 М1=(2,4,5,6);

М2=(1,3,6); М3=(2,5,7); М4=(1,5,6,7); М5=(1,3,4); М6=(1,2,4); М7=(3,4,5);

1 1 1 1

1 1 1

1 1 1

1 1 1 1 1

1 1 1 1

1 1 1

1 1 1

(4,1) (4,6)

следующие значения К: ДК= 2-1; ДК=3-6.

Перемещение оставшегося элемента множества М7^(7, 3) дает следующий эффект ДК=4-1=3. Суммируя, имеем общий эффект: ДК=3.

4 7 . :

1234567 1234567

К=31 I I I I I 1 I I А=24

А,=

1 1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1 1

1 1

А ' =

1 1 1 1

1 1 1

1 1 1

1 1 1 1

1 1 1 1

1 1 1

1 1 1

Выполняя перестановки на основе описанных преобразований, окончательно имеем матрицу А'. Улучшить ее не удастся.

Оценка эффективности алгоритмов приведения матриц к ленточной

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

Ниже проводится сравнительный анализ этих алгоритмов. Выясняется, что их эффективность повышается при использовании генетического подхода. Общая структура такового стандартна [5] и выглядит так.

1. .

2. ( ).

3. , -

шений для репродукций (создания потомков) путем применения: оператора крос-синговера и/или; оператора мутации; инверсии; транслокации; сегрегации.

4. .

5. .

Особенность применения указанного подхода заключается в том, что в рассмотренном случае объектом исследования являются генерируемые случайным образом квадратные матрицы из нулей и единиц. При этом каждая такая матрица соответствует однородному неориентированному графу из N вершин (без кратных ребер) степени 8 =2, 3, 4, ... . Это означает, что каждая строка такой матрицы со-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

держит ровно S единиц; т.е. во всей матрице будет ровно SN единиц. Это и есть .

Результатом одного цикла анализа всех 3-х алгоритмов является значение ширины ленты матрицы (или значение критерия К), выбираемое как оценка худшего из лучших вариантов для серии генерируемых случайным образом матриц (ук^анного выше типа) с фиксированными значениями S и N. К примеру, задается S=3, N=10 и случайным образом генерируется М=100 матриц, в каждой строке которой ровно по 3 единицы. Затем каждая из М матриц подвергается обработке с

(*) -

(**). 3 . -

( * **). -фективность алгоритма 3 по сравнению с 1 и 2. К сожалению, распространение описанной методики на случай N>>30 сильно затруднено ввиду существенно нелинейного удлинения времени получения результата очередного цикла и снижения его достоверности ввиду неизбежного из-за этого уменьшения значения M (числа случайным образом генерируемых матриц).

Однако общая тенденция все же поддается экстраполяции. Она видна из графика на рис.5. (Здесь оценивается только Алгоритм 3).

1. Тьюарсон Д. Разреженные матрицы. М.: Мир, 1975.

2. Кодачигов В.К, Бондарев Л.И. Минимальные матрицы и некоторые их применения, ст. «Автоматизация проектирования, программирования и конструирования». Таганрог: Изд-во ТРТИ, 1982.

3. Курейчик В.М. Генетические алгоритмы, Таганрог: Изд-во ТРТУ, 1998.

УДК 681.32

В.М. Курейчик, Л.А. Зинченко, И.В. Хабарова1

АЛГОРИТМЫ ЭВОЛЮЦИОННОГО МОДЕЛИРОВАНИЯ С ДИНАМИЧЕСКИМИ ОПЕРАТОРАМИ

Одной из тенденций развития эволюционного моделирования является пере-

[1,2].

подхода объясняется тем, что в природе отсутствуют жесткие связи. Возможность

1 Работа выполнена при поддержке РФФИ, гранты №99-01-0050, 00-01-00125).

К

N

Рис.5

ЛИТЕРАТУРА

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