Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы теории эволюционных вычислений. Научная монография
.pdf
специальных модулей-функций, генерируемых в ходе
моделирования эволюции. Были проведены эксперименты для
проверки гипотезы на примере классической задачи о
параллелепипедах [Курейчик, 2002]. Постановка задачи состоит в
следующем. Два параллелепипеда задаются тремя парами
переменных: длина, ширина и высота параллелепипеда. Целевой
функцией является минимизация разницы между объемами
параллелепипедов. В исходной случайно сгенерированной
популяции имеются несколько различных вариантов исходных
значений для переменных в задаче. Были установлены стартовые
условия в задаче: множество terminal set
T = {L
, B1, H1, L2, B2, H2}; множество function set F = {+,−,*,%} и
1
функция качества, указывающая на абсолютную ошибку,
определяемую разностью между желательным значением
целевой функции и тем значением, которое получается
программно. В результате моделирования на 11-м шаге эволюции
было получено правильное алгебраическое выражение.
Если использовать предлагаемый способ модульного
построения программ, включив в нее главную программу и две
подпрограммы-функции от трех аргументов, то в результате
моделирования на 13-м шаге эволюции было получено
правильное алгебраическое выражение. Для задачи двух
параллелепипедов с точки зрения вычислительной трудоемкости
и структурной сложности преимущество было за классической
моделью ГП. Однако был найден целый ряд примеров,
свидетельствующих об обратном [Родзин, 2002].
В частности, проводились эксперименты, связанные с
решением задачи синтеза булевых функций, зависящих от
нескольких переменных и принимающих значение true, если
четное число аргументов (включая нуль) принимают значение
true. В противном случае булева функция принимает значение
NIL (константа, обозначающая список, в котором нет ни одного
элемента). Для оценки функции качества использовались
комбинации булевых переменных. Результаты моделирования
81

