
- •Лабораторная работа № 2. Изучение основных операторов кроссинговера
- •4. Содержание отчета по лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа № 3. Изучение основных операторов мутации (4 часа)
- •1. Цель работы
- •2. Порядок выполнения лабораторной работы
- •2.1. Изучить теоретическое введение.
- •3. Задания к лабораторной работе
- •4. Содержание отчета по лабораторной работе
- •4.1. Название и цель работы.
- •Контрольные вопросы
- •Лабораторная работа № 4. Изучение операторов селекции и отбора (2 часа)
- •1. Цель работы
- •2. Порядок выполнения лабораторной работы
- •2.1. Изучить теоретическое введение.
- •3. Задания к лабораторной работе
- •4. Содержание отчета по лабораторной работе
- •4.1. Название и цель работы.
- •Контрольные вопросы
- •Лабораторная работа № 5. Построение простого генетического алгоритма (4 часа)
- •1. Цель работы
- •2. Порядок выполнения лабораторной работы
- •2.1. Изучить теоретическое введение.
- •3. Задания к лабораторной работе
- •4. Содержание отчета по лабораторной работе
- •4.1. Название и цель работы.
- •4.4. Примеры решений. Контрольные вопросы
- •2. Стратегии создания начальной популяции
- •3. Механизм передачи наследственной информации
- •4. Оператор кроссинговера
- •2 → 1(1); → 4(4); → 2(Цикл);
- •5. Оператор мутации
- •6. Операторы селекции и отбора
- •7. Структура генетического алгоритма
4.4. Примеры решений. Контрольные вопросы
1. Поясните сущность термина “генетические алгоритмы”.
2. Выделите основные отличительные особенности ГА.
3. Что такое ПГА?
4. Опишите оператор репродукции в ПГА.
5. Приведите пример работы ОР.
6. Запишите формулу расчета вероятности выживания схемы после выполнения оператора репродукции.
7. Запишите фундаментальную теорему (ФТ) генетических алгоритмов и пример вычисления на основе ФТ ГА.
8. Покажите на примере вычисление m(H, t + 1) для всего ПГА.
9. Покажите на примере вычисление P(d).
10. Покажите на примере вычисление P(s).
11. Нарисуйте структурную схему ПГА по Холланду.
12. Нарисуйте структурную схему ПГА по Голдбергу.
13. Нарисуйте структурную схему ПГА по Девису.
14. Объясните смысл понятия “строительный блок”.
Теоретический материал
Существующие подходы к решению NP-полных задач можно условно разделить на несколько категорий. К первой относятся методы, пытающиеся уменьшить размерность задачи перебора за счет построения частичных решений, представленных деревом поиска, и применения методов построения оценок, позволяющих отсекать бесперспективные ветви от дерева поиска (метод ветвей и границ и метод неявного перебора).
Другую категорию составляют метод динамического программирования, метод отсечений и метод Лагранжа. Здесь снижение размерности перебора достигается за счет “снижения требований”, т.е. отказа от поиска оптимального решения и нахождения квазиоптимального решения за приемлемое время. Такие алгоритмы получили название эвристических, т.к. для поиска решения используют различные правила (эвристики), не имеющие строгого научного обоснования и определяемые опытным (эмпирическим) путем и зависящие от специфики задачи.
Недостатком вышеописанных методов является неспособность выходить из локальных оптимумов, что обусловлено жесткими правилами поиска в алгоритме.
Третья категория поисковых методов - случайные методы, делится, в свою очередь, на три класса: случайный поиск, моделирование отжига и генетические алгоритмы. Эти методы в силу непрерывности оптимизационного поиска имеют наилучшие перспективы развития.
Генетические алгоритмы (ГА) являются случайно направленными поисковыми методами. Основные отличия ГА от других оптимизационных и поисковых процедур заключаются в следующем:
1) поиск субоптимального решения основан на оптимизации случайного множества решений с различными оценками, а не одного решения. Эта особенность позволяет синтезировать новые субоптимальные решения на основе старых субоптимальных решений, т.е. свойства оптимальных решений развиваются;
2) в аспекте преобразования решение рассматривается как некоторая закодированная структура, а не как совокупность параметров. Это позволяет в некоторых случаях увеличить процесс обработки данных, т.е. быстродействие оптимизационного поиска;
3) для оценки пригодности решения наряду с использованием целевой функции дополнительно моделируются правила выживания в исследуемом множестве. Эти правила повышают разнообразие множества решений, которое необходимо для выполнения пункта “1”;
4) при инициализации, преобразовании и других видах обработки решения широко используются вероятностные правила, которые вносят в направленность генетического поиска элементы случайности. Тем самым решается проблема преодоления барьеров локальных оптимумов.
ГА работает до тех пор, пока не пройдет заданное число итераций, либо не будет получено решение, удовлетворяющее заданным критериям.
В отличие от остальных оптимизационных методов ГА более приспособлены для нахождения новых решений за счет объединения квазиоптимальных решений из разных популяций и обладают возможностями для выхода из локальных оптимумов.
Таким образом, генетические алгоритмы являются случайно направленными методами перебора множества решений, которые используются для решения NP-полных оптимизационных задач.
При описании механизмов генетического поиска будут широко использоваться некоторые научные термины, относящиеся к теории эволюции и генетике. Смысл этих терминов и некоторые пояснения к ним приведены в ниже (табл. 1).
Флору и фауну Земли образуют мириады видов животных и растений. Каждый вид подразделяется на несколько популяций.
Таблица 1
Термин ГА |
Пояснение |
Популяция |
случайное множество случайных решений |
Особь популяции |
одно из решений множества |
Индивид |
уникальное решение множества |
Размер популяции |
размер (число) множества решений |
Число поколений |
количество итераций, в течение которых обрабатывается множество (время генетического поиска) |
Хромосома, наследственная информация, генотип особи |
закодированная структура данных S, определяющая решение (строка или стринг кодов) |
Ген |
элементарный код в структуре S |
Локус гена |
место кода в структуре S |
Аллели гена |
алфавит кода |
Аллель |
элементарный символ из алфавита кода |
Фенотип (фитнес) |
оценка решения, позволяющая судить о его качестве (целевая функция) |
Кроссинговер (скрещивание) |
генерация двух новых решений (потомков) путем перекомпоновки двух старых решений (родителей) |
Мутация |
генерация нового решения на основе старого путем перестройки кода его структуры или самой структуры |
Селекция особей |
комплекс правил, моделирующих выживание решений во множестве на основе их оценок |
Выживание особи |
переход решения (с некоторыми изменениями структуры) в следующую итерацию |
Лидер популяции |
лучшее (оптимальное) решение множества |
Аутсайдер популяции |
худшее решение множества |
Популяция - это многочисленная совокупность особей определенного вида, в течение длительного времени (большого числа поколений) населяющих определенный участок географического пространства, внутри которого осуществляется та или иная степень случайного свободного скрещивания (панмиксии).
Изменения, происходящие в популяции в результате перераспределения наследственных факторов и отбора, определяют микроэволюцию, с которой начинается расчленение существующих видов на разновидности и зарождение новых видов.
Совокупность различных наследственных факторов, которыми обладают организмы, входящие в популяцию, называется генофондом популяции. Генофонд популяций с течением времени меняется: с одной стороны, он обедняется в результате вымирания организмов, заключающих определенные гены, а с другой - обогащается благодаря мутациям, дающим начало новым генам и спонтанным скрещиваниям с другими популяциями.
Несколько популяций одного вида очень часто соседствуют друг с другом. Свободное скрещивание между особями этих популяций нарушается вследствие возникновения различных барьеров, например, территориально-механических (горы, моря, пустыни и т.п.), биологических (биологические различия) и т.п. Из-за этого генофонды разных популяций различаются. Иногда отдельные особи на границах популяций скрещиваются и дают потомство. Такое потомство, как правило, вносит в генофонд одной из популяций качественно новые гены из соседней популяции. Благодаря таким скрещиваниям происходит комплексное развитие популяций или макроэволюция.
Термины “ген”, “генотип”, “фенотип”, “аллель” в генетику впервые ввел датский ученый В. Иоганнсен. По Иоганнсену, ген - реально существующая, независимая, комбинирующаяся и расщепляющаяся при скрещиваниях единица наследственности, самостоятельно наследующийся наследственный фактор; их совокупность составляет генотип. Фенотип - совокупность всех внешних и внутренних признаков.
Итак, существование каждой особи в популяции ограничено некоторым временным интервалом (поколением), по истечении которого особь погибает. При этом генотип особи исключается из генофонда популяции. Но при жизни особь может передать наследственную информацию (НИ), генотип, потомству.
В настоящее время известно 3 механизма передачи НИ при рождении потомства:
1) бесполое размножение - при котором происходит простое копирование НИ без какого-либо изменения;
2) половое размножение - потомок получает копии НИ от случайно образованной пары родителей (НИ смешивается);
3) промежуточная, между бесполым и половым, форма размножения.
Эволюция популяции зависит от характера размножения составляющих ее особей. Половое размножение представляет для ГА наибольшую ценность по сравнению с другими формами размножения, т.к. имеет следующие преимущества:
1) свободный обмен наследственной информацией (генетическим материалом) между всеми организмами, входящими в популяцию, и связанная с этим возможность возникновения любых сочетаний наследственных факторов, имеющихся в генофонде популяции;
2) высокая пластичность популяций, способных быстро приспосабливаться к изменяющимся внешним условиям благодаря изменению соотношения различных наследственных факторов, входящих в состав генофонда популяции.
В научной литературе популяции, основанные на половом размножении, называют панмиктическими или популяциями перекрестников. В популяции перекрестников нет абсолютно тождественных особей. Все особи являются индивидуалами или просто индивидами.
Высокая жизнеспособность популяций перекрестников зависит от хорошо сбалансированной генотипической неоднородности.
В результате анализа рассмотренных особенностей популяции перекрестников можно сделать следующие выводы, необходимые для уточнения механизма ГА:
1) популяция - это область эволюционных процессов;
2) популяция может развиваться изолированно от других популяций этого же вида (микроэволюция), либо совместно с другими популяциями (макроэволюция);
3) популяция - это многочисленная совокупность особей;
4) существование популяции характеризуется большим числом поколений;
5) поколение - это интервал времени, равный существованию особи от момента рождения до момента оставления потомства;
6) каждая особь является носителем уникальной наследственной информации;
7) генофонд популяции изменяется при смене поколений, а также под действием мутационных факторов;
На основе вышесказанного можно сформулировать ряд положений, которые следует учитывать при формировании и обслуживании технического аналога популяции в задачах оптимизации - множества случайных решений:
1) множество решений - это область для комплексного, адаптивного развития решений с целью нахождения оптимального решения;
2) ГА может быть реализован по схеме микроэволюции (развивается одно случайное множество решений), либо по схеме макроэволюции (комплексное развитие нескольких множеств);
3) ограниченность вычислительных ресурсов ЭВМ накладывает на множество требование ограниченности;
4) число поколений в зависимости от характера задачи генетического поиска:
а) нахождение решения лучшего, чем заданное;
б) нахождение оптимального решения задается различным образом.
В первом случае число поколений определяет пользователь, т.к. процесс поиска может длиться сколь угодно долго (в худшем случае - бесконечно, если ориентир является глобальным оптимумом). Во втором случае необходимое число поколений должно быть определено экспериментальным путем;
5) ограниченность множества ограничивает существование особи одним поколением;
6) повышение эффективности ГА предъявляет к решению требование уникальности;
7) повышение эффективности ГА предъявляет к составу множества требование полной изменчивости при смене поколений.