Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы теории эволюционных вычислений. Научная монография
.pdf
упорядочения одного родителя и M родителей, полученные на
3
ln
n
n
очень ограниченном подмножестве задач, свидетельствуют о
некотором преимуществе оператора упорядочения с одним
родителем.
Перспективным направлением расширения когнитивных
возможностей операторных конструкций модели ГА является
использование фрактальных множеств, алгоритмов одномерного
дихотомического поиска, Фибоначчи, золотого сечения и других
поисковых процедур [Гладков, 2009].
Геометрия многих объектов в природе имеет фрактальную
структуру. Фрактальные объекты, как известно, самоподобны.
Преобразования, создающие такие структуры, – это
итерационные процессы с обратной связью, когда одна и та же
операция выполняется снова и снова, аналогично эволюционным
процессам. Здесь результат одной итерации является начальным
условием для другой, а между результатом и реальным
значением существует нелинейная зависимость. Известными
примерами фрактальных множеств являются множество Кантора,
«снежинки» (кривая Коха), ковер Серпинского и другие
множества, обладающие свойством геометрической
инвариантности.
Фракталы характеризуются понятием фрактальной
размерности. Например, для множества Кантора, которое состоит
из N = 2n разделённых интервалов длиной ε = (1/3)n, фрактальная
размерность равна
ФРP
2ln
≈=
.
63,0
Фрактальные множества можно использовать в качестве
«строительных» блоков в эволюционных операторах
кроссинговера, мутации и др., тем самым расширяя их
когнитивные возможности.
Используемые в базовом цикле алгоритма ЭВ
эволюционные операторы можно строить путём использования
процедуры дихотомического поиска. Например, используя
71

дихотомию, можно построить оператор кроссинговера по
следующей схеме.
1. Пусть заданы две родительские хромосомы длины L.
2. Делим хромосому (отрезок L) пополам (при нечетном
размере хромосомы в любую часть берется большее ближайшее
число генов).
3. Точка дихотомии определяет точку разрыва в операторе
кроссинговера.
4. По правилам построения одноточечного кроссинговера
получаем две новых хромосомы-потомка.
5. Каждую половину хромосомы-потомка снова делим на
две части и процесс продолжаем аналогично до тех пор, пока не
будет получено заданное количество хромосом-потомков или
метод дихотомии завершится. При получении нереальных
решений (хромосом с повторяющимися генами) производится
восстановление реальных решений. При этом повторяющиеся
гены меняются на отсутствующие гены из хромосом-родителей.
6. Конец работы алгоритма.
Используя числа Фибоначчи, можно построить оператор
мутации по следующей схеме.
1. В выбранной хромосоме определяем точку разрыва. Она
соответствует третьему числу ряда Фибоначчи.
2. Производим реализацию стандартного оператора
мутации и получаем новую хромосому-потомок.
3. Вычисляем значение ЦФ хромосомы-потомка. Если
получен глобальный оптимум, то конец работы алгоритма.
4. Далее в качестве точки ОМ Фибоначчи выбираем 4, 5,…
числа ряда Фибоначчи и переходим к пункту 3.
5. Алгоритм оканчивает работу по достижению заданного
критерия или когда номер числа ряда Фибоначчи ≥ L.
При выполнении оператора инверсии также может
использоваться, как метода Фибоначчи, так и принципа
«золотого сечения». По методу Фибоначчи построение оператора
инверсии подчиняется следующей схеме.
72

