Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700309.doc
Скачиваний:
20
Добавлен:
01.05.2022
Размер:
2.4 Mб
Скачать

7.5.4.6.Простой генетический алгоритм

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

Далее организуется циклический процесс смены поколений:

for (k=0; k<G; k++)

{ for (j=0; j<N; j++)

{ Выбор родительской пары хромосом;

Кроссовер;

Мутации;

Оценка функции полезности F потомков;

Селекция;

}

Замена текущего поколения новым;

}

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

Рассмотрим алгоритмы выполнения операторов в простом генетическом алгоритме.

Выбор родителей. Этот оператор имитирует естественный отбор, если отбор в родительскую пару хромосом с лучшими значениями функции полезности F более вероятен. Например, пусть F требуется минимизировать. Тогда вероятность Pi выбора родителя с хромосомой Сi можно рассчитать по формуле

(7.65)

где Fmax – наихудшее значение целевой функции F среди экземпляров (членов) текущего поколения, Fi – значение целевой функции i-ro экземпляра.

Правило (7.65) называют правилом колеса рулетки. Если в колесе рулетки выделить секторы, пропорциональные значениям Fmax-Fi, то вероятности попадания в них суть Рi, определяемые в соответствии с (7.65).

Пример. Пусть N=4, значенияFi и Pi приведены в табл. 7.6.

Таблица 7.6

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

Таблица 7.7

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

Селекция. После каждого акта генерации пары потомков в новое поколение включается лучший экземпляр пары.

Внутренний цикл заканчивается, когда число экземпляров нового поколения станет равным N. Количество повторений G внешнего цикла чаще всего определяется автоматически по появлению признаков вырождения (стагнации) популяции, но с условием не превышения заданного лимита машинного времени.

7.5.4.7.Разновидности генетических операторов

Возможны отклонения от представленной выше в простом генетическом алгоритме схемы вычислений.

Во-первых, допустимы схемы многоточечного кроссовера.

Во-вторых, отметим ситуации, когда на состав аллелей наложены некоторые дополнительные условия. Например, пусть в задаче разбиения графа число вершин в подграфах A1 и А2 должно быть N1 и N2 и пусть k-й аллель, равный 1, означает, что вершина k попадает в А1 если же k-й аллель равен 0, то в А2. Очевидно, что число единиц в хромосоме должно равняться N1 число нулей – N2. Тогда при рекомбинации левый участок хромосомы берется от одного из родителей без изменений, а в правом участке (от другого родителя) нужно согласовать число единиц с N1 тем или иным способом.

Один из способов – метод РМХ (Partially Matched Crossover). Для иллюстрации РМХ рассмотрим пример двухточечного кроссовера в задаче, когда в хромосоме должны присутствовать, причем только по одному разу, все значения генов из заданного набора. Пусть в примере этот набор включает числа от 1 до 9.

В табл. 7.8 первые две строки представляют родительские хромосомы. Третья строка содержит хромосому одного из потомков, сгенерированного в результате применения двухточечного кроссовера (после второго и пятого локусов). Полученная хромосома не относится к числу допустимых, так как в ней значения генов 1, 2 и 9 встречаются дважды, а значения 3,4 и 5 отсутствуют. Четвертая строка показывает результат применения РМХ. В этом методе выделяются сопряженные пары аллелей в одно­именных локусах одной из рекомбинируемых частей. В нашем примере это пары (3 и 1), (4 и 9), (5 и 2). Хромосома потомка просматривается слева направо; если повторно встречается некоторое значе­ние, оно заменяется на сопряженное значение. Так, в примере в локусах 3, 5 и 9 повторно встречающиеся аллели 1, 2 и 9 последовательно заменяются на значения 3,5 и 4.

Таблица 7.8

1

2

3

4

5

6

7

8

9

3

7

1

9

2

4

8

6

5

1

2

1

9

2

6

7

8

9

1

2

3

9

5

6

7

8

4

Мутации. Бывают точечными (в одном гене), макромутациями (в нескольких генах) и хромосомными (появление новой хромосомы). Обычно вероятность появления мутации указывается среди исходных данных. Но возможно автоматическое регулирование числа мутаций при их реализации только в ситуациях, когда родительские хромосомы различаются не более чем в К генах.

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

Другой вариант селекции – отбор после каждой операции скрещивания двух лучших экземпляров среди двух потомков и двух родителей.

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

Примечание. Хромосому X* будем называть точкой локального минимума, если F(X*)<F(Xi) для всех хромосом Xi отличающихся от X* значением единственного гена, где F(X) – значение функции полезности в точке X.

Следующий вариант селекции – отбор N экземпляров среди членов репродукционной группы, которая составляется из родителей, потомков и мутантов, удовлетворяющих условию Fi < t, где t – пороговое значение функции полезности. Порог может быть равен или среднему значению F в текущем поколении, или значению F особи, занимающей определенное порядковое место. При этом мягкая схема отбора – в новое поколение включаются N лучших представителей репродукционной группы. Жесткая схема отбора – в новое поколение экземпляры включаются с вероятностью qi:

где Nr размер репродукционной группы.

Переупорядочение. Кроме перечисленных основных операторов, находят применение некоторые дополнительные. К их числу относится оператор переупорядочения генов – изменения их распреде­ления по локусам.

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