Московский государственный университет путей сообщения
Опубликован: 10.10.2014 | Доступ: свободный | Студентов: 869 / 193 | Длительность: 22:10:00
Лекция 8:

Вероятностные и компактные генетические алгоритмы

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >
Аннотация: В настоящее время кроме детерминированных ГА разработаны и достаточно широко применяются вероятностные ГА (ВГА), в которых популяция представляется вектором вероятности. В данной лекции представлены основные ВГА, к которым относятся: базовый ВГА, пошаговое обучение на основе виртуальной популяции, компактный генетический алгоритм, генетический алгоритм SELFISH. Все они, в отличие от классического ГА, где популяция состоит из множества двоичных стрингов, основаны на вероятностном представлении популяции вектором вероятностей. Для разных ВГА применяются различные генетические операторы, которые здесь детально описаны.

8.1. Вероятностные генетические алгоритмы

Рассмотрим представление популяции вектором вероятностей на следующем примере для трех различных популяций состоящих из четырех хромосом дан ниже:


Здесь популяция, состоящая из двоичных хромосом, представляется вектором P, каждый элемент которого устанавливает относительную частоту появления гена "1" на соответствующей позиции.

Впервые такое представление было введено в [1] (Equilibrium Genetic Algorithm) и взято за основу в последующих работах [2,3,4,5,6]. В [1] на этой основе проведены теоретические исследования вопросов сходимости ГА и показано, что для ряда классических задач вероятностный ГА дает результаты, не уступающие стандартному ГА с однородным кроссинговером и стратегией элитизма при отборе родителей.

В этом случае эволюция популяции соответствует траектории в гиперкубе пространства (p_1,p_2,\dots ,p_N). Траектория начинается в середине единичного гиперкуба (p_i=0,5 для всех 1\le i\le N) и заканчивается в одной из его вершин, которая соответствует найденному решению (двоичному коду), как это показано на рис.8.1.

В классическом ГА популяция представляется множеством двоичных векторов и изменяется путем применения операторов репродукции, кроссинговера и мутации. "Вероятностный" ГА работает не с исходной популяцией (множеством двоичных векторов), а непосредственно с ее вероятностным представлением – вектором вероятностей P=(p_1,p_2,\dots ,p_N). В этом случае [1] генетические операторы выполняются следующим образом.

Траектория эволюции популяции на плоскости

Рис. 8.1. Траектория эволюции популяции на плоскости

Репродукция. В соответствии с текущим распределением вероятностей P генерируется некоторое (относительно небольшое) множество двоичных векторов – особей. Для каждой из построенных особей вычисляется значение фитнесс-функции. Затем вектор вероятностей P сдвигается в сторону особи v (вершины гиперкуба), имеющей лучшее значение фитнесс-функции: P'=(1-\theta)P+\theta v. Здесь \theta\in(0;1)– фиксированное вещественное число. Если несколько особей имеют наилучшее значение, то случайным образом выбирается одна из них.

Мутация. Каждая координата вектора P корректируется случайным образом с вероятностью p'_i=(1-\mu)p_i+\mu z_i, где \mu\in(0;1)– вещественный параметр, а z_i принимает значения и с равной вероятностью. Таким образом, p_i сдвигается на небольшое расстояние в направлении или в соответствии со случайным значением z_i. В [1] показано, что оператор кроссинговера в этом случае не является необходимым.

Очевидно, что из построенного вектора вероятностей P легко получить двоичный вектор, представляющий решение задачи. Если p_i=1 (или близко к 1), то значение гена x_i=1, в противном случае x_i=0. Эксперименты показали, что для некоторых задач этот подход дает результаты, сравнимые с классическим ГА при меньших затратах вычислительных ресурсов.

< Лекция 7 || Лекция 8: 1234 || Лекция 9 >