Основная идея эволюции, заложенная в различные конструкции генетических алгоритмов, проявляется в способности «лучших» хромосом оказывать большее влияние на состав новой популяции за счет длительного выживания и более многочисленного потомства.
Простой генетический алгоритм включает операцию случайной генерации начальной популяции хромосом и ряд операторов, обеспечивающих генерацию новых популяций на основе начальной.
Репродукцией называется процесс копирования хромосом с учетом значений целевой функции, т.е. хромосомы с «лучшими» значениями целевой функции имеют большую вероятность попадания в следующую популяцию. Этот процесс является аналогией митозного деления клеток. Выбор клеток (хромосом) для репродукции проводится в соответствии принципом «выживания сильнейшего». Простейшим способом представления операции репродукции в алгоритмической форме является колесо рулетки, в котором каждая хромосома имеет поле, пропорциональное значению целевой функции.
Рассмотрим пример применения простого генетического алгоритма для максимизации функции
Значения аргумента функции f{x)=x2, изменяющегося в интервале от 0 до 31, можно представить пятиразрядными двоичными числами. Первоначальная популяция, состоящая из четырех строк пятиразрядных чисел, полученная с помощью процедуры генерации случайных чисел, приведена во втором столбце табл. 6.1. Значение целевой функции для каждой хромосомы определяется путем возведения в квадрат значения двоичного числа, кодирующего решение х. Претенденты для скрещивания (кроссин-говера) могут выбираться из начальной популяции или после выполнения оператора репродукции.
Репродукция начального множества заключается в четырехкратном вращении колеса рулетки (4 — мощность популяции), в результате чего состав исходной популяции может измениться (рис. 6.5). Вероятность выбора i-й хромосомы вычисляется по формулеЗначение N для первой хромосомы будет равно 0.14×4—0.56 копий, для второй — 0.49 х 4 —1.96 копий, для третьей — 0.06 х 4 = = 0.24 и для четвертой — 0.31×4=1.24.
На шаге 2 с помощью колеса рулетки осуществляется выбор хромосом для кроссинговера. Поля колеса рулетки соответствуют нормированным значениям целевой функции. Указатель рулетки после останова колеса определяет выбранную хромосому. Следует заметить, что случайный механизм не гарантирует выбора лучших хромосом, т.е. иногда результатом выбора могут оказаться хромосомы с низкими значениями целевой функции.
После репродукции выполняется оператор кроссинговера, который может повторяться несколько раз. При этом каждый раз будет осуществляться выбор двух кандидатур из множества хромосом. Затем каждая пара хромосом (стрингов) пересекается. Место пересечения К выбирается случайным образом на интервале (1, L-\), где L — длина хромосомы, определяемая количеством значащих цифр в ее двоичном коде. В нашем случае L = 5. Две новые хромосомы создаются путем взаимного обмена всех значений после точки пересечения, т.е. между позициями (К + 1) и L. При выборе двух первых хромосом из популяции (см. табл. 6.1) и значения К = 4 до применения оператора кроссинговера имеем описание:
а после применения оператора кроссинговера получаем описание
Аналогично были получены потомки от третьей и четвертой хромосом.
Анализ полученных результатов (см. табл. 6.2) показывает, что после проведения одной генерации улучшились и среднее, и максимальное значение целевой функции по сравнению с начальной популяцией (см. табл. 6.1).
Согласно схеме простого генетического алгоритма на шаге 3 выполняется оператор мутации, который играет существенную роль в естественной генетике и эволюции, но менее значим в генетических алгоритмах. Обычно выбирают одну мутацию на 1000 бит. Оператор мутации относится к унарным операциям и реализуется в два этапа.
Этап 1. В хромосоме
Этап 2. Гены, соответствующие выбранным позициям, меняют
Если длина обрабатываемых последовательностей невелика, то в процессе мутации можно осуществить полный перебор возможных перестановок генов и найти комбинацию с максимальным значением целевой функции. При длине хромосомы _=50 — 200 полный перебор вариантов становится затруднительным, поэтому здесь производится случайно-направленный поиск, который может быть реализован на основе простого генетического алгоритма. Рассмотрим этот механизм на исследуемой задаче.
Выберем третью хромосому из пятого столбца табл. 6.2 со значением целевой функции
У новой хромосомы
Значение целевой функции для хромосомы
В генетических алгоритмах и эволюционном программировании используют два основных механизма воспроизводства хромосом:
В генетических алгоритмах в основном используется механизм родительского воспроизводства с рекомбинацией и мутацией, а в эволюционном программировании — механизм на основе мутации без рекомбинации.
В алгоритмических реализациях механизма воспроизводства хромосом следует придерживаться следующих правил.
Если основа оригинала (карты пли плана) прозрачна, то копию можно снять при помощи стола со…
Определение координат точки. Пусть точка А (рис. 32) находится в квадрате, абсциссы и ординаты вершин…
Рельефом местности называется совокупность неровностей физической поверхности земли. В зависимости от характера рельефа местность делят…
Для обозначения на планах и картах различных предметов местности, применяются специально разработанные условные знаки. Для обличения…
В инженерной геодезии чаще всего пользуются топографическими картами. Их составляют в масштабах 1:10000, 1:25000, 1:50000…