Алгоритмы эволюционной оптимизации
Биологически обусловленные и популяционно-ориентированные подходы к компьютерному интеллекту
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Саймон Ден
Перевод:
Логунов А. В.
Год издания: 2020
Кол-во страниц: 1002
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-707-7
Артикул: 739785.02.99
В данной книге рассматриваются история, теоретические основы, математический аппарат и программирование алгоритмов эволюционной оптимизации. Рассмотренные алгоритмы включают в себя генетические алгоритмы, генетическое программирование, оптимизацию на основе муравьиной кучи, оптимизацию на основе роя частиц, дифференциальную эволюцию, биогеографическую оптимизацию и многие другие.
Издание будет полезно студентам старших курсов, программистам, инженерам, а также всем специалистам, кто интересуется принципами построения различных алгоритмов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Дэн Саймон Алгоритмы эволюционной оптимизации Биологически обусловленные и популяционно-ориентированные подходы к компьютерному интеллекту
EVOLUTIONARY OPTIMIZATION ALGORITHMS Biologically-Inspired and Population-Based Approaches to Computer Intelligence Dan Simon Cleveland State University
Москва, 2020 Дэн Саймон Перевод с английского Логунов А. В. АЛГОРИТМЫ ЭВОЛЮЦИОННОЙ ОПТИМИЗАЦИИ Биологически обусловленные и популяционно-ориентированные подходы к компьютерному интеллекту
УДК 004.421 ББК 32.811 С12 С12 Дэн Саймон Алгоритмы эволюционной оптимизации / пер. с англ. А. В. Логунова. – М.: ДМК Пресс, 2020. – 1002 с.: ил. ISBN 978-5-97060-707-7 В данной книге рассматриваются история, теоретические основы, мате матический аппарат и программирование алгоритмов эволюционной оптимизации. Рассмотренные алгоритмы включают в себя генетические алгоритмы, генетическое программирование, оптимизацию на основе муравьиной кучи, оптимизацию на основе роя частиц, дифференциальную эволюцию, биогеографическую оптимизацию и многие другие. Издание будет полезно студентам старших курсов, программистам, инженерам, а также всем специалистам, кто интересуется принципами построения различных алгоритмов. УДК 004.421 ББК 32.811 Original English language edition published by John Wiley & Sons, Inc. Copyright © 2013 by John Wiley & Sons, Inc. All rights reserved. Russian-language edition copyright © 2019 by DMK Press. All rights reserved. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0-470-93741-9 (англ.) © John Wiley & Sons, Inc. All rights reserved, 2013 ISBN 978-5-97060-707-7 (рус.) © Оформление, перевод на русский язык, издание, ДМК Пресс, 2020
Оглавление Благодарности ......................................................................................................................19 Предисловие от издательства ...........................................................................................20 Аббревиатуры .......................................................................................................................21 Часть I. Введение в эволюционную оптимизацию .....................................................27 Глава 1. Введение .................................................................................................................28 Обзор главы .......................................................................................................................................28 1.1. Терминология .............................................................................................................................29 1.2. Зачем нужна еще одна книга по эволюционным алгоритмам? ...........................32 1.3. Предварительные условия ...................................................................................................34 1.4. Домашние задания ..................................................................................................................35 1.5. Обозначения ..............................................................................................................................35 1.6. План изложения ........................................................................................................................38 1.7. Учебный курс на основе данной книги ...........................................................................39 Глава 2. Оптимизация ..........................................................................................................41 Краткий обзор главы ......................................................................................................................41 2.1. Неограниченная оптимизация ...........................................................................................42 2.2. Ограниченная оптимизация ................................................................................................46 2.3. Многокритериальная оптимизация ..................................................................................48 2.4. Мультимодальная оптимизация .........................................................................................51 2.5. Комбинаторная оптимизация .............................................................................................52 2.6. Восхождение к вершине холма .........................................................................................54 2.6.1. Смещенные оптимизационные алгоритмы.......................................................................59 2.6.2. Важность симуляций Монте-Карло ......................................................................................60 2.7. Интеллект .....................................................................................................................................60 2.7.1. Приспособляемость .....................................................................................................................61 2.7.2. Случайность ....................................................................................................................................61 2.7.3. Общение ..........................................................................................................................................62 2.7.4. Обратная связь ..............................................................................................................................63 2.7.5. Разведывание и эксплуатация ................................................................................................64 2.8. Заключение ................................................................................................................................65 Задачи ...................................................................................................................................................66 Письменные упражнения.....................................................................................................................66 Компьютерные упражнения ................................................................................................................68
Оглавление Часть II. Классические эволюционные алгоритмы ....................................................71 Глава 3. Генетические алгоритмы ......................................................................................72 Краткий обзор главы ......................................................................................................................73 3.1. История генетики .....................................................................................................................74 3.1.1. Чарльз Дарвин ..............................................................................................................................74 3.1.2. Грегор Мендель .............................................................................................................................77 3.2. Генетика .......................................................................................................................................79 3.3. История генетических алгоритмов ...................................................................................81 3.4. Простой бинарный генетический алгоритм ..................................................................85 3.4.1. Генетический алгоритм для проектирования роботов ................................................85 3.4.2. Отбор и скрещивание ................................................................................................................88 3.4.3. Мутации ...........................................................................................................................................91 3.4.4. Краткая формулировка генетического алгоритма .......................................................93 3.4.5. Регулировочные параметры и примеры генетического алгоритма .......................93 3.5. Простой непрерывный генетический алгоритм .......................................................100 3.6. Заключение .............................................................................................................................105 Задачи ................................................................................................................................................106 Письменные упражнения.................................................................................................................. 106 Компьютерные упражнения ............................................................................................................. 109 Глава 4. Математические модели генетических алгоритмов .....................................111 Краткий обзор главы ...................................................................................................................111 4.1. Теория схем .............................................................................................................................112 4.2. Цепи Маркова .........................................................................................................................118 4.3. Обозначения марковской модели для эволюционных алгоритмов ................124 4.4. Марковские модели генетических алгоритмов ........................................................129 4.4.1. Отбор ............................................................................................................................................. 129 4.4.2. Мутации ........................................................................................................................................ 130 4.4.3. Скрещивание .............................................................................................................................. 132 4.5. Системно-динамические модели генетических алгоритмов .............................. 137 4.5.1. Отбор ............................................................................................................................................. 138 4.5.2. Мутации ........................................................................................................................................ 140 4.5.3. Скрещивание .............................................................................................................................. 143 4.6. Заключение .............................................................................................................................149 Задачи ................................................................................................................................................150 Письменные упражнения.................................................................................................................. 150 Компьютерные упражнения ............................................................................................................. 151 Глава 5. Эволюционное программирование .................................................................153 Краткий обзор главы ...................................................................................................................153 5.1. Непрерывное эволюционное программирование .................................................154 5.2. Конечно-автоматная оптимизация ................................................................................159
Оглавление 7 5.3. Дискретное эволюционное программирование ......................................................163 5.4. Дилемма заключенного ......................................................................................................165 5.5. Задача искусственного муравья .....................................................................................171 5.6. Заключение .............................................................................................................................176 Задачи ................................................................................................................................................ 177 Письменные упражнения.................................................................................................................. 177 Компьютерные упражнения ............................................................................................................. 178 Глава 6. Эволюционные стратегии ..................................................................................180 Краткий обзор главы ...................................................................................................................181 6.1. Эволюционная стратегия (1 + 1) .....................................................................................181 6.2. Правило 1/5: деривация .................................................................................................... 187 6.3. Эволюционная стратегия (μ + 1) ....................................................................................191 6.4. Эволюционные стратегии (μ + 𝝀) и (μ, 𝝀) .....................................................................194 Эволюционная стратегия (μ, 𝜿, 𝝀, 𝝆) .............................................................................................. 198 6.5. Самоадаптивные эволюционные стратегии ..............................................................198 6.6. Заключение .............................................................................................................................205 Задачи ................................................................................................................................................206 Письменные упражнения.................................................................................................................. 206 Компьютерные упражнения ............................................................................................................. 207 Глава 7. Генетическое программирование .....................................................................209 Ранние результаты генетического программирования .................................................211 Краткий обзор главы ...................................................................................................................212 7.1. Lisp: язык генетического программирования ............................................................213 7.2. Основы генетического программирования ................................................................219 7.2.1. Мера приспособленности ...................................................................................................... 220 7.2.2. Критерии останова .................................................................................................................. 221 7.2.3. Множество терминальных символов ................................................................................ 221 7.2.4. Множество функций ................................................................................................................. 223 7.2.5. Инициализация .......................................................................................................................... 225 7.2.6. Параметры генетической программы .............................................................................. 228 7.3. Генетическое программирование: управление объектом за минимальное время ..........................................................................................................................................233 7.4. Раздувание генетической программы ..........................................................................240 7.5. Эволюционирующие сущности помимо компьютерных программ ..................243 7.6. Математический анализ генетического программирования ..............................246 7.6.1. Определения и обозначения ................................................................................................ 247 7.6.2. Отбор и скрещивание ............................................................................................................. 248 7.6.3. Мутация и конечные результаты ........................................................................................ 253 7.7. Заключение ..............................................................................................................................255 Задачи ................................................................................................................................................258
Оглавление Письменные упражнения.................................................................................................................. 258 Компьютерные упражнения ............................................................................................................. 259 Глава 8. Вариации эволюционных алгоритмов ............................................................263 Краткий обзор главы ...................................................................................................................263 8.1. Инициализация ......................................................................................................................264 8.2. Критерии сходимости .........................................................................................................266 8.3. Представление задачи с помощью кода Грея ...........................................................269 8.4. Элитарность .............................................................................................................................274 8.5. Стационарные и поколенческие алгоритмы ..............................................................278 8.6. Популяционное многообразие ........................................................................................279 8.6.1. Дублирующие особи ................................................................................................................ 280 8.6.2. Нишевая и видовая рекомбинация................................................................................... 281 8.6.3. Ниширование ............................................................................................................................. 283 8.7. Варианты отбора ...................................................................................................................289 8.7.1. Стохастическая универсальная выборка ......................................................................... 290 8.7.2. Избыточный отбор .................................................................................................................... 292 8.7.3. Сигма-шкалирование .............................................................................................................. 293 8.7.4. Ранговый отбор .......................................................................................................................... 295 8.7.5. Линейное ранжирование ....................................................................................................... 297 8.7.6. Турнирный отбор ....................................................................................................................... 300 8.7.7. Племенные эволюционные алгоритмы ............................................................................ 301 8.8. Рекомбинация.........................................................................................................................303 8.8.1. Одноточечное скрещивание (в бинарных или непрерывных эволюционных алгоритмах) ................................................................................................. 304 8.8.2. Многоточечное скрещивание (в бинарных или непрерывных эволюционных алгоритмах) ................................................................................................. 304 8.8.3. Сегментированное скрещивание (в бинарных или непрерывных эволюционных алгоритмах) ................................................................................................. 304 8.8.4. Равномерное скрещивание (в бинарных или непрерывных эволюционных алгоритмах) ................................................................................................. 305 8.8.5. Многородительское скрещивание (в бинарных или непрерывных эволюционных алгоритмах) ................................................................................................. 306 8.8.6. Глобальное однородное скрещивание (в бинарных или непрерывных эволюционных алгоритмах) ................................................................................................. 306 8.8.7. Перетасованное скрещивание (в бинарных или непрерывных эволюционных алгоритмах) ................................................................................................. 307 8.8.8. Плоское скрещивание и арифметическое скрещивание (в непрерывных эволюционных алгоритмах) ................................................................................................. 307 8.8.9. Смешанное скрещивание (в непрерывных эволюционных алгоритмах) ......... 308 8.8.10. Линейное скрещивание (в непрерывных эволюционных алгоритмах) ......... 309 8.8.11. Симулированное бинарное скрещивание (в непрерывных эволюционных алгоритмах) ................................................................................................................................. 309 8.8.12. Резюме ........................................................................................................................................ 310
Оглавление 9 8.9. Мутация .....................................................................................................................................310 8.9.1. Равномерная мутация с центром в xi(k) .......................................................................... 310 8.9.2. Равномерная мутация с центром в середине поисковой области....................... 311 8.9.3. Гауссова мутация с центром в xi(k) .................................................................................... 311 8.9.4. Гауссова мутация с центром в середине поисковой области ................................ 312 8.10. Заключение ...........................................................................................................................312 Задачи ................................................................................................................................................313 Письменные упражнения.................................................................................................................. 313 Компьютерные упражнения ............................................................................................................. 316 Часть III. Более поздние эволюционные алгоритмы ..............................................319 Глава 9. Симулированное закаливание ..........................................................................320 Краткий обзор главы ...................................................................................................................321 9.1. Закалка в природе ................................................................................................................321 9.2. Простой алгоритм симулированного закаливания .................................................323 9.3. Режимы охлаждения ............................................................................................................326 9.3.1. Линейное охлаждение ........................................................................................................... 326 9.3.2. Экспоненциальное охлаждение ......................................................................................... 327 9.3.3. Обратное охлаждение ............................................................................................................ 327 9.3.4. Логарифмическое охлаждение........................................................................................... 330 9.3.5. Обратное линейное охлаждение ....................................................................................... 332 9.3.6. Размерно-зависимое охлаждение .................................................................................... 334 9.4. Вопросы реализации ...........................................................................................................338 9.4.1. Генерирование кандидатного решения .......................................................................... 338 9.4.2. Реинициализация ..................................................................................................................... 338 9.4.3. Отслеживание лучшего кандидатного решения .......................................................... 339 9.5. Заключение .............................................................................................................................339 Задачи ................................................................................................................................................340 Письменные упражнения.................................................................................................................. 340 Компьютерные упражнения ............................................................................................................. 341 Глава 10. Оптимизация на основе муравьиной кучи ...................................................343 Краткий обзор главы ...................................................................................................................346 10.1. Модели феромона ..............................................................................................................346 10.2. Муравьиная система .........................................................................................................350 10.3. Непрерывная оптимизация ............................................................................................356 10.4. Другие муравьиные системы .........................................................................................360 10.4.1. Минимаксная муравьиная система ................................................................................ 360 10.4.2. Система муравьиной кучи .................................................................................................. 362 10.4.3. Еще больше муравьиных систем ..................................................................................... 366 10.5. Теоретические результаты ..............................................................................................368
Оглавление 10.6. Заключение ...........................................................................................................................369 Задачи ................................................................................................................................................371 Письменные упражнения.................................................................................................................. 371 Компьютерные упражнения ............................................................................................................. 373 Глава 11. Оптимизация на основе роя частиц...............................................................374 Краткий обзор главы ...................................................................................................................376 11.1. Базовый алгоритм оптимизации на основе роя частиц ..................................... 377 Топологии роя частиц ......................................................................................................................... 380 11.2. Ограничение скорости .....................................................................................................381 11.3. Коэффициенты инерционного взвешивания и сужения ....................................383 11.3.1. Инерционное взвешивание ............................................................................................... 383 11.3.2. Коэффициент сужения ......................................................................................................... 384 11.3.3. Стабильность оптимизации на основе роя частиц ................................................... 387 11.4. Глобальные обновления скорости ...............................................................................393 11.5. Полноинформированный рой частиц ........................................................................396 11.6. Самообучение на ошибках .............................................................................................400 11.7. Заключение ...........................................................................................................................403 Задачи ................................................................................................................................................405 Письменные упражнения.................................................................................................................. 405 Компьютерные упражнения ............................................................................................................. 407 Глава 12. Дифференциальная эволюция .......................................................................409 Краткий обзор главы ...................................................................................................................410 12.1. Базовый алгоритм дифференциальной эволюции ...............................................410 12.2. Вариации дифференциальной эволюции ................................................................413 12.2.1. Пробные векторы ................................................................................................................... 413 12.2.2. Мутантные векторы ............................................................................................................... 416 12.2.3. Корректировка коэффициента шкалирования .......................................................... 421 12.3. Дискретная оптимизация ................................................................................................425 12.3.1. Смешанно-целочисленная дифференциальная эволюция................................... 425 12.3.2. Дискретная дифференциальная эволюция ................................................................. 426 12.4. Дифференциальная эволюция и генетические алгоритмы ..............................428 12.5. Заключение ...........................................................................................................................431 Задачи ................................................................................................................................................431 Письменные упражнения.................................................................................................................. 431 Компьютерные упражнения ............................................................................................................. 432 Глава 13. Алгоритмы оценивания вероятностных распределений ...........................434 Краткий обзор главы ...................................................................................................................435 13.1. Алгоритмы оценивания вероятностных распределений: основные понятия ......................................................................................................................................436 13.1.1. Простой алгоритм оценивания вероятностного распределения ....................... 436