Интеллектуальные информационные технологии и системы: генетические алгоритмы
Санкт-Петербургский государственный инженерно-экономический университет Филиал в городе Череповце
Кафедра "Общепрофессиональные и специальные дисциплины"
Реферат
По дисциплине "Информационные технологии в экономике"
Тема "Интеллектуальные информационные технологии и системы: генетические алгоритмы"
Студентки 3 курса
группы 4ЭУП-05
Валигура Т.В.
Череповец, 2007
Содержание
1. Генетические алгоритмы
2. Простой генетический алгоритм
3. Разновидности генетических алгоритмов
Генетические алгоритмы
В основе генетических алгоритмов лежат генетика и хромосомная теория эволюции организмов. Хромосомы – это нитевидные структуры, находящиеся в клеточном ядре, которые являются носителями наследственности. Каждая хромосома уникальна морфологически и генетически и не может быть заменена другой либо восстановлена при утере (при потере хромосомы клетка, как правило, погибает). Каждый биологический вид имеет определённое, постоянное количество хромосом. Каждая клетка содержит удвоенный набор морфологически и генетически сходных хромосом. Например, в клетках человека содержится 23 пары хромосом, в клетках комара – 3.
На процесс наследования признаков существенно влияет поведение хромосом при делении клеток. Существует митозное и мейозное деление клеток. Митозное деление обеспечивает распределение исходных хромосом и будут между двумя образующимися дочерними клетками, которые будут иметь равноценные наборы хромосом и будут очень похожи друг на друга. При этом происходит редупликация исходных хромосом, вследствие чего к моменту деления клетки каждая хромосома состоит из двух копий исходной материнской хромосомы – сестринских хроматид.
Во время мейоза происходит два последовательных деления: редукционное и эквационное. Мейоз приводит к образованию клеток, у которых число хромосом вдвое меньше по сравнению с исходной клеткой.
В фазе редукции хроматиды обмениваются генами, т.е. участками дезоксирибонуклеиновой кислоты (ДНК). После этого клетка разделяется на две новые, причём каждая из них содержит удвоенный набор хромосом, структуры которых отличаются от исходных. Механизм обмена генами называется кроссинговером.
В результате эквационного деления из двух получившихся клеток образуются четыре клетки, каждая из которых содержит одиночный набор хромосом.
Таким образом, митоз обеспечивает возобновление клеток, а мейоз отвечает за передачу наследственной информации и способствует генетическому разнообразию организмов данного вида.
Классическая генетика обосновала наследственность и изменчивость благодаря созданию фундаментальной теории гена, основные положения которой формулируются следующим образом:
Все признаки организма определяются наборами генов;
Гены - это элементарные единицы наследственной информации, которые находятся в хромосомах;
Гены могут изменяться – мутировать;
Мутации отдельных генов приводят к изменению отдельных элементарных признаков организма, или фенов.
Ген определяется как структурная единица наследственной информации, далее неделимая в функциональном отношении. Он представляет собой участок молекулы ДНК, на котором сохраняется постоянный порядок следования пар нуклеотидов. Комплекс генов, содержащихся в наборе хромосом одного организма, образует геном. Роль молекул ДНК, обладающих уникальной способностью к самовоспроизведению, заключается в хранении и передаче генетической информации последующим поколениям.
В задачах поиска оптимальных решений каждое решение из множества возможных можно представить набором информации , который может быть изменён путём введения в него элементов другого решения. Другими словами, возможные решения соответствуют хромосомам, состоящим из генов, причём в ходе оптимизации происходит обмен генами между хромосомами (рекомбинация). При построении генетических алгоритмов важен выбор принципа генетической рекомбинации. Существует несколько типов перераспределения наследственных факторов:
1. рекомбинация хромосомных и нехромосомных генов;
2. рекомбинация целевых негомологических хромосом;
3. рекомбинация участков хромосом, представленных непрерывными молекулами ДНК.
Для построения генетических алгоритмов наибольший интерес представляет третий тип рекомбинации, который используется для накопления в конечном решении лучших функциональных признаков, какие имелись в наборе исходных решений. Существует несколько типов рекомбинации участков хромосом: кроссинговер, сайт, иллегальная рекомбинация.
Кроссинговер соответствует регулярной рекомбинации, при которой происходит обмен определёнными участками между гомологичными хромосомами. Он приводит к появлению нового сочетания сцепленных генов.
Сайт – это вид рекомбинации, при которой на коротких специализированных участках хромосом происходит обмен генофоров (генных носителей), часто различных по объёму и составу генетической информации.
Иллегальная рекомбинация допускает негомологичные обмены, к которым относятся транслокации, инверсии и случаи неравного кроссинговера. Такие способы могут оказаться полезными при генерации новых решений.
В генетических алгоритмах наибольшее распространение получила операция кроссинговера, заключающаяся в разрыве гомологических хроматид с последующим соединением их в новом сочетании.
Основная цель кроссинговера заключается в создании из имеющегося генетического материала желаемой комбинации признаков в одном решении.
Помимо кроссинговера для решения различных прикладных задач полезными являются такие генетические операции, как мутация, инверсия, транслокация, селекция (инбридинг и гибридизация),генная инженерия.
Под мутацией понимается генетическое изменение, приводящее к качественно новому проявлению основных свойств генетического материала: дискретности, непрерывности или линейности. Свойство дискретности позволяет выделить в исходном генетическом материале отдельные фрагменты, контролирующие те или иные функции. Непрерывность означает, что определённые комбинации генов совместно контролируют некоторую функцию. Линейность проявляется в определённой последовательности генов в пределах группы сцепления.
Процессы мутации ведут к получению более разнообразного генетического материала. В связи с этим применение операции мутации в генетических алгоритмах направлено на получение решений, которые не могут быть улучшены качественно посредством кроссинговера.
Инверсия, транцлокация, транспозиция, делеция и дупликация относятся к разновидностям хромосомной мутации. При инверсии участок хромосомы поворачивается на 1800. транслокацией называют перенос части одной хромосомы в другую. При перемещении небольших участков генетического материала в пределах одной хромосомы используют термин транспозиция. Делеция – это выпадение отдельных участков хромосом, дупликация – повторение участка генетического материала. Кроме перечисленных, существуют другие разновидности хромосомных мутаций.
Селекция представляет собой форму искусственного отбора, который может быть массовым или индивидуальным. Установлено, что массовый отбор по фенотипу (совокупности всех внешних и внутренних признаков) менее эффективен, чем индивидуальный, когда популяцию делят на отдельные линии, а для размножения выбирают носителей желаемых свойств. Применение процедуры селекции в генетических алгоритмах оптимизации способствует ускорению процесса синтеза искомого решения.
Генная инженерия представляет собой совокупность методов для получения рекомбинантной ДНК и операции над нею. Рекомбинантная ДНК получается путём объединения фрагментов ДНК различных организмов. Использование подходов генной инженерии позволяет в ряде задач значительно быстрее находить желаемое решение.
Механизм эволюции основан на трёх повторяющихся процессах: отборе, амплификации (процесс производства потомков) и мутации. Он используется в качестве механизма случайно направленного комбинаторного перебора при решении задач оптимизации и слабоструктурированных проблем принятия решений.
Генетический алгоритм – это поисковый алгоритм, основанный на природных механизмах селекции и генетики. Эти алгоритмы обеспечивают выживание сильнейших решений из множества сгенерированных, формируя и изменяя процесс поиска на основе моделирования эволюции исходной популяции решений. Генетические алгоритмы сконструированы таким образом, что при генерации каждой новой популяции используются фрагменты исходных решений, к которым добавляются новые элементы , обеспечивающие улучшение решений относительно сформулированного критерия отбора. Другими словами, генетические алгоритмы используют информацию, накопленную в процессе эволюции.
В генетических алгоритмах используются специфические термины, взятые из генетики, которые трактуются следующим образом.
Генетика |
Генетические алгоритмы |
хромосома |
Решение, стринг, строка, последовательность, родитель, потомок |
популяции |
Набор решений (хромосом) |
локус |
Местоположение гена в хромосоме |
поколение |
Цикл работы генетического алгоритма, в процессе которого сгенерировано множество решений. |
аллель |
Значение элемента, характеристики |
фенотип |
Структура |
эпистасис |
Множество параметров, альтернативные решения |
Скрещивание, рекомбинация, кроссинговер |
Оператор рекомбинации |
мутация |
Оператор модификации |
При разработке генетических алгоритмов преследуется две главные цели:
Абстрактное и формальное объяснение процессов адаптации в естественных системах;
Проектирование искусственных программных систем, воспроизводящих механизмы функционирования естественных систем.
Основные отличия ГА от других алгоритмов оптимизации:
Используются не параметры, а закодированная множества параметров;
Поиск осуществляется не из единственной точки, а из популяции точек;
В процессе поиска используются значения целевой функции, а не её приращения;
Применяются вероятные, а не детерминированные правила поиска и генерации решений;
Выполняется одновременный анализ различных областей пространства решений, в связи с чем возможно нахождение новых областей с лучшими значениями целевой функции за счёт объединения квазиоптимальных решений из разных популяций.
2. Простой генетический алгоритм
Согласно репродуктивному плану Холланда генетические схемы поиска оптимальных решений включают следующие этапы процесса эволюции:
конструируется начальная популяция. Вводится начальная точка отсчёта поколений t = 0. вычисляются приспособленность хромосом популяции (целевая функция) и средняя приспособленность всей популяции.
устанавливается значение t = t+1. выбираются два родителя (хромосомы) для кроссинговера. Выбор осуществляется случайным образом пропорционально жизнеспособности хромосом, которая характеризуется значениями целевой функции.
формируется генотип потомка. Для этого с заданной вероятностью над генотипами выбранных хромосом производится операция кроссинговера. Случайным образом выбирается один из потомков А(t), который сохраняется как член новой популяции. Далее к потомку А(t) последовательно с заданными вероятностями применяются операторы инверсии и мутации. Полученный в результате генотип потомка сохраняется как А(t).
обновление текущей популяции путём замены случайно выбранной хромосомы на А(t)/
определение приспособленности А (t) и пересчёт средней приспособленности популяции.
если t=t, где t – заданное число шагов, то переход к этапу 7, в противном случае – переход к этапу 2.
конец работы.
Основная идея эволюции, заложенная в различные конструкции генетических алгоритмов, проявляется в способности "лучших" хромосом оказывать большее влияние на состав новой популяции за счёт длительного выживания и более многочисленного потомства.
Простой генетический алгоритм включает операцию случайной генерации начальной популяции хромосом и ряд операторов, обеспечивающих генерацию новых популяций на основе начальной. Этими операторами являются репродукция, кроссинговер и мутация.
Репродукцией называется процесс копирования хромосом с учётом значений целевой функции, т.е. хромосомы с "лучшими" значениями целевой функции имеют большую вероятность попадания в следующую популяцию. Этот процесс является аналогией митозного деления клеток выбор клеток (хромосом) для репродукции проводится в соответствии принципом "выживания сильнейшего". Простейшим способом представления операции репродукции в алгоритмической форме является колесо рулетки, в котором каждая хромосома имеет поле, пропорциональное значению целевой функции.
3. Разновидности генетических алгоритмов
Генетический алгоритм Девиса (25) включает следующие шаги:
инициализация популяции хромосом.
оценка каждой хромосомы в популяции.
создание новых хромосом посредством изменения и скрещивания текущих хромосом (применение операторов мутации и кроссинговера).
устранение хромосом из популяции для замены их новыми.
оценка новых хромосом и включение их в популяцию.
проверка условия исчерпания ресурса времени, отведённого на поиск оптимального решения (если время исчерпано, то работа алгоритма завершается и производится возврат к наилучшей хромосоме, в противном случае – переход к шагу 3).
Холланд (14,26) предложил для генетического алгоритма оператор инверсии, который реализуется по схеме:
стринг (хромосома) В=(b>1>,b>2>,…..,b>1>) выбирается случайным образом из текущей популяции.
из множества Y= (0,1,2,…., L +1) случайным образом выбираются два числа у>1> и у>2> и определяются значения х1=min(у>1>,у>2>).
из хромосомы В формируется новая хромосома путём инверсии (обратного порядка) сегмента, лежащего справа от позиции х>2 >в хромосоме В. После применения оператора инверсии строка В примет вид В = (b>1>, ….,b>x>>1>, b>x>>2>=1, >bx>>2-2>, …,b>x>>1>+1, b>x>>2>, …, b>L>).
Например, для строки В=(1,2,3,4,5,6) при выборе у>1>=6 и у>2>=2 и соответственно х>1>=2, х>2>=6 результатом инверсии будет В= (1,2,3,4,5,6).
Операции кроссинговера и мутации, используемые в простом ГА, изменяют структуру хромосом, в том числе разрушают удачные фрагменты найденных решений, что уменьшает вероятность нахождения глобального оптимума. Для устранения этого недостатка в генетических алгоритмах используют схемы (схематы или шаблоны), представляющие собой фрагменты решений или хромосом, которые желательно сохранить в процессе эволюции. При использовании схем в генетическом алгоритме вводится новый алфавит (0,1,), где интерпретируется как "имеет значение 1 или 0". Например:
Схема(*0000) соответствует двум стрингам (10000 и 00000);
Схема (*111*) соответствует четырём строкам (01110, 11110, 01111, 11111);
Схема (0*1**) может соответствовать восьми пятизначным стрингам.
В общем случая хромосома длиной L максимально может иметь 3L (шаблонов), но только 2L различных альтернативных стрингов. Это следует из факта , что схеме (**) в общем случае могут соответствовать 32=9 стрингов, а именно (**, *1, *0,1*, 0*, 00, 01, 10 11), и только 22=4 альтернативные строки (00, 01, 10, 11), т.е. одной и той же строке может соответствовать несколько схем.
Если в результате работы генетического алгоритма удалось найти схемы типа (11***) и (**111), то, применив к ним, оператор кроссинговера, можно получить хромосому (11111), обладающую наилучшим значением целевой функции.
Схемы небольшой длины называются строительными блоками. Размер строительных блоков заметно влияет на качество и скорость нахождения результата. Вид строительного блока выбирается с учётом специфики решаемой задачи, а их разрыв в генетических алгоритмах допускается только в исключительных случаях, определяемых пользователем. Например, в схеме (****1) строительным блоком является элемент1, а в схеме (10***) – составной элемент10.
При использовании большого числа строительных блоков генетические алгоритмы, основанные на случайной генерации популяций и хромосом, переходят в разряд беспорядочных.
Стационарные генетические алгоритмы отличаются от поколенческих тем, что у первых размер популяции является заданным постоянным параметром, который определяется пользователем, а у вторых размер популяции в последующих генерациях может увеличиваться или уменьшаться.
Процедура удаления лишних хромосом в стационарных и поколенческих генетических алгоритмах основана на эвристических правилах, примерами которых являются следующие
случайное равновероятное удаление хромосо;
удаление хромосом, имеющих худшие значения целевой функции;
удаление хромосом на основе обратного значения целевой функции;
удаление хромосом на основе турнирной стратегии.
Следует иметь в виду, что использование в генетических алгоритмах тех или иных эвристик удаления хромосом может повлечь за собой негативные последствия. Например, удаление худших хромосом приводит к повреждённый утрате разнообразия и, как следствие, к попаданию целевой функции в локальный оптимум, а при наличии большого числа хромосом с плохими значениями целевой функции утрачивается направленность поиска, и он превращается в "слепой" поиск.