
- •Скобцов ю.А. «эволюционные вычисления»
- •3 Источника эволюционных вычислений
- •Генетические алгоритмы
- •Генетические операторы Репродукция
- •Оператор кроссинговера(скрещивания)
- •Мутация
- •Простой пример
- •Репродукция
- •Представление вещественных решений в двоичной форме
- •Пример функции с популяцией особей в начале эволюции
- •«Конденсация» особей в окрестностях эксремумов
- •Положение особей популяции в конце эволюции
- •Использование кода Грея в га
- •1.8.1 Концептуальная простота
- •1.8.2 Широкая применимость
- •1.8.3 Меньшие требования при решении реальных задач
- •1.8.4 Потенциальное использование априорных знаний и гибридизация с другими методами
- •1.8.5 Параллелизм.
- •1.8.6 Устойчивость к динамическим изменениям
- •1.8.7 Способность к самоорганизации
- •1.8.8 Решение проблем, которые не имеют опыта решений
- •1.8.9 Недостатки га
- •Га для задач комбинаторной оптимизации Задача о покрытии
- •Задача об укладке рюкзака
- •Модификации и обобщения га
- •Пример двухточечного кроссинговера
- •Пример четырехточечного кроссинговера
- •1. Дискретная рекомбинация
- •Промежуточная рекомбинация
- •Мутация над вещественными числами
- •Генетические алгоритмы с изменяемой мощностью популяций
- •Параллельные генетические алгоритмы
- •Генетическое программирование
- •Усекающая мутация
- •Растущая мутация
- •Мутация «Обмен поддеревьев»
- •Фитнесс-функция в генетическом программировании
- •Применение эволюционных вычислений
- •С основами эволюционных вычислений можно ознакомиться в следующей книге:
Промежуточная рекомбинация
Этот метод применим только для особей, представленных вещественными значениями. Здесь значения потомков строятся в окрестности или между значениями родителей
В случае промежуточной рекомбинации потомок O1 формируется следующим образом:
,
где
– вещественные значения, представляющие
первого и второго родителя;
Oi– вещественное значение, представляющее потомка;
i
- масштабирующий множитель, который
выбирается случайно из отрезка [-d,
1+d].
Эти операторы совершенно не похожи на классический кроссинговер. Фактически, этот оператор заимствован из другого направления эволюционных вычислений «эволюционные стратегии».
-
1-й родитель
12
25
5
2-й родитель
123
4
34
Случайно выбраны следующие значения коэффициента
1-й образец 1
0,5
1,1
0,1
2-й образец 2
0,1
0,8
0,5
1-й потомок
67,5
1,9
7,9
2-й потомок
23,1
8,2
19,5
Мутация над вещественными числами
Мутация над вещественными потомками выполняется путем сложения особи с небольшим случайным значением
,
где V, Vm – значения вещественной переменной до и после мутации;
r=0.5 (диапазон изменения переменной).
Выбор размера шага мутации зависит от рассматриваемой проблемы, и шаг в общем случае может изменяться в процессе решения задачи. Маленький шаг дает большую точность, но ведет к большим временным затратам. Мутация с постоянным шагом и постоянной вероятностью называется однородной.
Генетические алгоритмы с изменяемой мощностью популяций
Мощность популяции является важнейшим параметром ГА, который критичен во многих приложениях. Если мало, то ГА работает быстро, но при этом увеличивается опасность преждевременной сходимости к локальному экстремуму. Большая мощность популяции увеличивает генофонд, но процесс поиска замедляется.
При
одном из подходов в ГА с изменяемым
размером популяции каждой особи после
ее рождения на текущем этапе оценки ЦФ
присваивается «время жизни» (life
time)
– параметр, зависящий от ЦФ особи. Таким
образом, каждая особь живет определенное
число поколений и умирает по окончании
срока жизни.
Для каждой особи срок жизни вычисляется индивидуально в зависимости от значения ее ЦФ. Введем следующие обозначения:
-
среднее значение ЦФ по популяции;
-
максимальное значение ЦФ по популяции;
-
минимальное значение ЦФ по популяции;
-
абсолютное максимальное значение;
-
абсолютное минимальное значение;
-
максимальный срок жизни;
-
минимальный срок жизни.
Нестационарный_ГА
{
t =0;
Инициализация;
Оценка ЦФ p(t);
While (условие окончания не выполнено)
{
t=t+1;
Увеличение возраста каждой особи на 1;
Рекомбинация p(t):
Мутация p(t):
Оценка ЦФ p(t):
Определение срока жизни особей;
Удаление из p(t) всех особей с возрастом больше срока жизни;
}
}
Используются следующие три способа определения срока жизни.
При пропорциональном методе определения срока жизни
определяется по следующей формуле:
,
(4.13)
где
(используется для всех формул).
При линейном методе определения срока жизни
(4.14)
В билинейном методе определения срока жизни
(4.15)