Московский государственный университет путей сообщения
Опубликован: 10.10.2014 | Доступ: свободный | Студентов: 865 / 190 | Длительность: 22:10:00
Лекция 3:

Модификации генетических алгоритмов

3.4 Оператор мутации

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

3.4.1 Двоичная мутация

3.4.1.1 Классическая мутация

Этот вид оператора уже рассматривался в простом ГА. Здесь для каждой особи случайно выбирается позиция и с малой вероятностью (от Р_m=0,01 до Р_m=0,001) выполняется инвертирование значения переменной в выбранной позиции. Пример выполнения этого оператора представлен на рис.3.17.

Классическая мутация

Рис. 3.17. Классическая мутация
3.4.1.2 Оператор инверсии

Иногда используется следующий оператор инверсии, фактически являющийся разновидностью мутации. При этом случайным образом выбираются две позиции в особи и далее производится обмен значениями генов между ними. Пример выполнения этого оператора представлен на рис.3.18.

Инверсия

Рис. 3.18. Инверсия

3.4.2 Мутация над вещественными числами

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

Оператор мутации над вещественным числом выполняется следующим образом

V_m=V\pm r\cdot\Delta ( 3.7)

где V,V_m– значения вещественной переменной до и после мутации;

r=0,5(диапазон изменения переменной) и \Delta - случайное число от 0 до 1

Часто для повышения эффективности поиска вероятность мутации и шаг изменяются в процессе решения задачи.

Рассмотрим далее способы изменения вероятности мутации. Мутация с равной вероятностью может привести как к увеличению, так и к уменьшению значения целевой функции. На этапе сходимости ГА к оптимуму целесообразно уменьшать вероятность случайной мутации. Обычно на начальном этапе P_m=0,05\dots 0,1, а на конечном этапе вероятность мутации уменьшают. Для реализации этой процедуры иногда используют метод моделирования отжига (simulation annealing), который дает следующий закон изменения вероятности мутации:

P_m=P_m^0\cdot e^{-\frac{1}{t}} ( 3.8)

где t– номер поколения.

Здесь изменяется шаг мутации. Вначале шаг мутации имеет достаточно большое значение, которое далее постепенно уменьшается. Рассмотрим этот тип оператора для векторного случая

\begin{array}{cl}S_v^t=\langle V_1,V_2,\dots ,V_k,\dots V_m\rangle\\V_k\in[l_k,U_k]\end{array}

В результате выполнения мутации получаем следующий вектор (особь популяции)

\begin{array}{cl}S_v^{t+1}=\langle V_1,V_2,\dots ,V'_k,\dots V_m\rangle\\k\in[1,\dots n]\end{array} ( 3.9)

где компонента вектора вычисляется следуюшим образом

V'_k=\begin{cases}V_k+\Delta(t,U_k-V_k)&\text{при случ. число $=0$}\\V_k-\Delta(t,V_k-l_k)&\text{при случ. число $=1$}\end{cases} ( 3.10)

где \Delta(t,y)\in[0,y] и \Delta(t,y) определяет шаг мутации, который с увеличением номера поколения t уменьшается:

\begin{array}{cl}\Delta(t,y)\to 0\\t\to\infty\end{array}

Один из вариантов реализации функции, определяющей шаг \Delta(t,y),следующий:

\Delta(t,y)=y\cdot\left(1-r^{\left(1-\frac{t}{T}\right)\cdot b}\right) ( 3.11)

где r\in[1,\dots n](r-случайное число) и T – максимальное число поколений; b=2– параметр, определяющий степень неоднородности. На рис.3.19 показан для наглядности график изменения шага мутации, который в пределе стремится к 0.

Уменьшение шага мутации

Рис. 3.19. Уменьшение шага мутации