Скачать презентацию Генетические алгоритмы Владимир Ульянцев Кафедра Компьютерные технологии НИУ Скачать презентацию Генетические алгоритмы Владимир Ульянцев Кафедра Компьютерные технологии НИУ

Генетические алгоритмы для 239.pptx

  • Количество слайдов: 37

Генетические алгоритмы Владимир Ульянцев Кафедра «Компьютерные технологии» НИУ ИТМО Урок для ФМЛ 239. 29 Генетические алгоритмы Владимир Ульянцев Кафедра «Компьютерные технологии» НИУ ИТМО Урок для ФМЛ 239. 29 февраля 2012

Задача о расстановке ферзей • Шахматная доска размером 8 на 8 • 8 ферзей Задача о расстановке ферзей • Шахматная доска размером 8 на 8 • 8 ферзей • Необходимо их расставить так, чтобы они не били друга • Задача поиска в условиях ограничений 2

Пространство поиска • Число способов расставить 8 фигур на доске 8 на 8: • Пространство поиска • Число способов расставить 8 фигур на доске 8 на 8: • В каждой вертикали и горизонтали – ровно один ферзь – число вариантов есть 8!=40320 • Число решений задачи – 92 3

Перебор с возвратом • Ставим ферзей начиная с первой горизонтали • В очередной горизонтали Перебор с возвратом • Ставим ферзей начиная с первой горизонтали • В очередной горизонтали пробуем ставить ферзя только в неатакованные клетки • Дошли до конца – решение построено • Если не получилось – возвращаемся назад 4

Обобщение задачи • Размер доски не 8 на 8, а N на N • Обобщение задачи • Размер доски не 8 на 8, а N на N • Эффективность перебора падает с ростом размеров доски – «комбинаторный взрыв» 5

Комбинаторный взрыв 6 Комбинаторный взрыв 6

Вопросы • Слушаю вопросы по первой части лекции 7 Вопросы • Слушаю вопросы по первой части лекции 7

Эволюция по Дарвину • Принцип естественного отбора • Механизм дарвиновской эволюции: – Рождение нового Эволюция по Дарвину • Принцип естественного отбора • Механизм дарвиновской эволюции: – Рождение нового поколения – Часть особей выросла и дала потомство, часть – погибла – Погибают неприспособленные, выживают приспособленные, у потомков остаются лучшие черты 8

Генетические алгоритмы • Метод направленного перебора • Оптимизационный метод, базирующийся на эволюции популяции «особей» Генетические алгоритмы • Метод направленного перебора • Оптимизационный метод, базирующийся на эволюции популяции «особей» • Особь характеризуется приспособленностью • Задача оптимизации – максимизация функции приспособленности 9

Основные компоненты • Пространство допустимых решений • Функция приспособленности Fitness • Генетические операции: – Основные компоненты • Пространство допустимых решений • Функция приспособленности Fitness • Генетические операции: – Мутация – Скрещивание • Критерий завершения работы алгоритма: достижение некоторого значения функции приспособленности, генерация некоторого числа поколений и т. д. 10

Общая схема генетического алгоритма • Сгенерировать начальное поколение • Пока не выполнен критерий остановки: Общая схема генетического алгоритма • Сгенерировать начальное поколение • Пока не выполнен критерий остановки: – Выбрать часть особей из текущего поколения на основе значений функции приспособленности – Сформировать следующее поколение с помощью операций скрещивания и мутации 11

