Научная статья на тему 'Эффективное управление генетическим поиском с помощью операций кроссовера'

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

CC BY
171
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ / МОДЕЛИРОВАНИЕ / ГЕНЕТИЧЕСКИЕ ОПЕРАЦИИ / ОПТИМИЗАЦИЯ / МЕТОДЫ ПОИСКА / GENETIC ALGORITHMS / SIMULATION / GENETIC OPERATIONS / OPTIMIZATION / SEARCH METHODS

Аннотация научной статьи по математике, автор научной работы — Слепцов Николай Владимирович

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

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

Текст научной работы на тему «Эффективное управление генетическим поиском с помощью операций кроссовера»

УДК 621.3:681.3

Н. В. Слепцов

ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ ГЕНЕТИЧЕСКИМ ПОИСКОМ С ПОМОЩЬЮ ОПЕРАЦИЙ КРОССОВЕРА

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

Ключевые слова: генетические алгоритмы, моделирование, генетические операции, оптимизация, методы поиска.

Abstract. The contribution of particular genetic operations influence to the final results of whole evolutionary search is investigated. The principles of crossover operators directing are examines, the control plan is offered based on jointly using mask crossover and fixed rules to efficient directing of evolutionary search.

Keywords: genetic algorithms, simulation, genetic operations, optimization, search methods.

Введение

Среди различных методов решения задач оптимизации большое распространение получили поисковые методы, особенно методы эволюционногенетического поиска. Это объясняется тем, что создаваемые генетические алгоритмы (ГА) универсальны, просты для реализации и оказались достаточно эффективными для решения ряда задач инженерного проектирования, планирования, маршрутизации и размещения, управления портфелями ценных бумаг, при моделировании развития в биологических, социальных и когнитивных системах [1]. Возможная схема реализации ГА приведена на рис. 1.

Рис. 1 Принципиальная реализация эволюционно-генетических вычислений

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

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

1 Управление процессом генетического поиска

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

Оператор селекции (репродукции) является оператором, с помощью которого из исходной популяции создается новая, где присутствие той или иной хромосомы определяется значением целевой функции (ЦФ). На сегодня уже создано множество различных типов оператора репродукции, но все они направлены на реализацию принципа сохранения хромосом с лучшими значениями и исключения из популяции решений с худшими значениями ЦФ.

Оператор репродукции преобразует популяцию Х = {хь ..., хм} элементов, не обязательно различных, в новую популяцию X' по некоторому определенному правилу. Репродукция направлена на улучшение среднего качества популяции Х путем включения в следующую популяцию X' лучших хромосом с большей вероятностью.

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

Пропорциональная репродукция. При данном способе [2, 3] из исходной популяции набираются новые N хромосом, при этом каждая хромосома имеет вероятность выбора pi, пропорциональную значению ЦФ

Р, --,

1 1М

где М - мощность исходного множества хромосом.

Сложность реализации алгоритма для данного способа: 0(1). Очевидно, что данный алгоритм будет работать, если все значения ЦФ положительны.

Турнирная репродукция. Турнирная репродукция с размером турнира ^ заключается в выборе ^ хромосом случайным образом из популяции и отборе из этой группы в новую популяцию одной с лучшим значением ЦФ. Так повторяется N раз. Сложность алгоритма, как и в предыдущем случае: 0(1).

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

Р1 - N (л_ + (л+_л_) N17), 1е {1,..., N}.

Тогда ^ / N - вероятность выбора худшего представителя популяции,

а ^+ /N - вероятность выбора лучшего. Также налагаются условия, что

0 <^— <1 и ^+ — 2 — ^ . Отметим, что все решения приобретают различные ранги, т.е. разные вероятности выбора, хотя при этом могут иметь одинаковые значения ЦФ.

Данный алгоритм требует проведения сортировки представителей популяции, поэтому сложность такого алгоритма: 0^ logN).

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

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

Определим операцию кроссовера следующим образом.

