2.4.8. Базовый генетический алгоритм В задачах принятия решений и структурного синтеза любая альтернатива представляется значениями параметров хi, относящихся к некоторому множеству X. В генетических методах множеству X соответствует запись, называемая хромосомой, элементы хромосомы соответствуют параметрам хi, их называют генами, а значения генов - аллелями. Каждый ген размещается в хромосоме в некоторой позиции - локусе. В случае геометрической интерпретации каждому гену соответствует одна из осей координатного пространства, а хромосоме - некоторая точка поискового пространства. Очевидно, что в большинстве практически значимых задач оптимизации и структурного синтеза число возможных альтернатив столь велико, что явное представление множества альтернатив невозможно. Поэтому в каждый момент поиска генетический алгоритм оперирует подмножеством альтернатив мощности N, представляющим некоторые N точек пространства структурных параметров. Это подмножество называют популяцией, a N— размером популяции. Хромосома, представленная конкретными значениями своих генов, есть проектная альтернатива, или экземпляр хромосомы. Основная идея генетического алгоритма заключается в эволюции популяции, повторяющей некоторые черты эволюции организмов в живой природе. Если цель эволюции в живой природе - обеспечение наибольшей жизнеспособности популяции в условиях окружающей среды, то цель эволюции в генетическом алгоритме -получение экземпляров с наилучшими значениями определенных критериев, характеризующих качество экземпляра, т.е. синтезируемой структуры. Как и в других методах синтеза, в генетическом методе при наличии нескольких критериев задача должна быть сведена к однокритериальной путем свертки векторного критерия. Получающуюся целевую функцию часто называют функцией полезности (fitness function). Множество возможных экземпляров хромосомы называют генотипом, а множество экземпляров вместе со значениями характеризующих их критериев - фенотипом. Таким образом, цель генетического поиска - найти экземпляр хромосомы, имеющий значение функции полезности, максимально близкое к ее экстремальному экстремума значению. Направленный осуществляется генетических операторов в поиск генетическом выбора малой алгоритме родителей, окрестности с помощью кроссовера, мутации, селекции, переупорядочения, поясняемых далее. Генетические алгоритмы имитируют эволюционный процесс приближения к оптимальному результату, начиная с некоторого исходного поколения структур, представленных экземплярами хромосом. Этот процесс в базовом генетическом алгоритме является вложенным циклическим вычислительным процессом. Внешний цикл имитирует смену поколений. Во внутреннем цикле формируются члены очередного поколения. Члены исходного поколения генерируются случайным образом. При этом для каждого гена задана область определения, например в виде интервала [хmin, xmax], и значения генов выбираются с равной вероятностью в его пределах. Результатом каждого очередного витка внешнего цикла является новое поколение, о качестве которого судят по экземпляру хромосомы с лучшим значением целевой функции F. Характер приближения к экстремуму обычно таков, что на начальных витках скорость улучшения целевой функции довольно значительная, но по мере приближения к экстремуму она замедляется и может наступить прекращение улучшения F на некотором удалении от экстремальной точки. Это явление называют стагнацией. Обычно она происходит из-за вырождения популяции - потери разнообразия генного материала. Поиск прекращают чаще всего при появлении признаков стагнации, о чем свидетельствует неулучшение целевой функции на протяжении нескольких последних поколений, либо по исчерпании лимита отведенного времени на решение задачи. Во внутреннем цикле базового генетического алгоритма выполняется следующая последовательность генетических операторов: выбор родителей, кроссовер (скрещивание), мутация, селекция. Порождение новых экземпляров хромосом происходит в процессе скрещивания (кроссовера) родительских пар. Выбор пары членов популяции в качестве родителей производится случайным образом среди членов данного поколения. При этом вероятность выбора экземпляров в качестве родителей в базовом генетическом алгоритме зависит от их значений функции полезности, т.е. чем лучше значение F, тем выше должна быть вероятность выбора. Чаще всего для выбора родителей применяют правило, называемое правилом рулетки. В нем вероятность Pk выбора k-го члена популяции в качестве родителя определяется как отношение полезности данного члена к суммарной полезности всех членов популяции. Если целевая функция минимизируется, то (2.4) где Fk- целевая функция k-ro экземпляра; Fmax -максимальное значение целевой функции среди членов данного поколения; N- размер популяции. Кроссовер заключается в разрыве двух выбранных родительских хромосом и рекомбинировании образовавшихся хромосомных отрезков, что дает пару хромосом потомков. На рис. 2.13 представлен пример кроссовера (разрыв после третьего локуса) и рекомбинации отрезков. Здесь два верхних экземпляра - родители, два нижних - потомки. Для наглядности гены одного родителя обозначены буквами, другого - цифрами. Родители Потомки 1 * 1 » а b с d е f g h i j 1 2 3 4 5 б 7 8 9 10 а 6 с 4 5 б 7 8 9 10 т I 2 3 d е f g h i j t o » Рис. 2.13. Кроссовер и рекомбинация Мутации, т.е. случайные изменения некоторых аллелей, предназначены для реализации поиска в пространстве всех возможных экземпляров хромосом. Без мутаций поиск не может выйти за пределы того подмножества экземпляров хромосом, в котором аллели совпадают со сгенерированными значениями генов в начальной популяции. Например, если в некотором гене, отображающем дни недели, в хромосомах начальной популяции оказались сгенерированными только значения «понедельник», «среда», «четверг» и «воскресенье», то при выполнении операторов кроссовера или селекции значения «вторник», «пятница» и «суббота» появиться не могут. Мутации устраняют этот недостаток. Они происходят в очередном гене с некоторой заданной достаточно малой (сотые - тысячные доли) вероятностью РМ .При мутациях значение гена выбирается случайным образом среди множества возможных значений, т.е. в нашем примере произойдет равновероятный выбор среди всех семи возможных дней недели. Селекция - это отбор членов нового поколения среди потомков, полученных в результате кроссовера и мутаций в данном поколении. В базовом генетическом алгоритме в новое поколение включается лучший из двух потомков, порожденных после кроссовера. Внутренний цикл заканчивается, когда окажется сформированным новое поколение, т.е. в нем будет N членов. Генетические алгоритмы выражают эволюцию популяции в направлении от полезности начального поколения к окрестностям экстремума. Обоснование этого положения содержится в основной теореме генетического подхода теореме шаблонов. В этой теореме вводится понятие схемы (шаблона), которая определяется как совокупность фиксированных значений генов в определенных локусах. Например, в хромосоме с 10 генами одна из схем Н, включающая единицы в четвертом и восьмом локусах и нуль в седьмом локусе, может быть записана в виде Н = ***1**01**, где * обозначает позиции, не входящие в схему. (2.5) Обозначим число экземпляров схемы Н в поколении с номером t через К(Н, t). Введем также следующие обозначения: N- размер (число хромосом) популяции; Q - множество номеров членов популяции, в хромосомах которых имеется схема Н; D(Н) - длина схемы Н, т.е. расстояние (число позиций) между крайними локусами схемы, так, в случае (2.5) имеем D(Н) = 8-4 = 4; L(Н) - порядок схемы Н (число локусов в Н), в примере (2.5) порядок равен 3; п - длина хромосомы. Тогда, если выбор родителей осуществляется по формуле (2.4), то число Кр схем Н, усредненное по N актам выбора родителей, в выбираемых родительских хромосомах равно Очевидно, что где Fav(H) - усредненная полезность экземпляров со схемой Н; Fo усредненная полезность всех экземпляров популяции. Поэтому При простом одноточечном кроссовере в хромосому потомка схема попадет (т.е. не будет разорвана) с вероятностью При мутации, происходящей с вероятностью РM для каждой позиции, вероятность сохранения схемы Н, определяемая приблизительно равна 1 - L(Н)РM . Поэтому вероятность выживания схемы Н равна как (1 - PM)L(H), где РС - вероятность кроссовера Следовательно, число схем из хромосом перспективных родителей (Fav > Fo), имеющих лучшие значения функции полезности, увеличивается в генотипах популяции от поколения к поколению по показательному закону, пока не наступит стагнация, при которой Fav (H)= F o. Скорость роста К(Н, t) тем выше, чем больше Fav(H) и чем меньше длина D(Н) и порядок L(H) схемы Н.