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

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

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

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

УДК 681.32

И.А. Харламов1

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ КОМПОНОВКИ С ПЕРЕМЕННОЙ

СТРУКТУРОЙ

Введение. Одной из проблем, решаемых в процессе конструирования ЭА, является задача компоновки конструктивных элементов низшего уровня в высший с учетом заданных критериев и ограничений [1].

Для решения задачи на ЭВМ электрическая схема заменяется адекватной ма. , , -вить с помощью мультиграфа в = (X, Е, '), где X - множество вершин графа (узлы схемы), Е - множество ребер (соединения схемы), ' - определяет вес каждого

.

заменяется на задачу оптимального разбиения графа в на части, т. е. задачу, связанную с полным перебором вариантов разбиения, что позволяет отнести ее к классу № - полных проблем.

Существует несколько способов разбиения графа на части. Это последовательные и итерационные методы, эвристики Кернигана - Лина, методы группирования и методы ветвей и границ [1]. Основной проблемой компоновки является тот факт, что ее решение обычными методами ведет к значительным затратам машинного времени и/или требует хранения больших массивов информации. Поэтому задача получения компромиссного полиномиального алгоритма разбиения продолжает оставаться актуальной и в настоящее время.

В данной работе вниманию читателя предлагается способ компоновки на основе генетических методов [3], базирующихся на эволюции Дарвина. Разработан новый ГА, оперирующий понятиями Дивергенции и Конвергенции, а также учитывающий влияние параметров окружающей среды, что позволяет, в большинстве случаев, выходить из тупиковых вариантов развития эволюции, выражающихся в преждевременной сходимости ГА.

Постановка задачи. Пусть задан мультиграф в = (X, Е, '), где X - множество вершин графа, Е - множество ребер (моделирует схемы цепей), ' - вес ребер. Каждой вершине х1е X соответствует элемент схемы. Тогда разбиение мультиграфа в на части Р1, Р2, ..., Рп должно удовлетворять следующим условиям [1]:

Р1пР2п ... пРп ф 0 и Р1иР2и ... иРп = Р (УР^Р) (Рф0),

(УРЬ Р_,еР) ( [Р^ ^ РоР = 0] л [(ЕлЕГЕч) V (ЕЛЕГ0)] ),

п п

и Р1 = Р, и Е = Е, 1еч1 = Е.

г=1 г=1

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

Решая оптимизационные задачи с помощью ГА, удобнее работать с задачами .

ребер, входящих в подграфы Р1 и Р2:

^ (р, р2)=/1( рх)+У2 (Р2);

/1( Р1) = ^ (Р,Р;-) - сумма весов ребер Р1;

Pie.P1 Р/еР1

Л(Р*) = Е Т.Ж(Pi ,Р;-) - сумма весов ребер Р2.

PieP 2 Р/еР 2

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

, , .

Основная идея ГА с переменной структурой. Согласно уче нию Дарвина, выделим три основные формы борьбы живых организмов за существование:

1. - , . .

одинаковых условиях и имеют одинаковые потребности.

2. . . -ная изоляция предполагает наличие механизмов, препятствующих скрещива-,

извне [2].

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

3. . -

соблением к географическим и экологическим условиям существования. Это свойство эволюции носит название Дивергенция. Дивергенция любого масштаба есть результат действия естественного отбора в форме группового отбора (сохраняются или удаляются роды, семейства и т. д.). Групповой отбор основан на индивидуальном отборе внутри популяции. При этом своеобразие морфологических особенностей организмов, приобретенных в процессе дивергенции, имеет единую основу в виде генофонда родительских форм [2].

В природе формирование живых организмов происходит скачкообразно. Земля, к примеру, прошла путь от Архейской эры, зарождение жизни, до Кайнозой, . из-за поэтапного изменения климата и экологии планеты. Борьбу с неживой природой в ГА можно реализовать переменой структуры алгоритма по аналогии с изменением климата планеты. Для этого условно делим алгоритм на несколько час, . , , .

это реализуется добавлением или удалением генетических операторов и/или изме-

нением их параметров.

Модифицированные генетические операторы.

1. Упорядоченный оператор кроссинговера (УОК или ОХ).

: .

Р1= 9 8 4 | 5 6 7 | 1 3 2 О

Р2= 8 7 1 | 2 3 О | 9 5 4 6

Р2 -

жением во втором родителе

Р1= 9 8 4 | 7 5 6 | 1 3 2 О

Р2= 8 7 1 | 3 2 О | 9 5 4 6 2. ( ). :

Р1= 9 8 2 1 7 4 5 О 6 3 Р2= 1 2 3 4 5 6 7 8 9 О

Процедура определения циклов следующая: берем первый элемент родителя

1 . 9,

ло кусом во втором родителе - 1. Находим 1 в Р1, определяем соответствующий

2, 4. ,

не встретится начальный элемент цикла. Когда цикл найден, берем следующий элемент Р1, еще не вошедший ни в один цикл, и процесс повторяется. Если таких , .

:

I: 9 1 4 6 9 II: 8 2 3 О 8 III: 7 5 7

На основании циклов формируем потомка Р1 = 9 1 4 6 8 2 3 О 7 5. Аналогичные процедуры применяются для формирования второго потомка.

Оператор сегрегации (ОС). Пусть необходимо разбить граф в на три части по две вершины в каждом подграфе. Выбираем из популяции три хромосомы для :

Р1 = | 1 2 | 3 4 5 6 Р2 = 6 5 | 3 4 | 2 1 Р3 = 1 2 5 4 | 6 3

Формируем потомок, взяв первую часть из Р1 {1 2}, вторую из Р2 {3 4}, последнюю из Р3 {6 3}. Отбрасываем повторяющиеся гены {3 4} и {6 3}, заменяем 3 на недостающее 5 и получаем потомка Р* =1 2 3 4 6 5.

Предлагаемые селекции:

1. -

ГА метод. В этом случае каждой индивидуальности (И) в популяции соответствует точка на колесе рулетки, пропорционально сопоставимая с величиной ЦФ. Тогда при повороте колеса рулетки И имеет некоторую вероятность выбора. Причем И с большим значением ЦФ имеет больший шанс для выбора.

2. Турнирная селекция. Некоторое число И (согласно размеру «^рнира») выбирается случайно из популяции, и лучшие И в этой группе отбираются для дальнейшего генетического процесса.

3. . .

Предлагаемые способы рекомбинации:

1. .

2. , ,

. ( ), -. , (1- ( )) , , выживут в следующей генерации. Здесь Т - размер популяции.

3.

из родителей и потомков.

Пример ГА с переменной структурой.

Верхний график получен при работе описанной ранее структуры ГА. Из рисунка следует, что самым продуктивным оказался второй этап. Возникает вопрос о целесообразности двух других этапов. Уберем 1-й и 3-й этапы, увеличим число генераций второго до 150 и запустим алгоритм. Работу такой структуры ГА демонстрирует нижний график. Обе структуры ГА выполнялись по 50 раз и их средние графики представлены на рис. 2.

Этап № 1.

3.1 Селектирование индивидуальностей для репродукции на основе турнирной селекции.

3.2. : 3.2.1. ЦОК с вероятностью 9О%. 3.2.2. ОМ с вероятностью 7%.

3.3 . отбираются для новой популяции.

Этап № 2.

4.1 . Период 1:

4.2.1 ЧСОК с вероятностью 95%. 4.2.2 ОМ с вероятностью 7%.

4.2.3 Рекомбинация. Отбираются лучшие.

Период 2:

4.3.1 95% 4.3.2 ОМ с вероятностью 5% 4.3.3 5%

4.3.4 . популяции, включая потомки в течении каждой генерации.

Этап № 3.

5.1 . 1:

5.2.1 ЧСОК с вероятностью 95%. 5.2.2 ОМ с вероятностью 3%. 5.2.3 ОТ с вероятностью 3%.

5.2.4 Рекомбинация. Отбираются лучшие.

2: 5.3.1 УОК с вероятностью 95%. 5.3.2 ОМ с вероятностью 3%. 5.3.3 ОТ с вероятностью 5%. 5.3.4 ОС с вероятностью 10%.

5.3.4 Рекомбинация. Перемещение родителей в потомки после каждой генерации.

Рис.1. График работы предложенной структуры ГА

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

3

г^енер^цни

О 50 100 150

—..........................

Рис.2. Зависимость числа реберных соединений от количества генераций

Результаты тестовых испытаний.

Влияние количества генераций на качество получаемых решений и скорость

:

Число экспериментов Кол-во вершин графа - пуляНИИ Количество генераций Среднее время работы, мсек Среднее значение ЦФ

10 50 100 20 100 21.030

10 50 100 50 252 12.150

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

10 50 100 100 512 10.060

10 100 100 200 1401 23.000

10 100 100 300 2114 16.050

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

Влияние размера популяции на время работы и качество решения

- риментов Кол-во вершин графа - пуляНИИ Количество генераций Среднее время рабо, Среднее значение |Е I - ЦФ

10 16 20 100 450 8,30

10 16 50 100 455 7.0

10 16 100 100 495 7.0

10 50 20 100 500 17.030

10 50 50 100 510 12.150

10 50 100 100 532 10.000

10 100 20 100 500 34.060

10 100 50 100 650 30.150

10 100 100 100 712 27.060

Сравнение ГА с последовательным алгоритмом

- вершин графа Время работы, мсек Число внешних связей - ченных решений

Генетический алгоритм 10 150 2 1

100 502 10 4

200 1014 27 17

Последовательный алгоритм максимальной конъюнкции 10 18 2 1

100 150 12 1

200 370 35 1

ГА уступает последовательному алгоритму в скорости, но превосходит по качеству получаемых решений. Кроме того, ГА позволяет за один прогон получать некоторое подмножество локальных решений.

Сравнение ГА с итерационным алгоритмом парных перестановок

- вершин графа - графов разбиения - ты, мсек Число внешних связей - лученных решений

Генетический алгоритм 10 2 150 2 1

50 3 250 8 1

100 4 502 21 2

500 50 3604 52 13

1000 150 8024 79 7

Итерационный алгоритм парных перестановок 10 2 25 2 1

50 3 80 7 1

100 4 120 34 1

500 50 2360 87 1

1000 150 7180 123 1

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

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

ЛИТЕРАТУРА

1. Курейчик В. М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. М.: Радио и связь. 1990.

2. Охматов КА. Зарождение жизни на планете Земля. М.: Мир, 1994.

3. Айала Ф. Введение в популярную и эволюционную генетику. М.: Мир, 1984.

УДК 658.512

В.И. Божич, О.Б. Лебедев, ЮЛ. Шницер1

РАЗРАБОТКА ГЕНЕТИЧЕСКОГО АЛГОРИТМА ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

Одной из областей применения генетических алгоритмов является обучение .

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

на первом этапе с помощью генетического алгоритма осуществляется поиск общих параметров нейронной сети, а именно: количества скрытых слоев и нейронов в каждом слое;

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

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

С _ к (у'у - у1})

С _ тах-------------•100% ,

у_1 Уу

где к - количество примеров; у у’ - значение /-го выхода нейронной сети для у -.

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

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

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