Лекция: Генетический алгоритм.

В основе генетических алгоритмов лежат генетика и хромо­сомная теория эволюции организмов. Хромосомы — это нитевид­ные структуры, находящиеся в клеточном ядре, которые являют­ся носителями наследственности. Каждая хромосома уникальна морфологически и генетически и не может быть заменена другой либо восстановлена при утере (при потере хромосомы клетка, как правило, погибает). Каждый биологический вид имеет опреде­ленное, постоянное количество хромосом. Каждая клетка содер­жит удвоенный набор морфологически и генетически сходных хромосом. Например, в клетках человека содержится 23 пары хромосом, в клетках комара — 3.

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

. все признаки организма определяются наборами генов;

. гены — это элементарные единицы наследственной инфор­мации, которые находятся в хромосомах;

. гены могут изменяться — мутировать;

. мутации отдельных генов приводят к изменению отдельных элементарных признаков организма, или фенов.

Ген определяется как структурная единица наследственной информации, далее неделимая в функциональном отношении. Он представляет собой участок молекулы ДНК, на котором со­храняется постоянный порядок следования пар нуклеотидов. Комплекс генов, содержащихся в наборе хромосом одного орга­низма, образует геном. Роль молекул ДНК, обладающих уникаль­ной способностью к самовоспроизведению, заключается в хране­нии и передаче генетической информации последующим поко­лениям.

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

1) рекомбинация хромосомных и нехромосомных генов;

2) рекомбинация целевых неroмологических хромосом;

3) рекомбинация участков хромосом, представленных непрерывными молекулами ДНК

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

Кроссинговер соответствует регулярной рекомбинации, при которой происходит обмен определенными участками между гомологичными­

хромосомами. Он приводит к появлению нового сочетания сцепленных генов.

Caйт — это вид рекомбинации, при которой на коротких специализиро­анных участках хромосом происходит обмен генофо­ров (генных носителей), часто различных по объему и составу ге­нетической информации.

Иллегальная рекомбинация допускает негомологичные обме­ны, к которым относятся транслокации, инверсии и случаи не­равного кроссинговера. Такие способы могут оказаться полезны­ми при генерации новых решений.

В генетических алгоритмах наибольшее распространение по­лучила операция кроссинговера, заключающаяся в разрыве гомо­логичных хроматид с последующим соединением их в новом сочетании. Схема кроссинговера, демонстрирующая образование двух новых хромосом после обмена генетическим материалом, приведена на рис. 10.33.

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

А х


В х


а

А1


В1

б

 

 

Рис. 10.33. Схема кроссинговера:

а — родительские хромосомы А, Вдо кроссинroвера; б — хромосомы-потомки А1, В1 после кроссинговера

Кроссинговер может происходить в нескольких точках. При­мер двойного кроссинговера между хромосомами f и w приведен рис. 10.34.

 


Рис. 10.34. Схема двойного кроссинговера: а — до кроссинговера; б — во время кроссинговера; в — после кроссинговера

Помимо кроссинговера для решения различных прикладных задач полезными являются такие генетические операции, как му­тация, инверсия, транслокация, селекция (инбридинг и гибриди­зация), генная инженерия.

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

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

Инверсия, транслокация, транспозиция, делеция и дуплика­ция относятся к разновидностям хромосомной мутации. При ин­версииучасток хромосомы поворачивается на 1800. Транслокациейназывают перенос части одной хромосомы в дрyгyю. При перемещении небольших участков генетического материала в пределах хромосомы используют термин транспозиция. Делеция – это выпадение отдельных участков хромосом, дупликация - повторе­ние участков генетического материала.

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

Генная инженерияпредставляет собой совокупность методов для получения рекомбинантной ДНК и операции над нею. Ре­комбинантная ДНК получается путем объединения фрагментов ДНК различных организмов. Использование подходов генной инженерии позволяет в ряде задач значительно быстрее нахо­дить желаемое решение.

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

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

В генетических алгоритмах используются специфические термины, взятые из генетики, которые трактуются следующим образом (Табл. 10.5).

