12
http://it-claim.ru http://blogs.it-claim.ru http://facebook.com/IT.CLAIM

Введение в генетические алгоритмы

Embed Size (px)

Citation preview

Page 1: Введение в генетические алгоритмы

http://it-claim.ru http://blogs.it-claim.ru http://facebook.com/IT.CLAIM

Page 4: Введение в генетические алгоритмы

Дарвинский механизм эволюции [«Происхождение видов», 1859 г. ] 1. Наследственная изменчивость - особи порождают себе

подобных со случайными вариациями 2. Борьба за существование - организмы дают больше

потомков, чем может дожить до размножения 3. Естественный отбор ◦ Выживают наиболее приспособленные ◦ У них больше шансов дать лучшее потомство

4. Изоляция - действует на микроэволюционном уровне и приводит к видообразованию

Page 5: Введение в генетические алгоритмы

Молекула ДНК упакована в отдельную хромосому Человеческий геном состоит из 23 пар хромосом, находящихся в ядре

клетке (+ митохондриальная ДНК) Ген представляет собой участок ДНК, и определяет наследственные

признаки организмов, передающиеся от родителей потомству при размножении

• Видео 1 • Видео 2

Page 6: Введение в генетические алгоритмы

Мутация — стойкое преобразование генотипа, происходящее под влиянием внешней или внутренней среды. ◦ Спонтанная ◦ Индуцированная

Кроссинговер - взаимный обмен участками между гомологичными (попарными) хромосомами ◦ Одноточечный ◦ Многоточечный

• Видео 1 - Мейоз

Page 7: Введение в генетические алгоритмы

Основные понятия: Особь (хромосома) – один вариант решения

задачи, закодированный с помощью последовательности битов

Популяция – множество хромосом => множество возможных решений

Качество особи (решения) – определяется с помощью целевой функции (фитнесс-функции) на основе генотипа (совокупности генов) особи

ГА ввел Джон Холланд в1975 г. в своей книге «Adaptation in Natural and Artificial Systems» («Адаптация

в естественных и искусственных системах» )

Page 8: Введение в генетические алгоритмы

Селекция – ранжирование и отбор лучших хромосом (решений) в популяции

Размножение (скрещивание) – производство потомства, которое наследует от родителей их гены

Редукция – исключение худших хромосом (решений) из популяции и формирование нового поколения

Page 9: Введение в генетические алгоритмы

ГА = последовательность генетических операторов Оператор инициализации – генерация начальной

популяции (1-ого поколения) хромосом Оператор селекции (отбора) – ранжирование

хромосом в популяции для участия в процессе скрещивания

Оператор кроссовера – скрещивание лучших (отобранных) хромосом для формирования новых особей

Оператор мутации - случайное или направленное изменение отдельных хромосом (их генов)

Оператор редукции – отбор и удаление хромосом.

Критерии останова для ГА Достигнуто приемлемое качество хромосомы или

целого поколения Сформировано заданное количество поколений Качество хромосом перестало изменяться

Page 10: Введение в генетические алгоритмы

Задание Разработать ГА, осуществляющий

поиск максимального числа в множестве X= {0 .. 31}

Основные Требования Использовать вероятностный

оператор отбора Размер популяции должен быть

постоянен и равен 4 В каждом поколении должен

срабатывать оператор мутации

Дополнительные требования Показать сходимость алгоритма

на примере 2-х поколений

Page 11: Введение в генетические алгоритмы

Задание Разработать программу поиска

кратчайшего пути для информационного пакета (сообщения) в компьютерной сети с помощью ГА

Основные Требования http://it-claim.ru/Education/Course/AI/labs/labs2012_GA1.htm

Дополнительные требования Показать аналитически сходимость

алгоритма на примере 2-3 поколений Формализовать с помощью ГА другие

оптимизационные задачи в компьютерной сети.

Page 12: Введение в генетические алгоритмы

Высокая производительность – работают с битовой строкой, возможно распараллеливание

Заложены механизмы преодоления локальных экстремумов ◦ работают с несколькими точками пространства решений

одновременно ◦ Используется механизм мутации

Используются вероятностные и детерминированные способы порождения новых точек в пространстве решений

Возможно эффективное использование при изменении исходных данных во время решения

Возможность применения в задачах, где не работают классические оптимизационные методы