Лабораторная работа №6

«Генетические алгоритмы».

 

Цель работы:Получить практические навыки в создании и использовании генетических алгоритмов.

 

Теоретические сведения:

Подобно нейронным сетям, генетические алгоритмы основываются на свойствах биологического прототипа. В рамках этого подхода обучение рассматривается как кон­куренция внутри популяции между эволюционирующими кандидатами на роль решения задачи. Каждое решение оценивается согласно критерию отбора. По результатам оценки определяется, будет ли этот экземпляр участвовать в следующем поколении решений. Затем с помощью операций, аналогичных трансформации биологического воспроизводства, создается новое поколение решений-кандидатов.

Пусть Р(t) — поколение решений-кандидатов в момент времени t P(t) = { , ,…, }.

В общем виде генетический алгоритм можно представить следующим образом.

procedure genetic algorithm;

begin

установить t:=0;

инициализировать популяцию P(t);

while не достигнуто условие завершения

begin

вычислить значение критерия качества для каждого члена

популяции P(t);

на основе значений критерия качества выбрать из Р(t) нужное

число членов;

создать следующее поколение с помощью генетических операций;

заменить с учётом значений критерия качества особей

популяции P(t) их потомками;

установить время t: = t+1

end.

end.

Этот алгоритм отражает основные принципы генетического обучения. Его конкретные реализации могут отличаться в зависимости от задачи. Какое процентное соотноше­ние особей выживает в следующем поколении? Сколько особей участвуют в скрещива­нии? Как часто и к кому применяются генетические операторы? Процедуру "заменить особей популяции P(t)" можно реализовать простейшим образом, заменив фиксиро­ванное процентное соотношение слабейших кандидатов. Более сложный подход со­стоит в упорядочении популяции согласно критерию качества и удалении особей с учетом вероятности, обратно пропорциональной значению критерия качества. Такую меру можно использовать для выбора исключаемых особей. И хотя для наилучших особей популяции вероятность их исключения очень низка, все же существует шанс удаления самых "сильных" особей популяции. Преимущество этой схемы состоит в возможности сохранения некоторых "слабых" особей, которые в дальнейшем могут внести свой вклад в получение более точного решения.Такой алгоритм замены извес­тен под многими именами, в том числе как метод Монте-Карло (Monte-Carlo), правило рулетки (roulette wheel) или алгоритм отбора пропорционально критерию качест­ва (fitness proportionate selection).

Решение задачи будем описывать с помо­щью обычных битовых строк. Предположим, что необходимо с помощью генетического алгоритма научиться классифицировать строки, состоящие из единиц и нулей. В такой задаче популяцию битовых строк можно описывать с помощью шаблона, состоящего из 1, 0 и символов #, которые могут соответствовать как 1, так и 0. Следовательно, шаблон 1##00##1 представляет всё восьмибитовые строки, начинающиеся, заканчивающиеся 1 и содержащие в середине строки два нуля подряд.

При работе генетического алгоритма популяция кандидатов Р(0) некоторым образом инициализируется. Обычно инициализация выполняется с помощью датчика случайных чисел. Для оценки решений-кандидатов вводится критерий качества f( ), определяю­щий меру соответствия каждого кандидата в момент времени t. При классификации ме­рой соответствия кандидатов является процентное соотношение правильных ответов на множестве обучающих примеров. При таком критерии качества каждому решению-кандидату соответствует значение

f ( ) / m (Р, t) ,

где m (Р, t) — среднее значение критерия качества для всех членов популяции. Обычно мера соответствия изменяется во времени, поэтому критерий качества может быть функ­цией от стадии решения всей проблемы или f( ).

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