- •Глава 4. Обоснование целесообразности использования методов генетических алгоритмов к задачам организационного проектирования
- •4.1. Анализ методов моделирования используемых при организационном проектировании
- •4.2. Генетические алгоритмы: основные понятия, операторы, базовый алгоритм
- •4.3. Анализ возможностей использования методов генетических алгоритмов к задачам организационного проектирования
4.2. Генетические алгоритмы: основные понятия, операторы, базовый алгоритм
4.2.1. Общие представления о генетических алгоритмах. Генетические алгоритмы, являясь одной из парадигм эволюционных вычислений, представляют собой алгоритмы поиска, построенные на принципах, сходных с принципами естественного отбора и генетики. Если говорить обобщенно, они объединяют в себе принцип выживания наиболее перспективных особей-решений и структуризированный обмен информацией, в котором присутствует элемент случайности, который моделирует природные процессы наследования и мутации. Дополнительным свойством этих алгоритмов является невмешательство человека в развивающийся процесс поиска. Человек может влиять на него лишь опосредованно, задавая определенные параметры.
Будучи разновидностью методов поиска, с элементами случайности, генетические алгоритмы имеют целью нахождение лучшего, а не оптимального решения задачи. Это связано с тем, что для сложной системы часто требуется найти хоть какое-нибудь удовлетворительное решение, а проблема достижения оптимума отходит на второй план. При этом другие методы, ориентированные на поиск именно оптимального решения, вследствие чрезвычайной сложности задачи становятся вообще неприменимыми. В этом кроется причина появления, развития и роста популярности генетических алгоритмов. Хотя, как и всякий другой метод поиска, этот подход не является оптимальным методом решения любых задач.
Преимущества генетических алгоритмов становятся еще более прозрачными, если рассмотреть основные их отличия от традиционных методов. Основных отличий четыре.
Первое. Генетические алгоритмы работают с кодами, в которых представлен набор параметров, напрямую зависящих от аргументов целевой функции. Причем интерпретация этих кодов происходит только перед началом работы алгоритма, и после завершения его работы для получения результата. В процессе работы манипуляции с кодами происходят совершенно независимо от их интерпретации, код рассматривается просто как битовая строка.
Второе. Для поиска генетический алгоритм использует несколько точек поискового пространства одновременно, а не переходит от точки к точке, как это делается в традиционных методах. Это позволяет преодолеть один из их недостатков - опасность попадания в локальный экстремум целевой функции, если она не является унимодальной, то есть имеет несколько таких экстремумов. Использование нескольких точек одновременно значительно снижает такую возможность.
Третье. Генетические алгоритмы в процессе работы не используют никакой дополнительной информации, что повышает скорость работы. Единственной используемой информацией может быть область допустимых значений параметров и целевой функции в произвольной точке.
Четвертое. Генетический алгоритм использует как вероятностные правила для порождения новых точек анализа, так и детерминированные правила для перехода от одних точек к другим. Выше уже говорилось, что одновременное использование элементов случайности и детерминированности дает значительно больший эффект, чем раздельное.
Прежде чем рассматривать непосредственно работу генетического алгоритма, введем ряд терминов, которые широко используются в данной области.
Выше было показано, что генетический алгоритм работает с кодами безотносительно их смысловой интерпретации. Поэтому сам код и его структура описываются понятием генотип, а его интерпретация, с точки зрения решаемой задачи, понятием фенотип. Каждый код представляет, по сути, точку пространства поиска. С целью максимально приблизиться к биологическим терминам, экземпляр кода называют хромосомой, особью или индивидуумом. Далее для обозначения строки кода мы будем в основном использовать термин "особь".
На каждом шаге работы генетический алгоритм использует несколько точек поиска одновременно. Совокупность этих точек является набором особей, который называется популяцией. Количество особей в популяции называют размером популяции. Поскольку в данном параграфе мы рассматриваем классические генетические алгоритмы, то можем сказать, что размер популяции является фиксированным и представляет одну из характеристик генетического алгоритма. На каждом шаге работы генетический алгоритм обновляет популяцию путем создания новых особей и уничтожения старых. Чтобы отличать популяции на каждом из шагов и сами эти шаги, их называют поколениями и обычно идентифицируют по номеру. Например, популяция, полученная из исходной популяции после первого шага работы алгоритма, будет первым поколением, после следующего шага - вторым, и т.д.
В процессе работы алгоритма генерация новых особей происходит на основе моделирования процесса размножения. При этом, естественно, порождающие особи называются родителями, а порожденные - потомками. Родительская пара, как правило, порождает пару потомков. Непосредственная генерация новых кодовых строк из двух выбранных происходит за счет работы оператора скрещивания, который также называют кроссовером (в русской литературе также кроссинговером) (от англ., crossover). При порождении новой популяции оператор скрещивания может применяться не ко всем парам родителей. Часть этих пар может переходить в популяцию следующего поколения непосредственно. Насколько часто будет возникать такая ситуация, зависит от значения вероятности применения оператора скрещивания, которая является одним из параметров генетического алгоритма.
Моделирование процесса мутации новых особей осуществляется за счет работы оператора мутации. Основным параметром оператора мутации также является вероятность мутации.
Поскольку размер популяции фиксирован, то порождение потомков должно сопровождаться уничтожением других особей. Выбор пар родителей из популяции для порождения потомков производит оператор отбора, а выбор особей для уничтожения - оператор редукции. Основным параметром их работы является, как правило, качество особи, которое определяется значением целевой функции в точке пространства поиска, описываемой этой особью.
Таким образом, можно перечислить основные понятия и термины, используемые в области генетических алгоритмов:
• генотип и фенотип,
• особь и качество особи,
• популяция и размер популяции,
• поколение,
• родители и потомки.
К характеристикам генетического алгоритма относятся:
• размер популяции,
• оператор скрещивания и вероятность его использования,
• оператор мутации и вероятность мутации,
• оператор отбора,
• критерий останова.
Операторы отбора, скрещивания, мутации называют еще генетическими операторами.
Критерием останова работы генетического алгоритма может быть одно из трех событий:
•Сформировано заданное пользователем число поколений.
•Популяция достигла заданного пользователем качества (например, значение качества всех особей превысило заданный порог).
•Достигнут некоторый уровень сходимости. То есть особи в популяции стали настолько подобными, что дальнейшее их улучшение происходит чрезвычайно медленно.
Характеристики генетического алгоритма выбираются таким образом, чтобы обеспечить малое время работы, с одной стороны, и поиск как можно лучшего решения, с другой.
4.2.2. Базовая структура генетического алгоритма. Кратко схема работы ГА представлена на рисунке 5.
Пояснить работу ГА можно следующей пошаговой схемой [7,100,101,102,103,109]:
1.Формирование начальной популяции P0 из v особей (a10,…,av0):
Генерация хромосомного набора из v бинарных строк Е(аkt), удовлетворяющих требованиям, предъявляемым к символьной модели исходной задачи.
Преобразование бинарных строк Е(аkt) в соответствующие им векторы управляемых переменных Хk D и вычисление степени приспособленности u(аkt) для каждой особи аi0, обладающей генотипом Е(Хi).
Особи аi0, k=1,…,v образуют начальную популяцию Рt для поколения t=0.
2. Воспроизводство потомков с наследными признаками родителей:
2.1. Выбор конкретной родительской пары (аkt, ait)Рt для участия в процессе размножения.
2.2. Выбор схемы размножения.
Рисунок 5 – Общая схема работы простого генетического алгоритма
2.3. Построение по выбранной схеме из генотипов родителей E(akt), E(ait) генотипов их потомков E(bit), i>=1, сохраняющих наследственные признаки родителей.
2.4. Преобразование бинарных строк E(bit) в соответствующие векторы управляемых переменных Хk D и вычисление степени приспособленности потомков, обладающих генотипами E(Xi).
2.5. Вычисления повторяются с шага 2.1. до тех пор, пока не будет воспроизведено заданное число потомков.
3. Мутагенез, приводящий к генетическим изменениям родительских признаков:
3.1. Выбор типа мутации.
3.2. Построение по генотипу E(akt) одной из особей akt Pt генотипа E(mit) генотипа особи мутанта mit с помощью конкретного типа мутации.
3.3. Преобразование бинарной строки E(mit) в соответствующий вектор управляемых переменных Xi D и вычисление степени приспособленности мутанта mit, обладающего генотипом E(Xi).
3.4. Вычисления повторяются с шага 3.1. до тех пор, пока не будет создано заданное число мутантов.
4. Естественный отбор:
4.1. Определение среди родителей, потомков и мутантов особей, образующих репродуктивную группу, которая примет участие в естественном отборе.
4.2. Выбор схемы естественного отбора.
4.3. Формирование по выбранной схеме хромосомного набора популяции следующего поколения Pt+1 = (a1t+1,…,avt+1) из особей, принадлежащих репродуктивной группе.
5. Проверка условий окончания процесса эволюции популяции P.
Если условия окончания процесса не выполнены, то происходит смена поколений и все вычисления для популяции следующего (t+1) – го поколения повторяются с шага 2.
В качестве условий окончания процесса эволюции популяции может использоваться одно из следующих неравенств:
t > T
или
Dб(t) = 0.
Выполнение неравенства t > T означает, что эволюция популяции закончена в связи с тем, что она исчерпала свой жизненный цикл; окончание эволюции популяции при равенстве побитового разнообразия текущей популяции Pt нулю означает, что все генотипы в хромосомном наборе популяции Pt совпадают между собой. Существуют и другие условия, например, когда хромосомный набор наиболее приспособленной особи не меняется в течение нескольких поколений; но подобные условия задаются в зависимости от типа решаемой задачи.
4.2.3. Символьная модель в общем представлении. Для реализации любого математического метода необходимо оговорить его символьное представление. В этом разделе оговариваются основы общей символьной модели, в следующих разделах ее представление для операторов отбора, скрещивания и мутации.
Конечное решение задачи обозначим как n - мерный вектор X = (х1,…,хn), X D, где D – область поиска решений. Каждая компонента xi, i = 1,…,n вектора X D может быть закодирована с помощью целого неотрицательного числа
i [0,Ki], i=1,…,n,
где (Ki+1) – число возможных дискретных значений i – й управляемой переменной в области поиска D. Это позволяет поставить во взаимооднозначное соответствие каждому вектору X D вектор с целочисленными компонентами
(x1,…,xn) (1,…,n),
где для каждой компоненты i, i = 1,…,n областью возможных значений являются целые числа от 0 до Ki.
Введем алфавит B2, содержащий только два символа 0 и 1: B2={0,1}. Для того чтобы представить целочисленный вектор =(1,…,n) в алфавите B2 необходимо определить максимальное число двоичных символов , которое достаточно для представления в двоичном коде любого значения i из области его допустимых значений [0,Кi]. Нетрудно видеть, что параметр символьной модели должен удовлетворять неравенству
К<2,
где К = МАХ1≤i≤n(Кi).
Запись произвольного целого неотрицательного числа i = (0≤i≤2) с помощью двоичных символов определяется соотношением
i = i=1 i2-i
где i – двоичное число, равное 0 или 1; -длина двоичного слова, кодирующего целое число i.
В качестве гена – единицы наследственного материала, ответственного за формирование альтернативных признаков особи, примем бинарную комбинацию е(i), которая определяет фиксированное значение целочисленного кода i управляемой переменной xi в обычном двоичном коде, тогда е(i) имеет вид:
-
1
2
…
Одна особь akt будет характеризоваться n генами, каждый из которых отвечает за формирование целочисленного кода соответствующей управляемой переменной. Тогда хромосому можно определить в следующем виде E(X):
i1 |
… |
1 |
i2 |
… |
2 |
… |
… |
… |
in |
… |
n |
e(1) |
e(2) |
… |
e(n) |
||||||||
Ген 1 |
ген 2 |
… |
ген n |
||||||||
Локус 1 |
локус 2 |
… |
Локус n |
||||||||
ХРОМОСОМА |
|||||||||||
Местоположение определенного гена в хромосоме называется локусом, а альтернативные формы одного и того же гена, расположенные в одних и тех же локусах, называются аллелями (аллелеформами).
Хромосому, содержащую в своих локусах конкретные значения аллелей, будем называть генотипом (генетическим кодом) E(akt), который содержит всю наследственную генетическую информацию об особи akt, получаемую от предков и передаваемую затем потомкам. Конечное множество всех допустимых генотипов образует генофонд.
Приняв в качестве внешней среды критерий оптимальности Q(X), мы можем говорить, что степенью приспособленности u(akt) каждой особи akt является численное значение функции Q(X), вычисленное для допустимого решения X особи с именем akt. В общем случае степень приспособленности u(akt) можно задать с помощью следующего выражения:
Q2(X), если решается задача максимизации функции Q(X)
u(akt) = {
1/(Q2(X)+1), если решается задача минимизации функции Q(X)
Фенотипом особи будем считать численные значения вектора управляемых переменных X D.
Необходимо отметить, что выбор символьной модели во многом определяет эффективность и качество применяемых генетических алгоритмов. Для каждого класса задач должна строиться своя символьная модель, отражающая специфику и особенности решаемой задачи.
4.2.4. Скрещивание [102]. Будем считать, что популяция Pt=(a1t,…,avt) представляет собой репродукционную группу – совокупность из v особей, любые две из которых akt,alt Pt, k1 могут размножаться, выступая в роли родителей (akt – мать; alt - отец). Здесь под размножением понимается свойство особей aktP воспроизводить одного или нескольких себе подобных непосредственных потомков (детей) bit, i 1 и обеспечивать у них непрерывность и наследственную преемственность качественных признаков родителей.
Таким образом, этот фактор эволюционного развития популяции приводит к получению новой генетической информации, содержащей различные комбинации аллельных форм генов родительских генотипов.
В терминах задачи воспроизводство себе подобных можно интерпретировать как возможность построения по заданным допустимым решениям xk,xlD нового допустимого решения xiD, а непрерывность и наследственную преемственность – как возможность использования аллельных форм в виде бинарных комбинаций e(i) содержащихся в генотипах родителей E(xk) E(xl), для формирования генотипа E(xi) потомка, тем самым обеспечивая передачу наследственных признаков особей от поколения к поколению на уровне обмена генами.
Рассмотрим механизм размножения двух родительских особей akt,altP путем сигнамии (оплодотворения) их репродуктивных клеток – материнской гаметы (яйцеклетки) E(akt) и отцовской гаметы (сперматозоида) E(alt), каждая из которых является гаплоидом (одинарным набором непарных хромосом E(xk) и E(xl), соответственно).
В процессе сигнамии образуется родительская зигота – оплодотворенная клетка, способная развиваться в новую особь с передачей наследственных признаков (генетической информации) от родителей их потомкам. Зигота в отличие от гамет, является диплоидом, содержащим одну пару из двух неотличимых одна от другой хромосом, которые происходят от "родительских" гамет: одна от материнской гаметы, а другая от отцовской гаметы. Такие хромосомы называются гомологичными хромосомами. В гомологичных хромосомах для всех признаков имеется по два гена, называемых аллельными генами. Аллельные гены принадлежат одному и тому же локусу. В этом смысле локус принадлежит уже не отдельной хромосоме, а совокупности из двух гомологичных хромосом. Каждый локус содержит не менее двух аллелей, которые могут быть как одинаковыми, так и различными. Необходимо заметить, что гены родительских гамет могут существовать более чем в двух аллельных формах, хотя каждая зигота может быть носителем только двух форм аллелей (А или а).
Зиготы, содержащие в аллельных генах гомологичных хромосом одинаковые аллели (АА или аа), называются гомозиготами, а содержащие разные аллели (Аа или аА), называются гетерозиготами. Очевидно, что введенные понятия "гомозигота" и "гетерозигота" определяются относительно конкретного локуса, содержащего аллельный ген.
В результате акта сигнамии аллели родительских гамет могут поменяться местами в аллельных генах гомологичной хромосомы, что позволяет рассматривать следующие ситуация образования зигот:
|
ЗИГОТЫ |
||||||||||||||
Материнская хромосома |
|
А |
|
|
|
А |
|
|
|
А |
|
|
|
а |
|
|
|
|
|
|
|
|
|
↕ |
|
|
- |
|
|||
Отцовская хромосома |
|
А |
|
|
А |
|
|
а |
|
|
А |
|
|||
|
Гомозиготы |
Гетерозиготы |
|||||||||||||
ген из отцовской хромосомы переходит в материнскую хромосому;
ген из материнской хромосомы переходит в отцовскую хромосому;
происходит взаимный обмен генами между материнской и отцовской хромосомами;
отцовская и материнская хромосомы остаются без изменения.
Таким образом, при образовании зигот происходит независимое и случайное расхождение родительских генов по аллельным генам гомологичных хромосом зиготы независимо от того, у какой из родительских гамет они присутствовали до оплодотворения.
Заключительным этапом размножения особей является акт мейоза - процесс образования гамет из родительской зиготы путем независимого расхождения гомологичных хромосом по дочерним гаметам, воспроизводящим потомство. Одна диплоидная зигота может дать начало четырем гаплоидным гаметам (гамете тождественно воспроизводящей отцовскую гамету; гамете, тождественно воспроизводящей материнскую гамету; гамете, являющейся отцовской гаметой, у которой в i-м локусе находится аллель i-го гена из материнской гаметы; гамете являющейся материнской гаметой, в которой в i-м локусе находится аллель i-го гена из отцовской гаметы).
Процесс размножения двух особей должен удовлетворять следующим законам наследственности Менделя.
1. Первому закону Менделя (закону расщепления) о наследовании альтернативных проявлений одного и того же признака, который формулируется следующим образом:
"Два гена, определяющие тот или иной признак, не сливаются и не растворяются один в другом, но остаются независимыми друг от друга расщепляясь, при формировании гамет".
Согласно этому закону гены (или соответствующие им признаки родителей), имеющие одинаковые аллели [eOT(i)=eM(i)], сохраняют свои значения в потомстве, т.е. передаются с вероятностью, равной 1, потомку по наследству. Гены родителей, имеющие разные аллели [eOT(i)eM(i)], передаются потомку по наследству с вероятностью, равной 0,5, т.е. половина гамет оказывается носителем аллели eOT(i), а другая половина - аллели eM(i).
2. Второму закону Менделя (закону независимого расщепления) о независимости комбинирования признаков, который формулируется следующим образом:
"Родительские гены, определяющие различные признаки, наследуются независимо друг от друга".
Согласно этому закону рекомбинация (обмен) генов в акте сигнамии может происходить либо в каком-то одном аллельном гене, либо в нескольких аллельных генах одновременно, т.е. передача аллелей от родителей потомству может происходить в каждом аллельном гене независимо друг от друга. При этом может оказаться, что гаметы потомков либо совпадают с родительскими гаметами, либо отличаются от них в одном или нескольких локусах.
На практике одним из наиболее распространенных является одноточечный кроссовер, когда произвольно или по какому-либо алгоритму выбирается одна точка разрыва и родительские хромосомы обмениваются “хвостами”.
Двухточечный кроссовер и равномерный кроссовер [7] - вполне достойные альтернативы одноточечному оператору. В двухточечном кроссовер выбираются две точки разрыва, и родительские хромосомы обмениваются сегментом, который находится между двумя этими точками. В равномерном кроссовере, каждый бит первого родителя наследуется первым потомком с заданной вероятностью; в противном случае этот бит передается второму потомку и наоборот.
4.2.5. Мутация [7]. В результате размножения воспроизводятся потомки, обладающие свойством преемственности наследственных признаков (генов) родителей. При этом генотипы потомков, как правило, содержат новые сочетания аллельных форм генов родителей, ведущие к новым количественным признакам потомков (фенотипу и степени приспособленности). Однако генетическая информация, содержащаяся в хромосомном наборе родителей и потомков, не меняется, т.к. в результате размножения особей путем сигнамии и мейоза частоты аллелей остаются постоянными, а меняются только частоты генотипов. Источником генетической изменчивости особей являются мутации – изменение качественных признаков особей в результате появления новых аллельных форм в отдельных генах или целиком в хромосоме. Тем самым в каждом поколении мутации поставляют в хромосомный набор популяции множество различных генетических вариаций, присущих особям, которых в дальнейшем будем называть мутантами mkt, k≤1.
Процесс изменения содержания генов в хромосоме особей путем мутаций называется мутагенезом. По сути дела, этот фактор эволюции популяции является источником новой генетической информации, не содержащейся ранее в генах генотипов родителей и их потомков.
Мутации являются случайными в том смысле, что не зависят ни от генетического кода особи, содержащейся в ее генотипе, ни от количественных значений фенотипа и степени приспособленности особи. Они происходят спонтанно с определенными вероятностями, заменяя в одном или нескольких локусах тех или иных генов аллельные формы последних новыми значениями аллелей, которые принадлежат генофонду и отличаются от аллелей всех родительских генотипов в том же самом локусе (гене).
Мутации происходят независимо от того, приносят ли они особи вред или пользу. Они не направлены на повышение или понижение степени приспособленности особи, а только производят структурные изменения в аллельных формах генов, меняя тем самым частоту аллелей по отдельным локусам в хромосомном наборе текущего поколения, что, в свою очередь, приводит к изменению количественных признаков особи. В принципе, комбинация мутаций может привести к возникновению новых форм аллелей в некоторых генах генотипа мутанта, которые обеспечивают увеличение его степени приспособленности к внешней среде.
Эволюция популяции в течение смены нескольких поколений в смысле изменения генетической наследственности представляет процесс одновременного и постепенного изменения, как частот, так и форм аллелей в различных локусах хромосомы. При этом аллели действуют на количественные признаки не изолированно друг от друга. Так, влияние того или иного аллеля на степень приспособленности особи зависит от присутствия или отсутствия в его генотипе других аллелей. Набор аллелей каждого локуса взаимно приспособлен (коадаптирован) с набором аллелей других локусов. Поэтому изменение частот аллелей в одном локусе влечет за собой изменение частот аллелей и в других локусах.
Наиболее простым видом мутаций является точечная мутация, связанная с изменением аллеля родительского гена в одном из бит генной информации (0 заменяется на 1 или 1 заменяется на 0).
Определим интенсивность процесса мутагенеза в t-м поколении как среднее число точечных мутаций M(t), которые могут произойти в хромосомном наборе t-й популяции Pt:
M(t)=v*(n*)*Pm,
где v – численность популяции Pt; n* - длина хромосомы, равная числу битов в бинарной строке E(akt); Pm – вероятность точечной мутации, определяемая как число возможных однобитовых изменений на 100 бит генетической информации. Обычно вероятность мутации очень мала Pm=0,01 или Pm=0,001. Здесь используется n* потому что обычно длина различных генов совпадает, но в том случае, если гены различной длины, более правильным будет заменить запись n* на запись 1+…+n.
Вообще выбор конкретного оператора мутации зависит от конкретной задачи, например в задаче коммивояжера точечная мутация недопустима, поэтому реализуется простая перестановка между двумя битами бинарной строки хромосомы.
4.2.6. Естественный отбор. Третьим фактором эволюции является естественный отбор – процесс, способствующий повышению степени приспособленности особей и предотвращающий разрушительные последствия, которые могут возникнуть в результате мутаций.
Этот процесс можно рассматривать с двух позиций.
Во-первых, как преобразующий фактор, осуществляющий формирование различных форм генотипов вследствие различной степени приспособленности особей, что приводит к образованию популяций с новыми вариабельными признаками, характеризующими популяцию в целом.
Во-вторых, как механизм выживания особей, наиболее приспособленных к условиям внешней среды, и гибели других, имеющих низкую степень приспособленности, в ходе смены поколений. Здесь под гибелью (элиминацией) особей понимается удаление отдельных особей из популяции в последующих поколениях и, следовательно, отстранение их от участия в размножении и воспроизводстве потомства.
Естественный отбор слагается из процессов взаимодействия особей с внешней средой и внутренних процессов, влияющих на вероятность выживания особей. Имеет смысл говорить лишь об индивидуальном естественном отборе, основанном на соперничестве внутри популяции одних особей с другими за право образовать родительскую пару, что, в свою очередь, приводит к уменьшению потомства у менее приспособленных особей. Особи, обладающие более высокой степенью приспособленности, имеют и большую вероятность по сравнению с другими особями выжить и оставить потомство. Вследствие чего полезные признаки, определяемые генами таких особей, будут накапливаться и повторяться в ряде поколений, а вредные или менее полезные признаки будут вытесняться и элиминировать.
На генетическом уровне естественный отбор можно рассматривать как процесс, посредством которого проводится дифференциация генетической информации и наиболее удачные (в смысле обеспечения высокой степени приспособленности) гены и генотипы передаются из поколения в поколение. Однако генетические коды генотипов, возникающие в результате мутаций, передаются потомкам не с одинаковой вероятностью, ибо частоты некоторых из них могут сильно отличаться друг от друга. Если генотипы мутантов не поддерживаются в популяции со значительной частотой, то это означает, что они не приносят пользы своим обладателям. В то же время, если в результате мутаций появляются какие-то удачные аллели, то их частота под действием естественного отбора будет постепенно увеличиваться.
Окончательным результатом естественного отбора может быть полная элиминация того или иного аллеля, либо возникновение устойчивого полиморфизма, когда в хромосомном наборе популяции одновременно присутствует одна, две или более аллелеформ в одном локусе. Чем большее число изменчивых локусов и чем большим набором аллелей представлен такой локус, тем выше вероятность изменения частоты одних аллелей за счет других. Для этого, разумеется, необходимо чтобы происходил естественный отбор, благоприятствующий увеличению степени приспособленности особей, составляющих популяцию последующего поколения, и чтобы генетической изменчивости были подвержены именно те гены, которые оказывают существенное влияние на степень приспособленности.
Сформулируем фундаментальную теорему естественного отбора (теорему Р.Фишера):
Скорость возрастания степени приспособленности популяции в любом t-м поколении равна генетической вариансе степени приспособленности в том же поколении:
S2(t)=1/(v-1)i=1v [u(ait)-uср(t)]2,
где uср(t)=1/v i=1v u(ait), v – численность популяции Pt.
Здесь генетическая варианса является дисперсией распределения особей aktPt по степени приспособленности u(ait) в составе одной и той же популяции Pt. Численное значение генетической вариансы обусловливается различиями в генотипах отдельных особей.
Под репродуктивной группой R(t) будем понимать совокупность из N(t) особей t-го поколения, среди которых только и будет вестись естественный отбор v особей, включаемых в состав популяции Pt+1 следующего поколения.
Существует несколько схем реализующих процесс формирования репродукционной группы.
1. Общая схема.
В репродукционную группу R(t) входят все особи t-го поколения: родители, потомки и мутанты. Тогда численность репродукционной группы N(t) просто совпадает с эффективной численностью N(t) популяции
N(t) = N(t) = v+NП(t)+NM(t),
где v – численность популяции Pt; Nп(t), Nм(t) – численность потомков и мутантов соответственно, воспроизведенных в t-ом поколении.
Учет информации о степени приспособленности особей к внешней среде позволяет сократить численность репродукционной группы.
2. Элитарная схема.
В репродукционную группу R(t) включаются все v родителей aktPt и только те N’п(t) потомков (N’п(t)Nп(t)) и N’м(t) мутантов (N’м(t)Nм(t)), у которых степени приспособленности лучше, чем хотя бы у одного из их родителей. В этом случае численность репродуктивной группы, как правило, меньше эффективной численности популяции.
3. Селекционная схема 1.
Все особи t-го поколения упорядочиваются в порядке убывания значений их степеней приспособленности к внешней среде. Задается численность репродукционной группы N0, например, N0 = 2v. В репродукционную группу включаются только первые N0 из упорядоченных особей, т.е. те особи, для которых ранг r(akt), равный k-ой позиции в упорядоченной последовательности особей, меньше или равен N0.
4. Селекционная схема 2.
Определяется средняя степень приспособленности всех особей t-го поколения:
uср(t)=(1/N(t)) i=1N(t) u(akt).
В репродукционную группу R(t) включаются только те особи, у которых степень приспособленности выше или равна средней степени приспособленности uср(akt).
R(t) = {aktu(akt) uср(t), k = 1,…,N(t)}
Численность репродукционной группы N(t) в этой схеме зависит от значения средней степени приспособленности uср(akt) (N(t)=N(t,uср(akt))) и будет определяться по наибольшему рангу r(akt) той особи akt, для которой еще выполняется условие
u(akt) uср(t).
Селекционные схемы 1 и 2 относятся к схемам типа правого угасающего отбора, т.к. они разделяют всех особей t-го поколения, упорядоченных в порядке убывания их степеней приспособленности, на “хороших” и “плохих”. N(t) “хороших” особей включаются в репродукционную группу R(t), оставшиеся (N(t)-N(t)) ”плохих” особей считаются “погибшими” и исключаются из дальнейшего процесса естественного отбора, т.е. им приписывается нулевая вероятность отбора в популяцию Pt+1 следующего поколения.
Схема жесткого естественного отбора предназначена для быстрого увеличения средней степени приспособленности популяции, но при этом уменьшает генетическое разнообразие популяции, поэтому предпочтительно используется в задачах с одним экстремумом, для быстрого получения решения.
Наиболее просто схема жесткого естественного отбора может быть реализована с помощью оператора пропорционального отбора.
p(akt)=u(akt) / i=1N(t) u(akt), k = 1,…,N(t),
где p(akt) вероятность попадания особи akt в состав популяции Pt+1.
Как видно из приведенного выражения каждая особь имеет потенциальный шанс войти в состав следующей популяции (это называется сохраняющим отбором), но при этом вероятность попадания в следующую популяцию Pt+1 разная в зависимости от степени приспособленности, т.е. носит селективный (избирательный) характер.
Схема мягкого естественного отбора предназначена для более основательного исследования всей области допустимых решений, уменьшение разнообразия популяции происходит медленно и особи с плохой степенью приспосабливаемости тоже имеют равный шанс войти в состав следующей популяции, что позволяет пройти через участок локального экстремума в многоэкстремальных задачах не останавливаясь на ближайшем. Мягкий естественный отбор носит сохраняющий характер.
Наиболее просто реализуется с помощью оператора линейного упорядочения.
p(akt)=1 / N(t) [+-(+--)(k-1)/(N(t)-1)], k=1,…,N(t),
где + - параметр выбираемый случайным образом с равной вероятностью из интервала [1,2];
- = 2 - +.
Частными случаями оператора линейного упорядочения являются:
оператор равновероятностного отбора
p(akt)=1/N(t), k = 1,…,N(t);
оператор рангового отбора (при +=2)
p(akt)=2/N(t)[(N(t)-r(akt)) / (N(t)-1)],
где r(akt)=k – ранг особи akt, равный позиции k, которую занимает особь akt при упорядочении особей aitR(t) в порядке убывания их степени приспособленности u(ait). Из формулы оператора рангового отбора видно, что вероятности отбора особей в популяцию Pt+1 зависят от их рангов r(akt), изменяясь от значения (2/N(t)) до нуля.
Приведенные схемы выбирают из репродукционной группы R(t) особей до тех пор, пока в популяцию Pt+1 не будет включено v особей (a1t+1,…,avt+1), после чего весь процесс развития популяции повторяется.
В настоящее время исследователи ГА предлагают много других операторов отбора. Вот лишь наиболее распространенные из них. Прежде всего, турнирный отбор (Brindle, 1981; Goldberg и Deb, 1991). Турнирный отбор реализует n турниров, чтобы выбрать n особей. Каждый турнир построен на выборке k элементов из популяции, и выбора лучшей особи среди них. Наиболее распространен турнирный отбор с k=2. При k=2 выбираются две особи из популяции, при сравнении значения фитнесс функции выбирается особь с наилучшим значением, после проведения n турниров набирается новая популяция численность n особей.
Элитные методы отбора (De Jong, 1975) гарантируют, что при отборе обязательно будут выживать лучший или лучшие члены популяции совокупности. Наиболее распространена процедура обязательного сохранения только одной лучшей особи, если она не прошла как другие через процесс отбора, кроссовера и мутации. Элитизм может быть внедрен практически в любой стандартный метод отбора.
4.2.7. Основная теорема генетических алгоритмов. Хотя внешне кажется, что ГА обрабатывает строки, на самом деле при этом неявно происходит обработка схем (шим), которые представляют шаблоны подобия между строками [102,103]. ГА практически не может заниматься полным перебором всех точек в пространстве поиска. Однако он может производить выборку значительного числа гиперплоскостей в областях поиска с высокой приспособленностью. Каждая такая гиперплоскость соответствует множеству похожих строк с высокой приспособленностью.
Схема - это строка длины l (что и длина любой строки популяции), состоящая из знаков алфавита {0; 1; *}, где {*} - неопределенный символ. Каждая схема определяет множество всех бинарных строк длины l, имеющих в соответствующих позициях либо 0, либо 1, в зависимости от того, какой бит находится в соответствующей позиции самой схемы.. Например, схема, 10**1, определяет собой множество из четырех пятибитовых строк {10001; 10011; 10101; 10111}. У схем выделяют два свойства - порядок и определенная длина. Порядок схемы - это число определенных битов ("0" или "1") в схеме. Определенная длина - расстояние между крайними определенными битами в схеме. Например, вышеупомянутая схема имеет порядок o(10**1) = 3, а определенная длина (10**1) = 4. Каждая строка в популяции является примером 2l схем.
Строящие блоки [5] - это схемы обладающие:
- высокой приспособленностью,
- низким порядком,
- короткой определенной длиной.
Приспособленность схемы определяется как среднее приспособленностей примеров, которые ее содержат.
После процедуры отбора остаются только строки с более высокой приспособленностью. Следовательно строки, которые являются примерами схем с высокой приспособленностью, выбираются чаще. Кроссовер реже разрушает схемы с более короткой определенной длиной, а мутация реже разрушает схемы с низким порядком. Поэтому, такие схемы имеют больше шансов переходить из поколения в поколение. Голланд показал, что, в то время как ГА явным образом обрабатывает n строк на каждом поколении, в тоже время неявно обрабатываются порядка n3 таких коротких схем низкого порядка и с высокой приспособленностью (полезных схем, "useful schemata"). Он называл это явление неявным параллелизмом. Для решения реальных задач, присутствие неявного параллелизма означает, что большая популяция имеет больше возможностей локализовать решение экспоненциально быстрее популяции с меньшим числом особей.
Теорема схем. Простой ГА экспоненциально увеличивает число примеров полезных схем или строящих блоков. Доказательством этого служит следующая теорема, известная как "теорема схем".
Пусть m(H,t) - число примеров схемы H в t-ом поколении. Вычислим ожидаемое число примеров H в следующем поколении или m(H,t+1) в терминах m(H,t). Простой ГА каждой строке ставит в соответствие вероятность ее выживания при отборе пропорционально ее приспособленности. Ожидается, что схема H может быть выбрана m(H,t) (f(H)/fср.) раз, где fср. - средняя приспособленность популяции, а f(H) - средняя приспособленность тех строк в популяции, которые являются примерами H.
Вероятность того, что одноточечный кроссовер разрушит схему равна вероятности того, что точка разрыва попадет между определенными битами. Вероятность же того, что H "переживает" кроссовер не меньше 1-Pc_((H)//-1). Эта вероятность - неравенство, поскольку схема сможет выжить если в кроссовере участвовал также пример похожей схемы. Вероятность того, что H переживет мутацию - (1-Pm)o(H), это выражение можно аппроксимировать как (1-o(H)) для малого Pm и o(H). Произведение ожидаемого числа отборов и вероятностей выживания известно как теорема схем:
m(H,
t+1)
Теорема схем показывает, что строящие блоки растут по экспоненте, в то время схемы с приспособленностью ниже средней распадаются с той же скоростью.
Гольдберг [102,103] в своих исследованиях теоремы схем, выдвигает гипотезу строящих блоков, которая состоит в том, что "строящие блоки объединяются, чтобы сформировать лучшие строки". То есть рекомбинация и экспоненциальный рост строящих блоков ведет к формированию лучших строящих блоков.
В то время как теорема схем предсказывает рост примеров хороших схем, сама теорема весьма упрощенно описывает поведение ГА. Прежде всего, f(H) и fср. не остаются постоянными от поколения к поколению. Приспособленности членов популяции знаменательно изменяются уже после нескольких первых поколений. Во-вторых, теорема схем объясняет потери схем, но не появление новых. Новые схемы часто создаются кроссовером и мутацией. Кроме того, по мере эволюции, члены популяции становятся все более и более похожими друг на друга так, что разрушенные схемы будут сразу же восстановлены. Наконец, доказательство теоремы схем построено на элементах теории вероятности и следовательно не учитывает разброс значений, в многих интересных задачах, разброс значений приспособленности схемы может быть достаточно велик, делая процесс формирования схем очень сложным. Существенная разница приспособленности схемы может привести к сходимости к неоптимальному решению.
Несмотря на простоту, теорема схем описывает несколько важных аспектов поведения ГА. Мутации с большей вероятностью разрушают схемы высокого порядка, в то время как кроссовера с большей вероятностью разрушают схемы с большей определенной длиной. Когда происходит отбор, популяция сходится пропорционально отношению приспособленности лучшей особи, к средней приспособленности в популяции; это отношение - мера давления отбора ("selection pressure"). Увеличение или Pc, или Pм., или уменьшении давления отбора, ведет к увеличенному осуществлению выборки или исследованию пространства поиска, но не позволяет использовать все хорошие схемы, которыми располагает ГА. Уменьшение или Pc, или Pм., или увеличение давления выбора, ведет к улучшению использования найденных схем, но тормозит исследование пространства в поисках новых хороших схем. ГА должен поддержать тонкое равновесие между тем и другим, что обычно известно как проблема "баланса исследования и использования".
Некоторые исследователи критиковали обычно быструю сходимость ГА, заявляя, что испытание огромных количеств перекрывающихся схем требует большей выборки и более медленной, более управляемой сходимости. В то время как увеличить выборку схем можно увеличив размер популяции [109], методология управления сходимостью простого ГА до сих пор не выработана.
Вывод. Фактически, генетические алгоритмы обладают уникальной по своей простоте и гибкости структурой. При этом, они позволяют легко учитывать большое количество факторов и критериев. Выдают множество субоптимальных решений, могут легко включать в себя другие математические методы.