Пусть среди всех двоичных строк длины Ь производится поиск строки X. Х1 и Х2 - двоичные строки длины Ь; р - множество номеров позиций, в которых строки Х1 и Х2 различаются, р — {111 < 1 < Ь и Х^'] Ф X2[1]}, S(21,22) -количество позиций, в которых строки 21 и 22 различаются. Порождаемая в результате кроссовера строка обладает свойствами:

- совпадает со строками Х1 и Х2 в позициях, не вошедших в р;

- в среднем половина позиций, вошедших в р, совпадает с позициями в строке Х1, а другая половина позиций из р совпадает с позициями в строке Х2.

В приведенных формулировках конечная цель ГА - найти х е X такой, что Е(х) — шах{Е(г)| г е X}, Е - оценочная функция приспособленности (пригодности).

Как было отмечено выше, существуют многочисленные разновидности кроссовера. Рассмотрим случай обмена строк одним геном. Алгоритм выполнения кроссовера в этом случае следующий:

- случайным образом с равной вероятностью выбирается позиция

1 е р;

- формируется строка X3, совпадающая во всех позициях, кроме 1-й, со строкой X1;

- формируется строка X4, совпадающая во всех позициях, кроме 1-й, со строкой X2.

Операция кроссовера является удачной, если хотя бы одна из порожденных строк имеет меньше отличающихся позиций от искомой строки X, чем строки X1, X2, т.е. должно выполняться либо ^(X!,X) > ^(X3,X) < < ^(X2,X), либо ^^,X) > ^(X4,X) < ^(X2,X). Обозначим через р1 номера позиций, в которых строка X1 не совпадает со строкой X2 и совпадает со строкой X, а через р2 - номера позиций, в которых строка X2 не совпадает со строкой X1 и совпадает со строкой X. Обозначив через М мощность множества, можно записать:

М (р1) + М (р2) ——( р).

При выборе 1-й позиции в наличии имеется М(р) равновероятных вариантов, из которых М(р2) вариантов ведет к тому, что строка X3 будет содержать на единицу меньше различающихся позиций со строкой X, чем строка XI, а М(р\) вариантов приведет к тому, что строка X4 будет содержать на единицу меньше различающихся позиций со строкой X, чем строка X2. Вероятность того, что X3 имеет меньше различающихся позиций с X, чем XI, равна М(р2)/М(р), аналогично, вероятность того, что X4 имеет меньше различающихся позиций с X, чем с X2, равна М(р1)/М(р).

Операция кроссовера является удачной только при выполнении одного из следующих условий:

5(Xl,X) — 5(X3,X) — 1,М(р1) >М(р2);

5 (X2, X) — 5 (X4, X) — 1, М (р2) > М (р1).

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

Пусть

к —11, м(р1) >м(р2), к — Г1, м(р2) >м(р1),

