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

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

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

8.2. Пошаговое обучение на основе виртуальной популяции

Следующим рассмотрим подход, предложенный в [2] – PBIL (Population-Based Incremental Learning). На основе представления популяции вектором вероятности P=(p_1,p_2,\dots ,p_N) вместо стандартного ГА используется следующий алгоритм поиска оптимального решения:


Как видно из псевдокода, виртуальная популяция каждый раз случайным образом генерируется согласно текущему вектору вероятностей, который корректируется в сторону лучшей особи. Метод корректировки вектора вероятностей, по сути, взят из конкурирующего метода обучения нейронных сетей без учителя. Таким образом, здесь "эволюционирует" вектор вероятностей. Этот подход развит многими авторами и некоторые его модификации допускают достаточно простую аппаратную реализацию.

8.3. Компактный генетический алгоритм

Компактный ГА (КГА)[3], как и PBIL, модифицирует вектор вероятности, однако помимо фазы кроссинговера здесь также игнорируется и фаза мутации, что позволяет сконцентрировать все внимание на механизме селекции, который основан на турнирном методе отбора особей. Кроме того, компактный ГА моделирует конечную популяцию и требует меньше вычислительных ресурсов. Псевдокод алгоритма представлен ниже:


Критерием остановки работы алгоритма выступает следующее условие: (p_i>0)\&(p_i<1) для всех 1\le i\le N.

8.4. Генетический алгоритм SELFISH

Данный алгоритм был разработан в [4] на основании современной интерпретации Дарвиновской теории механизмов естественного отбора, предложенной биологом Ричардом Доукинзом. Ключевым моментом нового подхода стала гипотеза о том, что базовым элементом эволюции является ген, а не особь. В связи с этим рассматриваются хромосомы, гены которых могут принимать различное количество значений в зависимости от своего расположения внутри хромосомы. Поэтому вектор вероятностей трансформируется в более сложную структуру: P=(P_1,P_2,\dots ,P_N), где P_i=(p_{i1},p_{i2},\dots ,p_{in_i})

Отметим, что здесь P_i могут иметь различную мощность n_i, поскольку разные гены могут принимать различное число значений. Псевдокод предложенного алгоритма SELFISH имеет следующий вид:


Здесь функция "поощрение" увеличивает, а функция "наказание" уменьшает текущие вероятности для соответствующих значений всех генов в хромосоме на \varepsilon_i. То есть

p_{iH_i}=p_{iH_i}\pm\varepsilon_i
для всех 1\le i\le N,где H– некоторая хромосома.

Функция "выбор_особи" выполняется следующим образом:


Как видно из псевдокода она, помимо всего прочего, реализует процесс мутирования генов.

В заключение добавим, что критерий останова работы алгоритма определяется как состояние, в котором для каждого гена (локуса) L_i существует аллель (одно из возможных значений гена) a_{ij}, чья вероятность больше заданного p_i(обычно принимает значение ).

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