Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы теории эволюционных вычислений. Научная монография
.pdf
Раньше, чем разрывать навозную кучу, надо оценить,
сколько на это уйдет времени и
какова вероятность того, что там есть жемчужина
А.Б. Мигдал
3. Алгоритмы эволюционных вычислений,
параллелизм
3.1. Алгоритмы эволюционных вычислений
Генетические алгоритмы
Развитие генетических алгоритмов, как наиболее широко
распространённой разновидности ЭВ, идёт по пути применения
различных способов кодирования хромосом, композиции и
расширения когнитивных возможностей различных генетических
операторов, усложнения поведения алгоритма, когда главным
становится смысловое содержание параметров управления
эволюцией [Kureichik, 2009]. В общей теории ЭВ генетические
алгоритмы представляют собой процедуру поиска, которая
исследует пространство строк определенной длины (генотип) для
нахождения хромосом с относительно высокой величиной
пригодности.
Поиск является одним из универсальных способов решения
задач оптимизации, управления, планирования, прогнозирования,
принятия решений. Процедура поиска лежит в основе
генетических алгоритмов как разновидности ЭВ. Особенность
этой процедуры в том, что нельзя заранее определить
последовательность шагов, приводящих к искомому результату.
В генетических алгоритмах используется сочетание двух видов
поиска одновременно: случайный и локально направленный
поиск. Случайный поиск исследует решение целиком и позволяет
избежать попадания в локальный оптимум. Локальный поиск,
используя лучшие решения, позволяет приблизиться или даже
найти локальный, а, возможно, и глобальный оптимум. От того,
91

насколько идеально алгоритм сочетает оба типа поиска, зависит
конечный результат. Классическими методами такой идеальный
поиск осуществить практически невозможно. Именно
комбинирование элементов направленного и стохастического
типов поиска в генетических алгоритмах приводит к неплохому
балансу между исследованием и использованием поискового
пространства (генотипа).
Генотипы в генетических алгоритмах представляют собой
строки данных определенного типа (чаще всего это двоичная и
вещественная последовательности). Из-за линейной структуры
этих генотипов их часто называют хромосомами. Хромосомы
могут иметь как фиксированную, так и переменную длину. Для
множества S хромосом фиксированной длины справедливо:
∀
S = {
(s[1], s[2],…, s[n])∈Si, ∀i ∈1, 2,…, n},
т.е. локусы генов Si являются постоянными, а их кортежи могут
содержать элементы различных типов. Для множества S
хромосом переменной длины справедливо:
S = {∀list s: s[i]∈Si, ∀0 ≤ i < len(s)},
т.е. позиции генов могут сдвигаться в ходе выполнения
эволюционных операторов.
Процесс выполнения и свойства эволюционных операторов
репродукции на основе фиксированной длины хромосом
достаточно хорошо исследованы [Гладков, 2009]. В частности,
при выполнении 0-арных операторов репродукции этот процесс
описывается формулой вида
reproduction () = (s[1],…, s[n]): s[i] = Si[ rndu()×len(Si) ],
∀i ∈
1, 2,…, n.
При выполнении унарных операций репродукции, в
частности мутации, в хромосоме фиксированной длины
производится случайное изменение гена; в процессе выполнения
оператора пермутации (перестановки) происходит обмен генов в
хромосоме.
При выполнении бинарных операций репродукции,
например кроссинговера, выполняется обмен генов между двумя
92