однозначно свидетельствуют о преимуществе ГП с модульным
r
r
σ
r
r
α
r
α
r
∈
α
r
α
r
⋅+=
′
βαα
построением программ как по структурной сложности решений,
так и по вычислительной трудоемкости.
Общая теория ЭВ дает также определенные преимущества
в расширении когнитивных возможностей алгоритмов
эволюционных стратегий. В рассмотренной ранее в разделе 1.4
базовой модели ЭС мутация отдельных переменных проводится
независимо. Опираясь на общую теорию ЭВ, предполагается
ускорить процесс продвижения к оптимуму с учетом ландшафта
целевой функции, используя коррелируемый оператор мутации
[Rodzin, 2002].
Идея коррелируемой мутации реализуется с помощью
дополнительного параметра ЭС. Назовем этот параметр углом
a
ротации. Каждое решение
(i=1, 2,…, µ) в популяции будет
i
теперь состоять из трех элементов:
где
a
i
x
= (
i
,
,
),
ii
i
[-π, π] − угол ротации, который является внутренним
параметром ЭС и от которого зависят скорость сходимости
алгоритма оптимизации и адаптивные возможности ЭВ.
Предварительная проверка этой гипотезы путем
экспериментального моделирования показывает, что
использование
как дополнительного параметра ЭС требует
i
модификации ранее рассмотренной базовой схемы ЭС на
следующих этапах:
−
инициализация. Случайный выбор угла ротации на
интервале [-π, π] по закону равномерного распределения;
−
рекомбинация. Угол ротации является рекомбинируемым
параметром;
−
мутация потомков. В рассмотренной ранее схеме мутации
с учетом
производятся следующие изменения:
i
σ'k = σk exp (ι1 N (0, 1) + ι2 Nk (0, 1));
N
)1,0(
jjj
;
82

),,0(
r
r
r
r
r
r
r
r
r
r
r
⋅−+⋅=
ασ
,
− случайный вектор, образованный из
где
N
Nxx +=
jjj
),,0(
j
ασ
ковариационной матрицы n-мерного нормального распределения
с вектором математического ожидания
0
. Эксперименты
показывают, что указанное изменение ЭС за счет коррелируемой
мутации не требует каких-то значительных затрат, положительно
влияя на сходимость ЭС.
Когнитивные возможности ЭС могут быть расширены за
счет использования различных форм операторов репродукции. В
частности, схема рекомбинации двух родителей вида
xuxux
)1(
jРjjРjjП
,2,1,
может быть представлена следующим образом:
Родитель1: | 4.0 | 6.2 | 1.8 | 0.2 |
Родитель2: | 8.0 | 3.6 | 0.8 | 0.7 |
u
: 0.9 0.5 0.2 0.6
j
u
1-
: 0.1 0.5 0.8 0.4
j
Потомок: | 4.4 | 4.9 | 1.0 | 0.4 |
У исследователей ЭС нет общего мнения о том, какая из
форм рекомбинации имеет преимущество. Для унимодальных
целевых функций наиболее подходящей является форма
рекомбинации, при которой фенотип потомка складывается из
фенотипов нескольких родителей. Для мультимодальных
функций более подходящей является рекомбинация в
традиционной дискретной форме. Для параметров ЭС
рекомендуется применять рекомбинацию, предусматривающую
одновременное участие многих родителей.
Оператор селекции также расширяет возможности
адаптации ЭС. При (µ + λ)-селекции новая популяция образуется
из объединенного множества родителей и потомков и включает в
себя элитные индивиды, имеющие лучшие значения функции
качества. Эксперименты свидетельствуют в пользу (µ, λ)селекции, которая имеет очевидные преимущества перед (µ+λ)-
83

селекцией прежде всего при решении проблемы «локальных ям»
≤
и с точки зрения адаптивных свойств ЭС.
В самом деле, при (µ+λ)-селекции индивид с лучшим
значением функции может неоправданно долгое время
переходить из одной популяции в другую, обладая при этом
неудачно установленным параметром ЭС. В [Rechenberg, 1994]
исследовалась (1+1)-селекция и было высказано предположение
о том, что доля успешных мутаций по сравнению с их общим
количеством должна составлять примерно 1/5, а сама (1+1)селекция может рассматриваться как один из видов случайной
градиентной стратегии. При (µ, λ)-селекции продолжительность
жизни отдельного индивида является ограниченной. Отметим
также эффективность соревновательных (турнирных) форм
селекции в случае их реализации на параллельных вычислителях.
С этой целью из объединенного множества родителей и
потомков случайно по закону равномерного распределения
выбираются ξ индивидов (2
копируется в следующую популяцию P
ξ < µ + λ), часть из которых
.
t+1
Отметим также, что в традиционных подходах к ЭС их
применяют для задач оптимизации с непрерывными
переменными. В предлагаемой теории ЭВ, инспирированных
природными системами, нет принципиальных затруднений для
использования ЭС в дискретной оптимизации. С этой целью при
выполнении оператора мутации можно применять другие виды
законов распределения, например, биномиальную мутацию
[Родзин, 2005]. Можно также использовать представленную
выше базовую схему ЭС, округляя значения переменных и
функций. Аналогично можно действовать при решении задач
целочисленной оптимизации, а также в случае, если задача
оптимизации имеет комбинированный характер. Другой путь
предлагается в [Rechenberg, 1994], однако при этом непрерывные
переменные используются лишь во внутреннем цикле базовой
схемы ЭС при генерации потомков с дальнейшей их
модификацией в дискретные переменные во внешнем цикле.
84

Отметим, что проблемы смешанной оптимизации вообще
являются характерными для многих прикладных задач.
Для расширения когнитивных возможностей,
теоретического и практического развития идей эволюционного
программирования в теории ЭВ необходимо решить следующие
проблемы:
•
если глобальный оптимум функции качества в модели ЭП
отличается от 0, то это негативно влияет на устойчивость
алгоритма ЭП;
•
если значения функции качества являются очень
большими, то поиск становится квазислучайным;
•
если пользователь не обладает информацией о
глобальном оптимуме, то согласование и подбор функции
скаляризации, используемой в модели ЭП, становится
затруднительным;
•
необходимость установки 2·n значений параметров
эволюции kj и zj выдвигает перед пользователем
дополнительные оптимизационные трудности, даже если он
использует стандартную установку (kj = 1, zj = 0).
Преодоление этих проблем, присущих рассмотренной в
разделе 1.5 базовой модели ЭП, требует ее модификации с целью
повышения адаптивных свойств ЭП. Укажем на возможный
способ модификации ЭП, расширяющий когнитивные
возможности этой разновидности моделей ЭВ.
Пусть популяция составляется не из векторов Ā
(i = 1, 2,…, µ), а из векторов Ēi = (Āi, ūi ), где ūi – вектор
среднеквадратичного отклонения, элементы которого uj ∈Rn+
(j = 1, 2,…, n). Тогда речь может идти о следующих отличиях
модифицированной ЭП от рассмотренных ранее этапов базовой
модели ЭП. Предварительные эксперименты с моделью ЭП
i
[Родзин, 2002; Курейчик, 2003] показывают, что на этапе
инициализации для каждого вектора Āi дополнительно
образуется вектор ūi на основе равномерного распределения в
интервале [0, β], где β > 0 является параметром эволюции,
85

который требует адаптации к каждому конкретному классу задач.
На этапе генерации потомков отличие состоит в операторе
мутации. В частности, потомок
Ē'i = (Ā'i , ū'i),
где u'j = uj + uj α Nj (0,1), a'j = aj + u'jNj (0,1). Отметим, что, если
коэффициент α выбрать слишком большим, величина u'j может
стать отрицательной и тогда она заменяется на некоторое малое
ε > 0. Если α выбрать слишком малым, то проявляется тенденция
замедления эволюции. Рекомендуемое значение α = 1/6.
Заслуживает внимания и другая идея. Речь идет о
программируемой мутации путем использования
ковариационной матрицы, составленной из коэффициентов
корреляции.
Перспективным направлением диверсификации и
адаптации ЭП является также изменение процедур генерации
потомков и селекции. Например, на этапе генерации потомков из
популяции с помощью закона равномерного распределения в
интервале [1, µ] случайно выбирается родитель, из которого
путем применения того или иного варианта оператора мутации
получают потомка. Далее, потомок оценивается, добавляется в
популяцию, размер которой становится равным (µ+1), после чего
производится детерминированная селекция путем исключения из
популяции слабой особи.
2.7. Базовый цикл эволюционных вычислений
Следствием общей теории ЭВ является наличие базового
цикла в алгоритме ЭВ, графическое изображение которого
приводится на рис. 6 [Родзин, 2009 б].
Из рис. 6 видно, что базовый цикл включает следующую
последовательность шагов: вычисление целевой функции, оценку
качества решений, селективный отбор решений для репродукции
и репродукцию, т.е. создание новых решений.
86

решений
)
Фенотип
Х
Генотип
G
Целевая функция
Популяция
Популяция
алгоритма ЭВ
Инициализация
популяции
Генотип G
Операторы
Вычисление
целевой функции
Репродукция
(
создание новых
Оценка
качества
решений
Селекция
(
выбор для
репродукции
Рис. 6. Базовый цикл алгоритма эволюционных вычислений
)
предлагаемой общей теории ЭВ, инспирированных природными
системами, и является неотъемлемым элементом структуры
системы ЭВ.
следующий вид:
Базовый цикл соответствует основным положениям
Алгоритм организации вычислений в базовом цикле имеет
Input: Функция для оценки качества решений cmpF;
Input: ps – размер популяции решений;
Data: t – текущий номер поколения;
Data: P(t=0) – исходная популяция решений;
Data: параметры алгоритма, включая целевую функцию;
87

Output: X* – найденное оптимизированное решение;
begin
t: = 0;
Pop:= init Pop(ps) /*функция init выполняет случайную
инициализацию популяции и будет представлена
ниже */;
while (критерий останова) do
v: = F (Pop, cmp
);
F
P(t): = selection (Pop, v) ;
t:= t + 1;
Pop: = P(t) /*репродукция потомков из отобранных
родительских решений с использованием композиции
операторов эволюции A: P(t+1) = A(P(t))*/;
return /*восстановление фенотипа Pop*/;
end.
Базовый цикл ЭВ не исключает существование различных
стратегий организации популяции в эволюционном алгоритме.
Например, стратегия вымирания предполагает, что популяция на
следующем шаге эволюции состоит только из потомков
предыдущей популяции (в области генетических алгоритмов
стратегия вымирания соответствует так называемым
поколенческим алгоритмам [Растригин, 1981], в которых
очередная популяция не содержит родительских хромосом, а
включает лишь хромосомы сгенерированных потомков).
Другой стратегией является способ, когда популяция на
следующем шаге эволюции Р(t+1) формируется как комбинация
текущей популяции Р(t) и образованных на ее основе потомков.
В этом случае продолжительность жизни отдельных особей в
популяции может превышать одно поколение, следовательно,
родители и их потомки конкурируют друг с другом за
выживание. Например, в такой разновидности эволюционных
алгоритмов, как эволюционные стратегии, для описания
перехода от одного поколения к другому используются
следующие обозначения:
λ −
число потомков,
88
µ −
число

µ, λ
родителей. Тогда запись вида (
) при λ ≥ µ в поколенческом
алгоритме означает, что из созданных λ потомков от µ родителей
(λ − µ) худших потомков будут исключены из следующего
поколения. Стратегия (λ + µ) при λ > µ будет обозначать, что в
следующее поколение будут отобраны по определенной
стратегии µ особей из родителей и их потомков.
Ещё одной стратегией организации популяции в
эволюционном алгоритме является элитизм: в следующем
поколении обеспечивается сохранение, по крайней мере, одного
лучшего решения из текущего поколения. Следствием этой
стратегии является то, что если найден глобальный оптимум, то
эволюционный алгоритм гарантирует сходимость процесса ЭВ,
хотя возрастает риск попадания в «локальную яму».
Алгоритм организации элитизма в процессе эволюционных
вычислений, представленный на псевдокоде, имеет следующий
вид:
Input: Функция для оценки качества решений cmpF,
представляющая собой компаратор, сравнивающий качество
решений;
Input: ps – размер популяции решений;
Input: as – размер архива элитных решений;
Data: t – текущий номер поколения;
Data: P(t=0) – исходная популяция решений;
Data: Arc – архив элитных решений;
Data: параметры алгоритма, включая целевую функцию;
Output: X* − найденное оптимизированное решение;
begin
t: = 0;
Arc: = ∅;
Pop: = init Pop(ps);
while (критерий останова) do
Arc: = updateOptimalSetN(Arc, Pop) /*обновленное
оптимальное множество*/;
89

Arc: = pruneOptimalSet(Arc, as) (сокращение
оптимального множества решений до размера ps);
v : = функция качества (Pop, Arc, cmp
);
F
Р(t): = селекция (Pop, Arc, v, ps);
t: = t + 1 ;
Pop : = репродукция P(t) ;
return /*восстановление фенотипа оптимального множества
решений
(Pop ∪ Arc)*/;
end.
Уточним различия в представленных выше на псевдокоде
алгоритмах, реализующих базовый цикл ЭВ и стратегию
элитизма.
Во-первых, создается архив Arc элитных решений, который
первоначально является пустым множеством, а затем
обновляется функцией «updateOptimalSetN», которая сохраняет и
обновляет полученные элитные решения (алгоритмы реализации
этой функции будут подробно рассматриваться в последующих
разделах). Во-вторых, если множество элитных решений
становится слишком большим, то функция «pruneOptimalSet»
сокращает его до величины ps. В принципе, в алгоритмах,
построенных по принципам, отличным от элитизма, такой архив
можно сделать пустым множеством (Arc: = ∅).
Ещё одним следствием общей теории ЭВ является вывод о
том, что популяция большого размера необязательно будет
приводить к лучшему по качеству решению [Букатова, 1979;
Родзин, 2007 б].
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