1 [0, иначе, 2 [0, иначе.

Вероятность выполнения первого условия: (М (р1)/ М (р) )-.К1. Вероятность выполнения второго условия: (М (р2)/М (р) )-^2. Условия не могут

выполняться одновременно, поскольку если X3 получит удачный ген, то X4 получит противоположный, неудачный ген. Вероятность успешного выпол-

М (р1) к + М (р2) К2 нения кроссовера: ------------------——.

—(р)

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

Операция мутации - изменение значения какой-либо позиции, в случае двоичного кодирования - инверсия какого-либо двоичного разряда. Операция является успешной, если она происходит в позиции, в которой текущая строка и X не совпадают. С каждым поколением ГА среднее количество позиций строки, совпадающих с X, растет по определению, поэтому эффективность мутации в этих обстоятельствах объективно падает. В работе [5] получена оценка для связи значения 3, максимизируемого при генерации каждой новой популяции, с интенсивностью мутации р:

2

3 — а + btp + ср,

1 - номер эпохи; р - интенсивность мутации; а, Ь, с - константы.

Кроссовер и разбиение. С результатами работы оператора кроссовера связан принцип значимых строительных блоков [6]. Рассмотрим вероятность разрушения шаблона. Пусть имеется шаблон Н, 5(Н) - длина его определения, О(Н) - его порядок. Тогда вероятность того, что точка кроссовера находится в пределах шаблона, равна 5(Н)/(/ — 1), где I - длина строки, содержащей шаблон. Так как вероятность разрыва пропорциональна длине определения, шаблоны с большей длиной определения имеют также и большую тенденцию к разрушению. Соответственно, принцип значимых строительных блоков пытается обеспечить отсутствие в выбранной кодировке длинных стандартных блоков. Однако переход от генотипа к фенотипу является намного более общим в реализации, следовательно, может быть неизвестно, следует ли выбранное кодирование принципам значимых строительных блоков даже в том случае, если цель решения достаточно четко определена. Это означает, что будут сохраняться шаблоны с произвольной длиной и направление поиска сместится к коротким шаблонам.

2 Кроссовер

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

Адаптивный оператор кроссовера, который приспосабливается к применяемому кодированию, принципиально может быть эффективнее, чем

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

Алгоритм действия простого неадаптивного оператора кроссовера включает выбор точки разрыва и следующую процедуру:

А1:

for i = 1 to точка кроссовера begin

Копировать gen в потомок_1р] из предок_1р]

Копировать gen в потомок_2р] из предок_2р] end

for i = точка_кроссовера+1 to длина хромосомы begin

Копировать gen в потомок_1р] из предок_2[i]

Копировать gen в потомок_2р] из предок_1р] end

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

Изменение направления поиска (смещения) с помощью кроссовера.

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

1) маски можно рассматривать как дополнительное множество генов и использовать для них обычные генетические операции;

2) применением специальных маскирующих функций, которые изменяют направление поиска.

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

3 Маскированный кроссовер

Относительная оценка пригодности потомков указывает желательность продолжения поиска в данном направлении. Применение этой информации не ограничено оператором кроссовера и может использоваться в классическом ГА с незначительными изменениями (например, можно улучшить традиционный кроссовер формированием отсортированного списка предыдущих точек кроссовера, создавших потомков с высокими характеристиками).

Маскированный кроссовер (МК) применяет при выполнении прямого кроссовера двоичные маски. Пусть S1 и S2 - две исходные родительские строки, S3 и S4 - их потомки. Mask1 и Mask2 - две двоичных маски, Mask1 применяется к S1, Mask2 - к S2. Нижний индекс для Mask указывает позицию бита в строке. Действие маскированного кроссовера показано на рис. 2 и определено ниже:

А2:

Копировать S1 и S2 в S3 и S4

for i = 1 to длинастроки

begin

if Maskli = 1 and Mask1i = 0 Копировать i-й бит из S2 в S3 if Mask1 i = 1 and Maskli = 0 Копировать i-й бит из St в S4 End

Рис. 2 Маскированный кроссовер

Легко увидеть, что традиционные операторы кроссовера - особые случаи МК. Одноточечный кроссовер выполняется установкой первых п битов (п меньше длины строки) М1 в 1, остальных битов - в 0. М2 образуется как дополнение к М1. Для равномерного кроссовера 1-й бит М1 выбирается случайно, М2 опять является дополнением. Это позволяет разрушающим качествам МК меняться в диапазоне от характеристик одноточечного кроссовера до равномерного.

Маскированный кроссовер пытается сохранить шаблоны, идентифицированные масками. Пусть 51 - доминирующий предок относительно 53; 52 -доминирующий предок относительно 54. Это следует из определения маскированного кроссовера, поскольку при образовании 53, когда соответствующие биты масок для 51 и 52 одинаковы, биты 51 копируются в 53.

Интуитивно I в маске отображает биты, участвующие в шаблонах с высокой оценкой. МК сохраняет шаблоны 51 в 53, добавляя некоторые шаблоны из 52 в тех позициях, которые не зафиксированы 51. Аналогично образуется 54. Смещение поиска выполняется изменением масок в последующих поколениях ГА. Вместо использования генетических операторов для масок разработаем набор правил манипулирования разрядами масок предков для управле-

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