хромосомами в случайно выбранной одной или нескольких
точках.
Менее изучен процесс и свойства эволюционных
операторов репродукции с переменной длиной хромосом. При
выполнении 0-арных операторов репродукции хромосома имеет
случайную длину L > 0. При выполнении унарных операций
репродукции, в частности мутации, в хромосоме с переменной
длиной производится либо добавление, либо удаление случайно
выбранных генов в любую позицию хромосомы. При
выполнении бинарных операций репродукции, например
кроссинговера, выполняется обмен генов между двумя
хромосомами переменной длины в случайно выбранной одной
или нескольких точках, при этом хромосомы родителей и
потомков могут иметь различную длину.
При подготовке использования генетического алгоритма
для решения частной проблемы первый шаг состоит в
определении пути представления решений задачи в виде
хромосом, т.е. на уровне генотипа, следуя правилам
проектирования и отображения генотипического пространства в
фенотипическое. Желательна предварительная оценка способа
представления (кодирования) решений с учётом свойств
легальности, недостаточности, полноты и причинности.
Проблемными вопросами генетических алгоритмов
являются фундаментальная теорема Холланда, сходимость и
целесообразность их применения для некоторых
оптимизационных задач. Несмотря на определенные успехи,
связанные с решением многих практических задач, основные
положения генетических алгоритмов не выглядят вполне
завершенными. Рассмотрим эти вопросы с позиций общей теории
ЭВ.
Исследование поискового пространства в генетических
алгоритмах происходит путем применения композиции
операторов кроссинговера, мутации, селекции и др. В
генетических алгоритмах оператор кроссинговера применяется
93

как основной, и поведение генетической системы в значительной
степени зависит от него. Оператор мутации, который
осуществляет спонтанные случайные изменения в различных
хромосомах, чаще всего выполняет вспомогательную роль, хотя
эмпирические исследования для некоторых классов задач
показывают более важную роль оператора мутации
[Родзин, 2002]. Тем не менее, генетические операторы
кроссинговера, мутации и некоторые другие проводят случайный
поиск, синтезируют новые решения, однако они не могут
гарантировать появление оптимальных решений.
Известны две гипотезы [Holland, 1975] для объяснения
того, как генетические операторы используют информацию,
распределенную в популяции, для формирования
субоптимальных решений:
•
гипотеза строительных блоков;
•
гипотеза сходимости популяции.
Согласно гипотезе строительных блоков кроссинговер
комбинирует признаки от двух родителей для производства
потомства. Качество потомков зависит от сложного
взаимодействия простых признаков. Поэтому важно, чтобы
оператор кроссинговера в процессе скрещивания был в
состоянии передать потомству те наборы признаков, которые
вносят существенный вклад в оценку качества родительских
хромосом.
Вторая гипотеза предполагает использование свойства
сходимости популяции для ограничения пространства поиска.
Это достигается использованием случайной выборки по функции
распределения хромосом в текущей популяции, в отличие от
гипотезы строительных блоков, которая усиливает комбинацию
существенных признаков из родительской популяции.
Каким образом композиция генетических операторов
поддерживает эти гипотезы? Кроссинговер реально усиливает
генетические алгоритмы, расширяя пространство поиска в
различных направлениях за счёт получения потомков с новой
94

генетической информацией, возможно, более привлекательных,
нежели родители, а также обеспечивая непрерывность и
наследственную преемственность качественных признаков
родителей. С позиций общей теории ЭВ воспроизводство себе
подобных хромосом с помощью оператора кроссинговера можно
интерпретировать как построение нового допустимого решения
по заданным допустимым решениям. Свойства непрерывности и
наследственной преемственности интерпретируются как
возможность использования комбинаций существенных
признаков, содержащихся в генотипах родителей, для
формирования генотипа потомка. Это обеспечивает передачу
наследственных признаков особей от поколения к поколению на
уровне обмена генами.
Механизмы размножения могут быть разными: ген из
отцовской хромосомы переходит в материнскую хромосому; ген
из материнской хромосомы переходит в отцовскую хромосому;
взаимный обмен генами между материнской и отцовской
хромосомами; отцовская и материнская хромосомы остаются без
изменения [Клаг, 2007]. Однако процесс размножения особей
должен удовлетворять первому и второму законам
наследственности Менделя, которые формулируются следующим
образом:
•
два гена, определяющие тот или иной признак, не
сливаются и не растворяются один в другом, но остаются
независимыми друг от друга, расщепляясь при
формировании гамет;
•
родительские гены, определяющие различные признаки,
наследуются независимо друг от друга.
Это означает, что согласно первому закону гены (или
соответствующие им признаки родителей), имеющие одинаковые
аллели, сохраняют свои значения в потомстве, т.е. передаются с
вероятностью, равной 1, потомку по наследству. Гены родителей,
имеющие разные аллели, передаются потомку по наследству с
95

