
- •Скобцов ю.А. «эволюционные вычисления»
- •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. Дискретная рекомбинация
- •Промежуточная рекомбинация
- •Мутация над вещественными числами
- •Генетические алгоритмы с изменяемой мощностью популяций
- •Параллельные генетические алгоритмы
- •Генетическое программирование
- •Усекающая мутация
- •Растущая мутация
- •Мутация «Обмен поддеревьев»
- •Фитнесс-функция в генетическом программировании
- •Применение эволюционных вычислений
- •С основами эволюционных вычислений можно ознакомиться в следующей книге:
Скобцов ю.А. «эволюционные вычисления»
В 60-х годах XX века в теории искусственного интеллекта зародилось новое направление «ЭВОЛЮЦИОННЫЕ ВЫЧИСЛЕНИЯ» (ЭВ).
ЭВ используют принципы и терминологию, заимствованные у биологической науки – генетики. В ЭВ каждая особь представляет потенциальное решение некоторой проблемы и кодируется специальным образом (в простейшем случае двоичным числом). Множество особей – потенциальных решений составляет популяцию.
Основные парадигмы ЭВ (отличаются способом кодирования особей и генетическими операторами порождения потомков – новых решений):
Генетические алгоритмы.
Генетическое программирование.
Эволюционные стратегии.
Эволюционное программирование.
Поиск (суб)оптимального решения проблемы в ЭВ выполняется в процессе эволюции популяции - последовательного преобразования одного конечного множества решений в другое с помощью генетических операторов репродукции, кроссинговера и мутации, которые являются формализацией следующих механизмов.
естественной эволюции:
3 Источника эволюционных вычислений
Первый принцип основан на концепции выживания сильнейших и естественного отбора по Дарвину, который был сформулирован им в 1859 году в книге «Происхождение видов путем естественного отбора». Согласно Дарвину особи, которые лучше способны решать задачи в своей среде, выживают и больше размножаются (репродуцируют). В генетических алгоритмах каждая особь представляет собой решение некоторой проблемы. По аналогии с этим принципом особи с лучшими значениями целевой (фитнесс) функции имеют большие шансы выжить и репродуцировать. Формализация этого принципа дает оператор репродукции.
Второй принцип обусловлен тем фактом, что хромосома потомка состоит из частей полученных из хромосом родителей. Этот принцип был открыт в 1865 году Менделем. Его формализация дает основу для оператора скрещивания (кроссинговера).
Третий принцип основан на концепции мутации, открытой в 1900 году де Вре. Первоначально этот термин использовался для описания существенных (резких) изменений свойств потомков и приобретение ими свойств, отсутствующих у родителей. По аналогии с этим принципом генетические алгоритмы используют подобный механизм для резкого изменения свойств потомков и тем самым, повышают разнообразие (изменчивость) особей в популяции (множестве решений).
Эти три принципа составляют ядро ЭВ. Используя их, популяция (множество решений данной проблемы) эволюционирует от поколения к поколению.
Генетические алгоритмы
В классическом ГА особь (потенциальное решение) представляется двоичным кодом. Двоичный код решения х=(0100…10111) называется хромосомой (она представляет генотип). Один бит в этом коде называется геном. Популяция образует множество потенциальных решений данной проблемы.
Предварительно простой ГА случайным образом генерирует начальную популяцию стрингов (хромосом). Затем алгоритм генерирует следующее поколение (популяцию), с помощью трех основных генетических операторов:
Оператор репродукции (ОР);
Оператор скрещивания ( кроссинговера, ОК);
Оператор мутации (ОМ).
Рис.1. Простой генетический алгоритм