Определим три основных типа потомка:

1. Удачный - оценка выше, чем у обоих предков (У).

2. Средний - оценка между оценками предков (С).

3. Плохой - оценка не выше оценки одного или обоих предков (П).

При двух потомках для операции кроссовера и трех типах потомков

существуют 32 = 9 вариантов, интерпретируемых действиями на масках, но, поскольку порядок выбора потомков значения не имеет, число рассматриваемых случаев снижается до 6 (рис. 3).

Потомок 1 Потомок 2 Правило

Удачный Удачный МРУУ

Плохой Плохой МРпп

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

Средний Средний МРсс

Удачный Плохой М^уП

Удачный Средний М^УС

Средний Плохой МРсп

Рис. 3 Сочетания исходов операции и соответствующие правила

4 Правила распространения маски

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

Приведем описание правил распространения масок.

Пусть Р1 и Р2 - предки, РМ1 и РМ2 - соответствующие им маски. Соответственно, С1 и С2 - потомки, СМ1 и СМ2 - их маски. Изменение маски зависит от относительного упорядочения Р1, Р2, С1 и С2 (символ # представляет позицию, значение которой выбирается случайно с одинаковой вероятностью).

Правило П1: М¥УУ

Результат: Оба потомка имеют хорошие характеристики.

Описание: Очень благоприятная тенденция, это учитывается в масках (рис. 4), и далее число 1 в масках идентифицирует шаблоны с высокой оценкой. Для сохранения высокопригодные схемы. Маски предков объединяются по ОЯ (ИЛИ) для сохранения вклада обоих родителей (рис. 4).

МР

РМ1 РМ2

І 11 і І і І II! І І І І І I 111 1 1011 I 1Ю |1 ЮІ0І 1 I о |

РМ1 РМ2

ИІ 1 И ЮМ |о и |о |о|о | о СМ1 ИИ I ои и Ю и I о | о | 1 | о | СМ2

111 1 11 11 I 1 I = 11 1 = I = I 1 I = 1111 I 1 И I 1 I = 11 I = Ш 1 I = 1

Рис. 4 Распространение маски - П1

Действия:

СМ1: ОЯ для масок РМ\ и РМ2. Если в какой-либо позиции остались 0, позиции присваивается случайное значение.

СМ2: То же, что СМ1.

РМ1: Без изменений, за исключением вызванных мутацией масок.

РМ2: То же, что касается РМ1.

Правило П2: МЕПП

Результат : Оба потомка неудачны.

Описание: Тенденция крайне неблагоприятна и ее распространение обязательно должно быть предотвращено. Разряды в кодирующую строку с низкой оценкой внесены обоими предками.

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

Действия:

СМ1: Эта маска должна отразить нежелательность текущего направления поиска. Вклад Р2 был не улучшающим характеристики, поэтому СМ1 должен вести поиск в области, определяемой реальным вкладом Р2, которая определяется локусом і, для которого РМ\ установлена в 0, а РМ2 в - 1.

Эти локусы в СМ1. установлены в 0. Если оценка РМ2 > РМ1, разряды СМ1

в этих устанавливаются случайным образом при условии, что РМ1і и РМ2і

равны 1.

СМ2: формируется аналогично СМ1.

РМ1: Воздействие Р2 на С1 ухудшило характеристики. Позиции Сі, скопированные из Р2, должны быть использованы для поиска особью Р1. Эти ло-кусы определяются значениями масок РМ\ = 0 и РМ2 = 1. Поэтому локусы,

определяемые РМ\ устанавливаются случайным образом. Кроме того, РМ1і

определяет локус, ухудшающий С2, поэтому при РМ\ = 1 и РМ2 = 0 эти

разряды устанавливаются случайным образом.

РМ2: формируется аналогично РМ1.

Правило П3: М^СП

Результат: Один потомок (С1) имеет средние характеристики, второй -плохие (С2).

МР

РМ1 РМ2

ММ И I И I И І і I I I I 11 1 I 0 I 1 I 1 I 0 11 I 0 I 0 I 1 I о I

РМ1 РМ2

111 1 1 = 1 = 11 Ю И I о|о| = |о | И11 I = Ш1 І о 11 І о I о | = | о |

СМ1 а Р2 > Р1 СМ2

1 = 1 = 11 |0|=|0| = |0Ю|0 |0 I 11 I 1 I 0 | 1 | 1 I 0 11 | 0 | 0 | 1 I 0 I

Рис. 5 Распространение маски - П2

Описание: Имеются два возможных случая. Если оценка С2 ниже, чем для Р2, это означает, что вклад Р] был ухудшающим, и РМ2 должна быть «усилена» значениями 1 в тех позициях, которые были скопированы из Р] в С2 (рис. 6).