1. Пусть задана родительская хромосома длины L.
2. Точка разрыва оператора инверсии соответствует
третьему числу ряда Фибоначчи.
3. По правилам построения оператора инверсии,
инвертируя правую часть от точки оператора инверсии, получаем
новую хромосому потомка.
4. Далее в качестве точки разрыва выбираем 4, 5,… числа
ряда Фибоначчи и переходим к пункту 3. Алгоритм оканчивает
работу по достижению заданного критерия или когда номер
числа ряда Фибоначчи ≥ L.
5. Конец работы алгоритма.
Процедура построения оператора инверсии на основе
метода «золотого сечения» аналогична построению оператора
инверсии по Фибоначчи. Разница в том, что первая точка разрыва
в операторе инверсии определяется на расстоянии целой части
0,618⋅L от любого края хромосомы. Затем часть хромосомы,
расположенная между точкой разрыва и правым концом
хромосомы, инвертируется. Вторая точка разрыва в новой
хромосоме определяется как ближайшее целое из выражения
(L − 0,618⋅L)⋅0,618. Далее процесс продолжается аналогично до
окончания возможности разбиения хромосомы или по
достижению заданного критерия.
Оператор селекции является чрезвычайно важным в
базовом цикле алгоритма ЭВ, поскольку благодаря ему
хромосомы с более высоким значением целевой функции
получают бóльшую возможность для репродукции, нежели
слабые хромосомы. Тогда имеет смысл обсудить вопрос о
расширении когнитивных возможностей этого процесса в
базовом цикле алгоритма ЭВ, разделив его на два этапа:
собственно селекцию и принятие решения о селективном выборе.
На первом этапе используется селекция на основе рулетки,
когда каждой хромосоме в популяции соответствует на колесе
рулетки зона, ширина которой пропорциональна величине
целевой функции. Проблема состоит в том, что число копий
73

