
- •Скобцов ю.А. «эволюционные вычисления»
- •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. Дискретная рекомбинация
- •Промежуточная рекомбинация
- •Мутация над вещественными числами
- •Генетические алгоритмы с изменяемой мощностью популяций
- •Параллельные генетические алгоритмы
- •Генетическое программирование
- •Усекающая мутация
- •Растущая мутация
- •Мутация «Обмен поддеревьев»
- •Фитнесс-функция в генетическом программировании
- •Применение эволюционных вычислений
- •С основами эволюционных вычислений можно ознакомиться в следующей книге:
Параллельные генетические алгоритмы
Для нетривиальных задач выполнение одного репродуктивного цикла – поколения в ГА требует значительных вычислительных ресурсов. Вычисление значения фитнесс-функции для каждой особи, потенциального решения проблемы, часто является самой трудоемкой операцией в ГА. Для повышения эффективности разработаны параллельные ГА.
Присущие ГА "внутренний" параллелизм и заложенная в них возможность распределенных вычислений способствовали развитию параллельных ГА (ПГА).
Согласно современной классификации различают глобальные ПГА, распределенные ГА (РГА), клеточные ГА (КГА) и коэволюционные ГА (КЭГА).
миграция
а) б) в)
Рис.. а) Простой ГА , б) Распределенный ГА , в) Клеточный ГА.
В простом ГА, графически представленном на рис.а), используется одна популяция особей, каждая из которых может взаимодействовать с любой другой особью. На рис.а) каждая особь представлена точкой.
Глобальный ПГА реализуется фактически по схеме «клиент - сервер», где на сервере, в основном, выполняется генетический алгоритм, а клиенты выполняют «черновую работу» - оценку значений фитнесс-функции всех особей популяции, которая требует больших вычислительных ресурсов.
Ускорение быстродействия
Параллельные генетические алгоритмы на основе «модели островов»
Распределенные ГА используют, в основном, так называемую "модель островов", где каждая подпопуляция развивается на своем "острове". Между островами производится (достаточно редко) обмен лучшими особями.
Основными факторами, которые влияют на миграцию в модели островов (и следовательно, на их эффективность ) являются следующие.
Степень миграции, которая определяет количество мигрирующих особей.
Время изоляции, определяющее число поколений между сеансами миграции.
Топология, определяющая отношение соседства между подпопуляциями.
Генетическое программирование
В генетическом программировании (ГП) в качестве особи выступает программа, представленная в определенной формате, которая решает некоторую задачу.
ГП работает с генетическим материалом переменной длины, что требует нестандартной формы представления генома и соответствующих генетических операторов.
В настоящее время наиболее распространенными структурами для представления особей (потенциальных решений проблемы) являются: 1) древовидное представление; 2) линейная структура; 3) графоподобная структура.
Древовидное представление
Значительная часть работ в области ГП, в которых были получены положительные результаты, выполнялась на языке программированиязадач искусственного интеллекта LISP, где программу удобно представлять в виде дерева. Поэтому в ГП была предложена древовидная форма генома.
Древовидное представление формулы d/e-a*(b+c).
Кроссинговер в генетическом программировании
В ГП используются те же, что и в ГА, генетические операторы кроссинговера, мутации и репродукции, которые здесь реализуются по-другому.
Для древообразной формы представления используются следующие три основных операторов кроссинговера:
а) узловой ОК;
б) кроссинговер поддеревьев;
в) смешанный.
Узловой кроссинговер
Кроссинговер поддеревьев
Родители
П
отомки
Выполнение мутации на древовидных структурах
Для деревьев используются следующие операторы мутации:
а) узловая;
б) усекающая;
в) растущая.