Представление особей • Битовые строки – генетический алгоритм • Структурное представление (применительно к генерации Представление особей • Битовые строки – генетический алгоритм • Структурное представление (применительно к генерации программ) – генетическое программирование • Способ представления зависит от задачи • От способа представления особей зависят операции мутации и скрещивания 12

Одноточечное скрещивание и мутация для битовых строк Скрещивание: 11010 01100101101 ⇒ 101100101101 10110 10011101001 Одноточечное скрещивание и мутация для битовых строк Скрещивание: 11010 01100101101 ⇒ 101100101101 10110 10011101001 ⇒ 11010 10011101001 Мутация: 101100101101 ⇒ 101101101101 13

Методы отбора (1) • Ранговый отбор – для каждой особи ее вероятность попасть в Методы отбора (1) • Ранговый отбор – для каждой особи ее вероятность попасть в промежуточную популяцию пропорциональна ее порядковому номеру в отсортированной по возрастанию приспособленности популяции • Турнирный отбор осуществляется следующим образом: из популяции случайным образом выбирается t особей, и лучшая из них помещается в промежуточную популяцию. Наиболее распространен вариант при t = 2 14

Методы отбора (2) • Элитизм – в очередное поколение переходит некоторая фиксированная доля лучших Методы отбора (2) • Элитизм – в очередное поколение переходит некоторая фиксированная доля лучших особей 15

Решение задачи о расстановке ферзей с помощью ГА • Будем использовать структурное представление особей Решение задачи о расстановке ферзей с помощью ГА • Будем использовать структурное представление особей – в виде перестановок, а не в виде битовых строк • Например, при n = 5 • 1 3 4 5 2 16

Операция мутации • Обмен двух элементов перестановки • 1 3 4 5 2 –> Операция мутации • Обмен двух элементов перестановки • 1 3 4 5 2 –> 1 5 4 3 2 17

Операция скрещивания (1) • На вход поступают две перестановки: P 1 и P 2 Операция скрещивания (1) • На вход поступают две перестановки: P 1 и P 2 • На выходе получается одна: Q • Самостоятельно постройте алгоритм скрещивания 18

Функция приспособленности • Пусть k – число пар ферзей, которые атакуют друга в расстановке, Функция приспособленности • Пусть k – число пар ферзей, которые атакуют друга в расстановке, задаваемой особью P • Значение функции приспособленности f(P)=-k • Например, f(P)=-4 • Необходимо найти P: f(P) = 0

Генерация очередного поколения • Элитизм – 10% лучших особей переходят напрямую • Для заполнения Генерация очередного поколения • Элитизм – 10% лучших особей переходят напрямую • Для заполнения оставшихся 90% поколения выполняются следующие операции: – Выбираются две особи из текущего поколения – С некоторой вероятностью производится их скрещивание – Иначе – выполняется мутация 20

Время работы алгоритма 21 Время работы алгоритма 21

Вопросы • Слушаю вопросы по второй части лекции 22 Вопросы • Слушаю вопросы по второй части лекции 22

Приближение изображения многоугольниками • Особь – закодированные многоугольники • Функция приспособленности – степень похожести Приближение изображения многоугольниками • Особь – закодированные многоугольники • Функция приспособленности – степень похожести изображений • Видео № 1! • Статья автора – http: //blog. nihilogic. dk/2009/01/genetic-monalisa. html 23

24 24

25 25

26 26

Попробуйте сами! • http: //www. nihilogic. dk/labs/evolvingimages/ 27 Попробуйте сами! • http: //www. nihilogic. dk/labs/evolvingimages/ 27

Какая устроен алгоритм? • Видео № 2 • Видео № 3 • Видео № Какая устроен алгоритм? • Видео № 2 • Видео № 3 • Видео № 4 28

Машинка • Видео № 5 • Теперь вы: – http: //megaswf. com/serve/102223/ 29 Машинка • Видео № 5 • Теперь вы: – http: //megaswf. com/serve/102223/ 29

Антенна NASA • http: //adam. sardar. me. uk/? p=499 30 Антенна NASA • http: //adam. sardar. me. uk/? p=499 30

Лего-мост 31 Лего-мост 31

Лего-мост в реальности 32 Лего-мост в реальности 32

Длинный мост 33 Длинный мост 33

Генетическое программирование 34 Генетическое программирование 34

Построение автопилота • Видео № 6 35 Построение автопилота • Видео № 6 35

Спасибо за внимание! Владимир Ульянцев ulyantsev@rain. ifmo. ru 36 Спасибо за внимание! Владимир Ульянцев ulyantsev@rain. ifmo. ru 36

Перебор с возвратом function bt(p : integer) : boolean; var i : integer; begin Перебор с возвратом function bt(p : integer) : boolean; var i : integer; begin result : = false; if (p = n + 1) then begin result : = true; exit; end; for i : = 1 to n do begin if (not w[i]) and (not diag 1[p + i]) and (not diag 2[p - i]) then begin w[i] : = true; diag 1[p + i] : = true; diag 2[p - i] : = true; pos[p] : = i; if (bt(p + 1)) then begin result : = true; exit; end; w[i] : = false; diag 1[p + i] : = false; diag 2[p - i] : = false; end; 37