Лекция 9. Эволюционные алгоритмы Файл

advertisement
Модуль 4. Вероятностные и эвристические алгоритмы
Лекция 9
Эволюционные алгоритмы
План лекции
●
Эволюционные алгоритмы
– Генетические алгоритмы
2
Эволюционные алгоритмы
Эволюционные алгоритмы основаны на принципе «выживает наиболее
приспособленный».
Базовые принципы:
●
«Популяция», состоящая из большого количества потенциальных
решений
●
●
Случайные изменения в решениях.
Отбор решений в следующее поколение на основе приспособленности.
Приспособленность отражает качество решения.
Т.е. ЭА — вариант случайного поиска, но вместо одного текущего решения популяция.
3
Эволюционные алгоритмы
Обобщённая схема
1. Создать случайным образом начальную популяцию (N особей).
2. Пока не выполнено условие остановки Выполнять:
2.1. Применить случайные преобразования
2.2. Сформировать новое поколение решений
2.3. Сформировать новую популяцию, отобрав в неё решения на
основе приспособленности.
3. Вернуть наилучшее решение из текущей популяции
4
Эволюционные алгоритмы
Достоинства ЭА
●
●
●
●
Универсальный механизм для решения большого класса оптимизационных
задач
Применимы для слабо формализованных задач
Применимы для задач с большим пространством решений сложного
ландшафта
Достаточно легко распараллеливаются
Недостатки ЭА
●
Нет гарантий качества результата
●
Универсальность => не учитываются особенности конкретной задачи
●
Обычно требуют значительных вычислительных затрат
5
Генетические алгоритмы
Наиболее известная и широко используемая разновидность эволюционных
вычислений.
Отличительные особенности:
●
Потенциальное решение представляется в виде цепочки символов (обычно
бинарных, но возможен и произвольный алфавит) — «хромосома» или
«особь». Отдельные символы называются генами.
●
Для получения следующей популяции к текущей популяции применяются
генетические операторы: мутация, скрещивание, отбор. Т.е. кроме чисто
вероятностных преобразований (мутаций) используются скрещивания преобразования, «сохраняющие» и «усиливающие» удачные фрагменты
решений.
6
Генетические алгоритмы
7
Генетические алгоритмы
Ключевые параметры конкретного ГА:
●
Представление потенциальных решений
●
Оценка приспособленности
●
Операция мутации
●
Операция скрещивания
●
Операция отбора (селекции)
8
Генетические алгоритмы
Представление решений в виде хромосом
Хромосома = слово в заданном алфавите. Чаще используется алфавит
{0,1}, но можно использовать и произвольный алфавит.
Примеры представлений:
●
●
«Упаковка ящиков», «Рюкзак», «Покрытие множества» естественное представление решения в виде характеристического 01 вектора.
«Коммивояжёр»:
–
двоичное слово: входит ли i-я дуга в искомый цикл
–
перестановка вершин
9
Генетические алгоритмы
Мутация
Независимое преобразование отдельных хромосом.
Варианты операторов мутации:
●
●
Случайно выбирается хромосома, в ней случайно выбирается
изменяемый ген
Во всех хромосомах каждый ген меняется с вероятностью pm.
Иногда используются альтернативные варианты мутаций:
●
Перестановка элементов — подходит для случая, когда хромосома =
перестановка
10
Генетические алгоритмы
Скрещивание (кроссовер, кроссинговер)
Построение новых решений за счёт рекомбинации фрагментов
имеющихся решений.
Варианты выбора пар хромосом:
●
●
выбирается k случайных пар из популяции
вся популяция случайно разбивается на пары, каждая пара
скрещивается с вероятностью pc
11
Генетические алгоритмы
Вариаты оператора скрещивания:
●
Одноточечное скрещивание
–
Случайно выбирается позиция разрыва
–
Фрагменты хромосом меняются парами
●
Двухточечное скрещивание
●
Однородное скрещивание
–
Каждый ген с заданной вероятностью
остаётся в «родной» хромосоме или
переходит в другую
12
Генетические алгоритмы
Отбор
С помощью операции отбора (селекции) формируется новое поколение
популяции. Отбор выполняется случайным образом на основе
приспособленности каждой хромосомы — более приспособленные
хромосомы имеют больше шансов выжить.
Классический вариант отбора:
●
рассчитать для каждой хромосомы её приспособленность (fitness) fi
●
рассчитать среднее значение приспособленности: f
●
для каждой хромосомы в новую популяцию попадает:
–
int(fi / f) копий этой хромосомы
–
ещё одна копия с вероятностью {fi / f}
13
Генетические алгоритмы
Альтернативные варианты отбора
●
Турнирный отбор
Для выбора N хромосом проводится N турниров. Для каждого
турнира случайно выбираются k хромосом и в новое поколение
отбирается наилучашая из них.
●
Элитный отбор
Гарантированно выживают k наилучших решений, остальные
отбираются каким-то другим способом.
14
Генетические алгоритмы
Схемы
Теорема схем доказана Дж.Холландом в 1975 г.
Модель ГА:
●
хромосомы = двоичные строки длины L
●
«классический» вариант отбора
●
одноточечное скрещивание
●
мутация: каждый ген инвертируется с заданной вероятностью pm
Схема (шаблон) = строка длины L в алфавите {0,1,*}.
Символ '*' - «джокер», соответствует 0 или 1.
15
Генетические алгоритмы
Схемы
Схема задаёт подмножество возможных значений хромосомы — гиперкуб в
{0,1}L.
Порядок схемы H = количество 0 или 1 в ней.
Определяющая длина H = максимальная длина фрагмента, не содержащего '*'
16
Генетические алгоритмы
Теорема схем
Здесь:
H — схема (гиперплоскость)
f(H,t) — средняя приспособленность хромосом, соответствующих схеме H, в
момент t
pc — вероятность скрещивания двух хромосом
pm — вероятность мутации
o(H) и D(H) — порядок и определяющая длина схемы
P(H,t) — доля хромосом, представляющих H в популяции в момент t
17
Download