хромосом в списке родителей, предназначенном для
производства потомства, должно принимать целочисленное
значение, вероятность селекции p
) является вещественным
s(āi
числом. Для решения этой проблемы в ГА обычно применяется
универсальная процедура случайной дискретизации
[Гладков, 2009].
Например, если ширина зоны на колесе рулетки для
четырёх родительских хромосом А, В, С и D соответственно
равна 0,625; 0,025; 0,1 и 0,25, то число копий этих хромосом
будет равно 2, 0, 1 и 1 соответственно. С целью практической
реализации выбора на основе рулетки предлагается следующая
программа:
sum:=0
с помощью датчика случайных чисел на интервале [0, 1]
выбрать значение переменной U
for i=1 to µ
begin
sum:=sum+ ps(āi)
до тех пор, пока sum>U
begin
копируем āi в список хромосом для производства
потомков
U:=U+1
end
end
Другими не дискриминационными алгоритмами селекции
являются селекция на основе заданной шкалы, селекция путем
ранжирования и турнирная селекция. Д. Голдберг в
[Goldberg, 1989] ввел понятие «селекционного давления»,
которое измеряется числом t генераций эволюционного процесса,
после которого в популяции получается (µ − 1) лучших
хромосом. Он исследовал алгоритмы селекции на примерах
функций
F(x) = xc и F(x) = exp (c·x)
74

и отметил, что селекционное давление на основе заданной шкалы
имеет порядок О(µ·ln(µ)), селекционное давление на основе
ранжирования − порядок О(ln(µ)), а при селекции на основе
турнирной тактики давление в значительной мере зависит от
размера популяции и турнирных правил.
Проведенными нами эксперименты показали, что при
использовании обычной пропорциональной селекции качество
популяции быстро возрастает до тех пор, пока количество
лучших хромосом не достигнет примерно 50% от общего их
числа. Это объясняется тем, что в начале процесса эволюции
сохраняется гетерогенность популяции, затем по мере
возрастания однородности хромосом, входящих в популяцию,
оператор кроссинговера становится менее эффективным и растет
значение оператора мутации. Иными словами, эффективность
алгоритма ЭВ сильно зависит от баланса между применяемой
схемой селекции и используемыми в базовом цикле
эволюционными операторами. Эта проблема может быть снята
или, по крайней мере, значительно ослаблена за счет линейного
динамического или σ-масштабирования целевых функций
алгоритма ЭВ [Родзин, 2005].
Предлагается следующий способ, расширяющий
когнитивные возможности шага селекции в базовом цикле
алгоритма ЭВ.
Линейное динамическое масштабирование для задачи
поиска максимума целевой функции определяется как
Ф(āi) = γ1·F(Г(āi))−min{F(Г(āj))},
где āj ∈P(t), γ1 – некоторая определяемая пользователем
константа, P(t) – текущая популяция, операция min{} позволяет
удалять «слабые» хромосомы. Если āj ∈P(t−z), z = 0, 1,…, W, то
динамически удаляются «слабые» хромосомы из W предыдущих
генераций популяции.
Масштабирование позволяет учитывать
среднеквадратичное отклонение значений целевой функции и
определяется как
75

Ф(āi) = F(Г(āi)) − (Ē–γ2·σЕ),
где 1 < γ2 < 3, Ē и σЕ − математическое ожидание и
среднеквадратичное отклонение значений целевых функций
хромосом, входящих в популяцию.
Эксперименты показывают, что при использовании
масштабирования селекционное давление несколько возрастает,
однако полностью преодолеть недостатки пропорциональной
селекции не удается.
При селективном ранжировании масштабирование не
применяется, потому что в этом случае вероятность селективного
отбора каждой хромосомы зависит от ее позиции в
упорядоченной последовательности отсортированных в порядке
убывания значений целевых функций множества хромосом
популяции. Если обозначить через E
– математическое
max
ожидание функции качества лучшей хромосомы в популяции, а
через E
– математическое ожидание функции качества худшей
min
хромосомы в популяции, то вероятность селекции по алгоритму
селективного ранжирования определяется как
ps(āi) = 1/µ·[E
max
− (E
max
− E
)·(r(āi) −1)/(µ−1)],
min
где r(āi) – ранг хромосомы, причем сумма ps(āi) равна 1.
Преимуществом алгоритма селективного ранжирования является
то, что его без изменения можно использовать для задач с
отрицательным значением целевой функции, а также для случая
не только максимизации, но и минимизации целевой функции
(требуется лишь сортировка не по убыванию, а по возрастанию).
Недостаток алгоритма селективного ранжирования проявляется
лишь при необходимости быстрой замены хромосом в
популяции.
При турнирной селекции масштабирование не применяется
и, в отличие от селективного ранжирования, нет необходимости
сортировки хромосом в популяции. Согласно размеру «турнира»
случайно с вероятностью 1/µ из популяции выбирается некоторое
число ξ хромосом (2 < ξ < µ), которые копируются в список
76

родительских хромосом для производства потомства. Этот
процесс повторяется µ раз. С помощью величины ξ можно
управлять селекционным давлением. Если ξ = 2, то говорят о
бинарной турнирной селекции. С ростом ξ влияние размера
популяции µ на величину селекционного давления возрастает.
Наоборот, если значение ξ является постоянной величиной, а
величина µ возрастает, то селекционное давление уменьшается.
Преимуществом алгоритма турнирной селекции также состоит в
том, что его без изменения можно использовать для задач с
отрицательным значением целевой функции, а также для случаев
максимизации и минимизации целевой функции. Недостаток
турнирной селекции – теоретически в списке хромосом для
воспроизводства потомков может оказаться µ копий одной и той
же хромосомы. Сходная проблема также возникает в ходе
селекции на основе рулетки.
Отметим также, что для решения многих прикладных задач,
независимо от применяемой схемы селекции, для следующей
генерации выбираются лучшие (элитные) элементы популяции
на основе сравнения целевых функций. Элитная селекция
впервые предложена К. де Йонгом [Jong, 1991]. Она гарантирует,
что лучшие из найденных решений будут долгое время
присутствовать в последующих поколениях, независимо от
деструктивного влияния кроссинговера. При этом возрастает
опасность стагнации популяции вокруг значения локального
оптимума.
Таким образом, когнитивные возможности селекции и
операторов репродукции далеко не исчерпываются известными
подходами в ГА. Еще одной важной особенностью предлагаемой
универсальной концепции ЭВ, инспирированных природными
системами, является то, что она позволяет учесть следующее
обстоятельство.
Качество решения не всегда определяется значением
целевой функции и может варьироваться в процессе
моделирования и практических экспериментов. Например,
77

робастность представленного ранее базового цикла алгоритма ЭВ
может возрасти с помощью применения детерминированного
универсального или N-точечного кроссинговера, однако это
приводит к снижению гетерогенности популяции, которая в
значительной мере определяется операторами кроссинговера.
Аналогом этого является существование ниш в природных
экосистемах, в которых родители замещаются на схожие по
генотипу (или фенотипу) потомки.
Схожесть по генотипу оценивается хэмминговым
расстоянием. Схожесть по фенотипу оценивается евклидовым
расстоянием между парой индивидуумов, из которых выбирается
индивид с лучшим значением функции качества.
Была проведена экспериментальная проверка указанных
способов расширения когнитивных возможностей операторных
конструкций базового цикла алгоритма ЭВ. Проверка
проводилась на трудных задачах многокритериальной
оптимизации, а также задач с мультимодальными целевыми
функциями. Эксперименты показали следующее.
В задачах многокритериальной оптимизации при не пустом
пространстве поиска для любого решения ū
, не принадлежащего
В
множеству Парето-оптимальных решений, всегда найдется хотя
бы одно Парето-оптимальное решение ūА, которое доминирует
над ним, а любые два Парето-оптимальных решения являются
недоминирующими по отношению друг к другу. Если целевая
функция представляется в аддитивной форме вида
F(ū) = k1·F1(ū)+…+kg·Fg(ū),
то задачу оптимизации можно решать отдельно для каждого
целевого критерия без специальной модификации алгоритма ЭВ
с минимальными шансами получить множество Паретооптимальных решений. Для решения трудных задач
многокритериальной оптимизации предлагается использовать
некоторое подмножество хромосом популяции, с которыми
сравнивается случайно выбранная пара хромосом. Если одна из
выбранных хромосом оказывается недоминируемой, то она
78

оставляется для последующей репродукции. Если обе хромосомы
оказываются недоминируемыми, то их разделяют с целью
будущей репродукции. Недоминируемой хромосоме
присваивается ранг 1. Из оставшейся части популяции вновь
выбирается недоминируемая хромосома, которой присваивается
ранг 2 и т.д.
Задачи практической оптимизации, как правило, включают
ограничения на переменные и граничные условия в виде
равенств или неравенств. Как учесть эти условия и ограничения в
ходе эволюционного поиска? Простейший способ – удаление
всех потомков, для которых исходные условия или ограничения
не выполняются – является не очень практичным и затратным с
точки зрения вычислительных ресурсов. Существуют различные
технические приемы для учета ограничений в оптимизационных
задачах [Родзин, 2007 а; Гладков, 2009]. Часть из этих приемов
направлена на то, чтобы уменьшить возможность появления
решений задачи, не являющихся допустимыми. Другие приёмы
состоят в том, чтобы недопустимые решения вообще не
генерировались в ходе выполнения алгоритма ЭВ.
Наиболее универсальным приемом из первой группы, не
зависящим от вида целевой функции и ограничений, считается
введение штрафных функций. Идея их построения состоит в
замене целевой функции данной задачи некоторой обобщенной
функцией, значения которой совпадают со значениями исходной
функции внутри допустимой области, но при приближении к
границе области, а тем более при выходе из нее, резко
возрастают (или убывают) за счет второго слагаемого
обобщенной функции – штрафной функции. Штрафные функции
строятся таким образом, что обеспечивают либо быстрое
возвращение в допустимую область, либо невозможность выхода
из нее. Отметим также, что параметризация штрафных функций
сама по себе является не тривиальной оптимизационной
проблемой.
79

Однако проблему недопустимых решений можно решать,
используя когнитивное декодирование целевой функции,
основанное на различных эвристических приемах в зависимости
от прикладной задачи. Эта гипотеза была экспериментально
проверена на примере классической задачи поиска оптимального
маршрута при транспортировке грузов.
Задача состоит в следующем. Пусть имеется n
потребителей грузов и k транспортных средств ограниченной
грузоподъемности, отправляющихся из центрального депо.
Необходимо минимизировать стоимость перевозки грузов при
ограничениях на время поставки товаров для отдельных
потребителей. Решения задачи кодируются в виде перестановок n
потребителей. Тогда при декодировании упорядочиваются
первые k потребителей и тем самым инициализируются k
маршрутов перевозки грузов. Для остальных (n − k)
потребителей эвристически определяются наилучшие маршруты
при минимальных общих затратах и выполнении всех
ограничений задачи. При этом в ходе эволюционного
моделирования не исключается применение специальных
эволюционных операторов, гарантирующих получение
допустимых решений задачи.
Таким образом, используя общую теорию ЭВ,
инспирированных природными системами, можно значительно
расширить круг практических задач оптимизации и структурного
синтеза, а за счет расширения когнитивных возможностей
операторных конструкций − адаптировать алгоритм ЭВ к
реальному эволюционному процессу путем создания
эффективных разновидностей эволюционных операторов.
Рассмотрим теперь способы, связанные с расширением
когнитивных возможностей моделей генетического
программирования.
В качестве исходной гипотезы для повышения
эффективности алгоритма ГП примем гипотезу о модульном
построении программ, состоящих из главной программы и
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