вероятностью, равной 0,5, т.е. половина гамет оказывается
носителем аллели отца, а другая половина – аллели матери.
В соответствии со вторым законом рекомбинация (обмен)
генов может происходить либо в каком-то одном гене, либо в
нескольких генах одновременно, т.е. передача родительских
признаков потомству может происходить в генах независимо
друг от друга. При этом может оказаться, что гаметы потомков
либо совпадают с родительскими гаметами, либо отличаются от
них в одном или нескольких позициях.
Таким образом, кроссинговер может быть описан
следующей последовательностью шагов.
•
из популяции случайно выбираются два потенциальных
родителя;
•
выполняется компьютерная жеребьевка для определения
– проводить или не проводить скрещивание;
•
при положительном варианте ответа на предыдущем шаге
случайно выбирается одна или несколько точек
расщепления;
•
каждая исходная родительская строка перерезается в
точках расщепления;
•
производится обмен генетическим материалом слева и
справа от точек расщепления и соединение полученных
строк для формирования потомства.
В то же время необходимо отметить некоторую
деструктивность кроссинговера, поскольку отдельные удачные
решения могут быть хаотично искажены.
Оператор мутации в генетических алгоритмах является
источником генетической изменчивости, под которой
понимается изменение качественных признаков особей в
результате появления новых аллельных форм в отдельных генах
или целиком в хромосоме. Тем самым в каждом поколении
мутации поставляют в хромосомный набор популяции
множество различных генетических вариаций-мутантов. Самое
главное заключается в том, что этот фактор эволюции популяции
96

является источником новой генетической информации, не
содержащейся ранее в генах родителей и их потомков.
Мутации происходят независимо от того, приносят ли они
особи вред или пользу. Они не направлены на повышение или
понижение степени приспособленности особи, а только
производят структурные изменения в аллельных формах генов,
что приводит к изменению количественных признаков особи.
Однако нельзя отрицать, что, в принципе, комбинация мутаций
может привести к возникновению новых форм в генотипе,
которые обеспечивают увеличение его степени
приспособленности к внешней среде.
Механизмы выполнения мутаций могут быть разными: от
простой одноточечной мутации, связанной с изменением
родительского гена в одном из битов генной информации, до
инверсной мутации, при которой происходит изменение всех
компонентов хромосомы. С точки зрения общей теории ЭВ
оператор мутации вводит элемент вариабельности в популяцию,
так как резко изменяет некоторое решение. Основным
параметром мутации является ее вероятность. Обычно в
генетических алгоритмах ее величина достаточно мала (порядка
0,01), чтобы, с одной стороны, расширить область поиска, а с
другой – не привести к таким изменениям потомков, которые
будут далеки от приемлемых решений [Гладков, 2009].
Оператор селекции обеспечивает движущую силу
дарвиновского естественного отбора в генетических алгоритмах.
Чем больше эта сила, тем быстрее может завершиться
генетический поиск; при меньшей величине этой силы
эволюционный процесс будет протекать медленнее. Селекция
направляет генетический поиск в перспективные «районы»
поискового пространства, используя для этого процедуру
перехода от одной популяции к следующей. Существует много
возможных вариаций селекции – от вычислительно трудоемких
подходов до сравнительно простых схем.
97

Пожалуй, самым известным способом отбора в
генетических алгоритмах является метод рулетки: определяется
вероятность отбора (выживания) для каждой хромосомы
пропорционально величине ее качества (пригодности,
приспособленности) путём вращения колеса рулетки столько раз,
каков размер популяции, выбирая каждый раз одну хромосому
для новой популяции. Иными словами, колесо рулетки, являясь
стохастической процедурой выбора, служит методом отбора.
Некоторые недостатки процедуры отбора по методу рулетки
состоят в том, что уже на ранних этапах эволюции проявляется
тенденция доминирования «очень хороших» особей в процессе
отбора; а на более поздних этапах конкуренция среди таких
хромосом становится менее сильной, и в большей степени
доминирует случайный поиск.
Другим методом отбора является турнирная селекция,
которая одновременно сочетает случайный и
детерминированный подход к отбору. Турниры похожи на
маленькие «бои» между членами популяции, чтобы увидеть, кто
примет участие в следующем поколении. Здесь случайно
определяется множество хромосом, из которого отбираются
лучшие особи для репродукции. Число хромосом в этом
множестве называется размером турнира, который чаще всего
принимается равным 2 (бинарный турнир). После получения
пары хромосомы с более высокой оценкой пригодности
отбираются в новую популяцию. Процесс продолжается до тех
пор, пока не будет сформирована вся популяция.
Ранжированная селекция начинается с упорядочивания
популяции по величине функции качества. Далее каждой
хромосоме присваивается ранг, и хромосомы с более высоким
рангом имеют большую вероятность включения в следующую
популяцию. Функция присваивания может быть линейной или
нелинейной. Эта процедура отбора акцентирует внимание в ходе
селекции на хромосомах, обладающих лучшими
характеристиками.
98