Понятие генетики. Понятие генетического алгоритма.
Хромосома Решение, стринг, строка, последовательность, родитель, потомок  
Популяция Набор решений (хромосом)
Локус Местоположение гена в хромосоме  
Поколение Цикл работы генетического алгоритма, в процессе которого сгенерировано множество решений  
Ген   Элемент, характеристика, особенная черта, свойство, детектор  
Аллель Значение элемента, характеристики
Фенотип Структура  
Эпистасис   Множество параметров, альтернативные ре­шения  
Скрещивание, рекомбинация, кроссинговер   Оператор рекомбинации  
Мутация Оператор модификации

 

Таблица 10.5. Соответствие понятий генетики генетическим алгоритмам.

 

 

 

При разработке генетических алгоритмов преследуются две главные цели:

. абстрактное и формальное объяснение процессов адапта­ции в естественных системах;

. проектирование искусственных программных систем, вос­производящих механизмы функционирования естественных систем.

Основные отличия ГА от других алгоритмов оптимизации:

. используются не параметры, а закодированные множества параметров;

. поиск осуществляется не из единственной точки, а из популяции точек;

. в процессе поиска используются значения целевой функ­ции, а не ее приращения;

. применяются вероятностные, а не детерминированные пра­вила поиска и генерации решений;

. выполняется одновременный анализ различных областей пространства решений, в связи с чем возможно нахождение но­вых областей с лучшими значениями целевой функции за счет объединения квазиоптимальных решений из разных популяций.

Согласно репродуктивному плану Холланда [14, 26] генетические схемы поиска оптимальных решений включают следующие этапы процесса эволюции рис. 10.35:

 


Рис. 10.35. Простой генетический алгоритм.

1, Конструируется начальная популяция. Вводится начальная точка отсчета поколений t=0. Вычисляются приспособленность хромосом популяции (целевая функция) и средняя приспособ­JI«IIIIOC'I'!> всей популяции.

2. Устанавливается значение t = t + 1. Выбираются два родителя (хромосомы) для кроссинговера. Выбор осуществляется слу­чайным образом пропорционально жизнеспособности хромо­сом, которая характеризуется значениями целевой функции.

3. Формируется генотип потомка. Для этого с заданной вероятностью ­над генотипами выбранных хромосом производится операция кроссинговера. Случайным образом выбирается один из потомков A(t), который сохраняется как член новой популя­ции. Далее к потомку A(t)последовательно с заданными вероят­ностями применяются операторы инверсии и мутации. Полученный в результате генотип потомка сохраняется как A'(t).

4. Обновление текущей популяции путем замены случайно выбранной хромосомы на A'(t).

5. Определение приспособленности A'(t) и пересчет средней приспособленности популяции.

6. Если t= tк, где – конечное число шагов, то переход к этапу 7, в противном случае — переход к этапу 2.

7. Конец работы.

Основная идея эволюции, заложенная в различные конструкции генетических алгоритмов, проявляется в способности «луч­ших» хромосом оказывать большее влияние на состав новой по­пуляции за счет длительного выживания и более многочисленно­го потомства.

Простой генетический алгоритм включает операцию случайной генерации начальной популяции хромосом и ряд опе­раторов, обеспечивающих генерацию новых популяций на осно­ве начальной. Этими операторами являются репродукция, крос­синговер и мутация.

Репродукциейназывается процесс копирования хромосом с учетом значений целевой функции, т.е. хромосомы с «лучшими» значениями целевой функции имеют большую вероятность по­падания в следующую популяцию. Этот процесс является анало­гией митозного деления клеток. Выбор клеток (хромосом) для ре­продукции проводится в соответствии принципом «выживания сильнейшего». Простейшим способом представления операции репродукции в алгоритмической форме является колесо рулетки, в котором каждая хромосома имеет поле, пропорциональное зна­чению целевой функции.

Рассмотрим пример применения простого генетического алгоритма для максимизации функции f(x)=x2на целочисленном интервале [0,31] .(Пример взят из монографии В.М. Курейчика «Генетические алгоритмы».)

Значения аргумента функции f(x)=x2, изменяющегося в ин­тервале от 0 до 31, можно представить пятиразрядными двоичны­ми числами. Первоначальная популяция, состоящая из четырех строк пятиразрядных чисел, полученная с помощью процедуры генерации случайных чисел, приведена во втором столбце табл. 10.6. Значение целевой функции для каждой хромосомы

Таблица 10.6.

 

еще рефераты
Еще работы по информатике