Эволюционные алгоритмы Курс «Нейроинтеллектуальные системы», ФНБИК МФТИ, 2013 Содержание лекции Генетический алгоритм Подбор параметров эволюционных алгоритмов Анализ результатов эволюции отбор генетические операторы Динамика приспособленности Автокорреляционные карты Ландшафты приспособленности Развитийные системы Генетическое программирование Место эволюционных алгоритмов среди методов оптимизации Заключение Как найти решение не зная, как оно должно выглядеть? Генетический алгоритм Эволюционные алгоритмы используют принципы естественного отбора для решения широкого круга задач Основные компоненты эволюционного алгоритма функция приспособленности – определяет критерии эффективности решения популяция – набор решений на который через функцию приспособленности действует отбор генетические операторы – задают наследование потомкам свойств родителя (ей) Генетический алгоритм HillClimbingAlgorithm.cdf Генетический алгоритм Инициализировать начальную популяцию параметров решений Для каждого решения рассчитать значение функции приспособленности Сформировать новое поколение 1. 2. 3. для каждого агента нового поколения 1. 1. 2. 4. из текущего поколения пропорционально приспособленности выбрать родителей для выбранных родителей создать при помощи генетических операторов кандидатное решение нового поколения Если заданная точность или количество поколений достигнуты, то завершить работу, иначе перейти к шагу 2 (расчету приспособленности) Генетический алгоритм Представление параметров решения бинарное вещественное в виде дерева Задание представления параметров решения определяет пространство поиска Эволюционный потенциал зависит от выбранного представления параметров решения и генетических операторов Отбор Пропорциональный отбор рулеточный алгоритм Ранговый отбор вероятность пропорциональна рангу – происходит усиление отбора между сходными решениями усеченный ранговый отбор Турнирный отбор для каждого потомка создается случайная выборка потенциальных родителей из текущего поколения, в которой выбирается решение с лучшей приспособленностью для заданного числа лучших агентов текущего поколения потомки генерируются с одинаковой вероятностью баланс отбора и разнообразия Элитизм заданное число лучших агентов переходит в новое поколение Генетические операторы Рекомбинация (кроссовер) точечный равномерный арифметический (усредняющий) комбинация последовательностей обмена ветвями дерева Мутации бинарные вещественные позиционные функциональные Параметры генетических алгоритмов Размер популяции малый размер популяции большой размер популяции устойчивость средней приспособленности высокие вычислительные затраты на поколение Генетические операторы скорость эволюции пропорциональна величине мутаций вероятность «застревания» в локальном оптимуме обратно зависит от величины мутаций величина мутаций обычно лежит в интервале от 1% до 10% типичного значения подстраиваемого параметра рекомбинация позволяет комбинировать удачные части решения одновременно исследуется небольшая область пространства решений высокая стохастичность низкие вычислительные затраты на поколение равномерная рекомбинация «перемешивает» решения и делает популяцию более гомогенной Самоадаптация параметров параметры генетических операторов сами мутируют в эволюции Измерение эволюции Динамика максимальной приспособленности показывает зависимость лучшего по поколению решения от времени Динамика средней приспособленности дает среднюю «температуру по больнице» дает возможность увидеть «срывы» поиска – потерю уже полученной максимальной приспособленности позволяет определить этапы эволюции решения по скачкам приспособленности при сравнении с максимальной приспособленностью показывает насколько алгоритм сошелся к ближайшему оптимуму – уменьшение и стабилизация разности говорит о схождении Разнообразие популяции демонстрирует, как сильно сошелся поиск коррелирует с эволюционным потенциалом популяции Автокорреляционные карты Автокорреляционные карты (recurrence plots) визуализируют расстояние между состояниями популяции в различные моменты времени позволяют наглядно представить и качественно классифицировать динамику – выделить циклы и переходы между областями в пространстве поиска Burtsev M.S. Tracking the Trajectories of Evolution // Artificial Life 10(4), 2004. стр. 397-411. Многомерность ландшафта приспособленности Обычно пространство поиска генетического алгоритма представляется в виде ландшафта приспособленности – зависимости приспособленности от комбинации значений параметров решения (генотипа) Искомое решение интуитивно представляется, как пик на ландшафте, а эволюция, как подъем к пику. При этом пики локальной приспособленности разделены «долинами» спуск в которые затруднен отбором Однако, при переходе к ландшафтам приспособленности большой размерности появляется много «проходов» между пиками Проблема поиска правильного решения смещается от перескакивания через долины с низкой приспособленностью к выбору из множества слабо различающихся альтернатив Gavrilets S. Evolution and speciation on holey adaptive landscapes. // Trends in ecology & evolution. 1997. № 12. С. 307–312. Структурирование популяции Островная модель позволяет уменьшить застреваемость в локальных оптимумах параллельно эволюционирует несколько популяций существует вероятность миграции агента из одной популяции в другу Поощрение разнообразия введение в функцию приспособленности штрафа для схожих генотипов случайные мигранты Развитийные системы Для создания сложных систем необходимо удобное представление, позволяющее генерировать симметричные и повторяющиеся модули генерирующие грамматики L-системы Sims K. Evolving Virtual Creatures // Computer Graphics (Siggraph '94 Proceedings), July 1994, pp.15-22. Генетическое программирование Эволюционная оптимизация программ называется генетическое программирование программы представляются в виде деревьев замкнутость по отношению к значениям листьев достаточность множества функций и аргументов для решения проблемы рекомбинация – комбинирование ветвей родителей мутации – добавление новых случайно сгенерированных ветвей Место эволюционных алгоритмов среди методов оптимизации Заключение Эволюционные алгоритмы (ЭА) позволяют решать широкий круг оптимизационных задач Для использования эволюционных алгоритмов для задачи нужно знать только критерий оценки решения – функцию приспособленности Творческий потенциал эволюционных алгоритмов позволяет находить решения сопоставимые с придуманными человеком ЭА обычно требуют больших вычислительных ресурсов Пока нет эффективных методов для самоадаптации алгоритма к сложности задачи Ссылки и примечания Эволюционные алгоритмы Глава 1. Floreano, D. and Mattiussi, C. (2008) Bio-inspired Artificial Intelligence. Cambridge, MA: MIT Press Vose (1999), The Simple Genetic Algorithm: Foundations and Theory. MIT press, Cambridge, Massachusetts. Sean Luke, 2009, Essentials of Metaheuristics, Lulu На русском языке Анализ искусственной эволюции Gavrilets S. Evolution and speciation on holey adaptive landscapes. // Trends in ecology & evolution. 1997. № 12. С. 307–312. Burtsev M.S. Tracking the Trajectories of Evolution // Artificial Life 10(4), 2004. стр. 397-411. Развитийные системы Глава 4. Floreano, D. and Mattiussi, C. (2008) Bio-inspired Artificial Intelligence. Cambridge, MA: MIT Press Генетическое программирование http://www.genetic-programming.org