Наконец, кроме указанных способов селекции, существуют
так называемые элитные виды селекции, которые гарантируют,
что в процессе селекции будут сохраняться лучшие (в смысле
пригодности) хромосомы популяции. Элитные методы
рекомендуется применять в сочетании с любой из указанных
выше схем селекции.
Учитывая указанные выше особенности генетических
операторов и положения общей теории ЭВ, обратимся к
фундаментальной теореме Холланда [Holland, 1975]. Холланд
исходил из биологического понимания адаптации как любого
процесса в искусственных системах, посредством которого
структура системы прогрессивно эволюционирует, приводя к
бóльшей эффективности системы в среде, в которой она
функционирует. Формализация процесса адаптации приводит к
понятию шаблона (schema), которое включает в себя
подмножество подобных между собой стрингов в популяции,
совпадающих в определенных позициях хромосомы длиной L.
Шаблон создается за счет введения символа безразличия,
обозначаемого (×), в алфавит генов и представляет все строки,
которые соответствуют ему на позициях, отличных от ×.
Первоначально теоретические результаты, полученные
Холландом, относилась к простейшему генетическому
алгоритму. Этот алгоритм предусматривал бинарное
кодирование, рулеточную селекцию, оператор мутации и
одноточечный кроссинговер. В более поздних исследованиях эти
результаты стали обобщаться на другие формы и модификации
генетических алгоритмов [Родзин, 2007 а].
При использовании генотипов S с фиксированной длиной
хромосом L и двоичным алфавитом (0, 1) позиция гена в
хромосоме (локус) определяет свойства генотипа. Шаблон
характеризует множество хромосом, имеющих локусы,
совпадающие в определенных позициях. Шаблон фиксированной
длины L при двоичном кодировании может включать 2
L
хромосом.
99

Рассмотрим пример. Шаблон H
(1,0,0)
(0,0,1)
(0,0,0)
(0,1,0)
(
1,0,1)
(0,1,1)
(1,1,0)
(1,1,1)
= 1×× длины 3 описывает
1
множество экземпляров хромосом {100, 101, 110, 111}, алфавит
которых состоит из символов 1, 0 и неопределенного значения
(×), которое может быть или 0, или 1. Отдельные хромосомы
одновременно могут принадлежать разным шаблонам. Например,
хромосома 101 одновременно принадлежит шаблонам H2 = 10×
или H3 = 1×1. Шаблон H1 по сравнению с H2 и H3 содержит
меньшее число заранее фиксированных двоичных значений. Это
число называется порядком шаблона H и обозначается через
о(Н), т.е. о(H1) = 1, о(H2) = о(H3) = 2. Расстояние между первой и
последней фиксированными позициями называется длиной
шаблона и обозначается через d(H). Например, d(H1) = 0,
d(H2) = 1, d(H3) = 2. На рис. 7 представлены отдельные шаблоны
и хромосомы для рассмотренного примера.
s2
H3
H2
H1
s0
s1
Рис. 7. Пример шаблонов хромосом с фиксированной длиной,
равной 3
Если популяция содержит µ хромосом, то в зависимости от
ее гетерогенности число экземпляров шаблонов колеблется от 2L
до µ·2L. Таким образом, хотя в процессе работы генетического
алгоритма при фиксированном размере популяции ps текущая
популяция включает µ хромосом, однако неявно алгоритм
обрабатывает существенно бóльшее, нежели µ, число шаблонов
100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