МР (1)

РМ1 РМ2

11111110111011|0|0|а|а | 111 1 1011 I 1Ю |1 10 10 1 1 | 0 |

С1 < Р1 с С2 с Р2

РМ1 РМ2

|1|1|#1#|1|0|1|0|0|#|0 | I 11 1 I 1 I = I 1 1 = 11 I = I = 11 1 = 1

СМ1 СМ2

І#ті|отото|о|оіо I 1111 I * 11 I 1 I 0 | 1 | 0 | 0 | 1 | о |

Рис. 6 Распространение маски - П3, случай С1 < Р1 < С2 < Р2

Если оценка С2 ниже, чем для Р1, вклад Р1 повысил оценку С2, поэтому вклад Р1 в С2 нужно сохранить (рис. 7).

Рис. 7 Распространение маски - П3, случай С1 < Р1 < С2 < Р2

Действия:

Условие: С1 < Р1 < С2 < Р2.

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

образом.

СМ2: Поскольку влияние Р1 уменьшает оценку С2, разряды СМ1. в позициях, для которых РМ\ = 1 и РМ2 = 0, устанавливаются случайным образом.

РМ\. Воздействие Р2 на С1 ухудшило характеристики. Позиции С1, скопированные из Р2, должны быть использованы для поиска особью Р1. Эти локусы определяются значениями масок РМ^ = 0 и РМ2 = 1. Поэтому локусы,

определяемые РМ\ , устанавливаются случайным образом. Кроме того,

РМ\ определяет локус, ухудшающий С2, поэтому при РМ\ = 1 и РМ2 = 0

эти разряды также устанавливаются случайным образом.

РМ2: Поскольку воздействие Р1 ухудшает характеристики, установим РМ2 в 1 для локусов, у которых РМ\ = 1 и РМ2 = 0 . Для позиций, у которых РМ\ = 0 и РМ2 = 0, значения устанавливаются случайным образом.

Условие: С1 < Р2 < С2 < Р1.

СМ1: Основные действия те же, что и для условия С] < Р1 < С2 < Р2.

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

СМ2: Для сохранения положительного влияния Р1 разряды СМ2. устанавливаются в 1 в позициях, для которых РМ\ = 1 и РМ2 = 0 .

РМ\. Разряды, оказавшие положительное воздействие на Сь но не на С2, должны быть изменены. Поэтому локусы, для которых значения масок равны РМ\ = 1 и РМ2 = 0 , устанавливаются случайным образом. Воздействие Р2 ухудшает оценку, поэтому при РМ2 = 1 и РМ\ = 0 соответствующие разряды РМ\ устанавливаются в 1.

РМ2: Разряды РМ2 , оказывающие воздействие на С1, устанавливаются

случайным образом.

Правило П4: М¥СС

Результат: Оба потомка имеют средние характеристики.

Описание: Опять рассмотрим два возможных случая, зависящих от того, будет ли потомок обладать лучшими или худшими характеристиками, чем его доминирующий предок. Пусть С1 лучше Р\, а С2 хуже Р2. Случай обратный, т.е. С2 лучше Р2, а С1 хуже Р1, в части возможных действий идентичен при замене С на С2, Р1 на Р2. Пример масок приведен на рис. 8.

м 4

РМ1 РМ2

I 1 I 1 I 1 I 0 | I | 0 II | о [ о | о | о | I 1 И I 0 I 1 I 1 I 0 11 | 0 I 0 I 1 I 0 I

РМ1 РМ2

ММ1=|0|1 |0Ц ЮЮЮЮ | I 1 11 11 11 11 I 0 | 1 | 0 | о I 1 I о |

СМ1 СМ2

ИМИ И 1110 11 I о | 0 | 1 | 0 | ИИ ЮИМЮИ I о | о I 1 I о |

Рис. 8 Распространение маски - П4

Действия:

СМ1: Эта маска отражает желательность поиска в текущем направлении, поскольку Р2 повышает оценку для Сі. Маски РМ\ и РМ2 объединяются по ИЛИ, позиции СМ1, оставшиеся нулевыми, заполняются случайным образом.

СМ2: Воздействие Р1 ухудшило характеристики, поэтому локусы, определяющие влияние Р1 на С2, устанавливаются в 0.

РМ1: Воздействие Р1 на С2 ухудшило характеристики, поэтому соответствующие локусы устанавливаются случайным образом.

РМ2: Позиции, благодаря которым Р1 воздействует на С2, ухудшая его характеристики, установим в 1.

Правило П5: М^УС

Результат: Один потомок имеет высокие, другой - средние характеристики.

Описание: Опять имеется два возможных случая, зависящих от взаимного расположения оценок для предков и потомков. При Р1 < С1 < Р2 < С2 текущее состояние поведения ГА следует только улучшать, в противном случае следует увеличивать влияние Р1.

Действия:

Условие: Р1 < С1 < Р2 < С2, рис. 9.

м 5

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

РМ1 РМ2

ИМИ Ю|1 |0|1 I 0 | и | 0 | о | I 1 М I 0 I 1 I 1 I 0 11 I 0 I 0 I 1 I 0 I

Р1 с С1 < Р2 < С2

РМ1 РМ2

| 1 И I 1 I 0 I 1 I - И I - I -1 о I - I 11111 о 1111 и и и т 11 о і

СМ1 СМ2

И м И И м І о 11 І III ом І о I 1111 М И М Ю И I 01011 I 0 I

Рис. 9 Распространение маски — П5, случай Р1 < С1 < Р2 < С2

СМ1: Аналогично СМ1 для МРУУ.

СМ2: Аналогично СМ1 для данного случая.

РМ1: Поскольку характеристики потомков выше, чем их предков, разряды, установленные в 0 для РМ1 и РМ2 одновременно, устанавливаются случайным образом.

РМ2: Аналогично РМ1 для данного случая.

Условие: Р2 < С1 < Р1 < С2.

Вклад Р1 в воспроизводстве популяции следует уменьшить (рис. 10).

м 5

РМ1 РМ2

ИМИ ЮМ ЮМ ЮЮЮ I 0 I ИІ1І0І1І1І0ИІ0І0І1І0І

Р2 С1 <Р1 <С2

РМ1 РМ2

МММ ИМ 1011 Ю 10 | 110 1 1111 I о | о М I 0 М Ю Ю I 0 I о |

СМ1 СМ2

М М И І о м І о I 1 I 0 I 0 I 0 Ю I М 11 М М М I о 11 | о | о | 1 | о |

Рис. 10 Распространение маски — П5, случай Р2 < С1 < Р1 < С2

Действия:

СМ1: Р2 уменьшает оценку для С1. Усиление поиска в данной области усиливается установкой СМ1. в 0 для тех позиций, для которых РМ2 = 1 и

РМ1 = 0.

СМ2: Воздействие Р1 улучшает оценки С2, поэтому установим СМ2 в 1 для тех позиций, для которых РМ\ = 1 и РМ2 = 0 .

РМ1: Р2 уменьшает оценку для С1, поэтому установим РМ\ в 1 для тех позиций, для которых РМ2 = 1 и РМ\ = 0 .

РМ2: Поскольку Р2 уменьшает оценку для С1, поэтому установим РМ2 в 0 для тех позиций, для которых РМ\ = 0 и РМ2 = 1.

Правило П6: МРуп

Результат: Один потомок имеет высокие, другой — низкие характеристики. Пусть низкие характеристики имеет С1, высокие — С2 (рис. 11).

Описание: Следует стараться сохранить шаблоны С2 при передаче относительных оценок Р1 и Р2 для РМ1 и РМ2.

СМ1: Маска должна отразить нежелательность текущего направления поиска. Вклад Р2 был неулучшающим, поэтому СМ1 должен вести поиск в области, определяемой реальным вкладом Р2, которая определяется локу-сом ., для которого РМ\ = 0, а РМ2 = 1. Эти локусы в СМ1. установлены в

0. Если оценка РМ2 > РМ1, разряды СМ1 в этих локусах устанавливаются случайным образом при условии, что РМ\ и РМ2 равны 1.

м ъ

РМ1 РМ2

ИИ И I о 11 | 011 |0 |0 |0 | 0 I I 1 I 1 I 0 I 1 I 1 I 0 11 | 0 I 0 I 1 I 0 I

РМ1 РМ2

шгммшотоюп і о і ИИ ЮМ п ю и Ю ю | 1 ю |

СМ1 СМ2

Ш"|1|0Ш0Ш0|0|0|0 I ііиииитіш#ііііМ

Рис. 11 Распространение маски — П6

СМ2: Для тех позиций, где РМ^ = 1 и РМ2 = 0, СМ2 установим в 1.

Дополнительно, если у обоих предков разряды установлены в 0, соответствующие позиции СМ2. установим случайным образом.

РМ1: Р2 уменьшает оценку для С1, поэтому установим РМ\ в 1 для тех позиций, для которых РМ2 = 1 и РМ\ = 0 . Если оценка Р1 < Р2, то для дополнительного улучшения РМ1 те позиции, для которых РМ2 = 1 и РМ\ = 1,

установим случайным образом.

РМ2: Остается неизменной, не считая возможных изменений из-за операции мутации.

Заключение

Описанные функции маски - один из возможных способов определения правил распространения маски в популяции. Фактически ГА может осуществлять поиск в пространстве правил масок для определения пригодного набора, для которого оценочная функция может быть присоединена к функциям масок.

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

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

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

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

Список литературы

1. Емельянов, В. В. Теория и практика эволюционного моделирования /

B. В. Емельянов, В. В. Курейчик, В. М. Курейчик. - М. : ФМЛ, 2003. - 432 с.

2. Редько, В. Г. Эволюционная кибернетика / В. Г. Редько. - М. : Наука, 2001. -224 с.

3. Holland, J. H. Building Blocks, Cohort Genetic Algorithms, and Hyperplane-Defined Functions / J. H. Holland // Evolutionary Computation. - 2000. - № 4 (8). -Р. 373-391.

4. Слепцов, Н. В. Повышение качества эволюционно-генетических вычислений с помощью разделения оценки и масштабирования / Н. В. Слепцов,

C. В. Щербакова // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2008. - № 4. - С. 67-79.

Слепцов Николай Владимирович

кандидат технических наук, доцент, кафедра экономики и огранизации производства, Пензенский государственный университет

Sleptsov Nikolay Vladimirovich Candidate of engineering sciences, associate professor, sub-department of production economy and organization, Penza State University

E-mail: nbs_nbs@km.ru

УДК 621.3:681.3 Слепцов, Н. В.

Эффективное управление генетическим поиском с помощью операций кроссовера / Н. В. Слепцов // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2009. - № 3 (11). - С. 32-46.

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