умирает. Если разница между предыдущим J0 и новым J0 меньше какого-то
малого числа, то конец расчета.
6. Замена выбывших структур на новые, рожденные от наиболее приспособленных
структур с помощью генетических операторов
а.) мутация - замена в структуре одного из значений случайно выбранной
компоненты
Пример: из (1, 1, 0, 1, 0, 0, 1, 0) получится (1, 1, 0, 1, 1, 0, 1, 0).
б.) инверсия - перестановка в структуре некоторой ее части наоборот
Пример: из (1, 1, 0, 1, 0, 0, 1, 0) получится (1, 1, 0, 0, 1, 0, 1, 0).
в.) кроссинговер - создание структуры, основанной на двух структурах -
заменой одной части первой структуры на ту же область во второй.
Пример: из (A, B, C, D, E) и (a, b, c, d, e) получится (A, B, c, d, E).
7. Переход к этапу 4.
|4 |Влияние параметров генетического алгоритма на эффективность |
| |поиска |
Операторы кроссовера и мутации
Наиболее традиционным подходом является отход от традиционной схемы
"размножения", используемой в большинстве реализованных ГА-мах и
повторяющих классическую схему. Классическая схема предполагает ограничение
численности потомков путем использования так называемой вероятности
кроссовера. Такая модель придает величине, соответствующей численности
потомков, вообще говоря, недетерминированный характер. Есть метод
предлагающий отойти от вероятности кроссовера и использовать фиксированное
число брачных пар на каждом поколении, при этом каждая брачная пара "дает"
двух потомков. Такой подход хорош тем, что делает процесс поиска более
управляемым и предсказуемым в смысле вычислительных затрат.
В качестве генетических операторов получения новых генотипов "потомков",
используя генетическую информацию хромосомных наборов родителей мы
применяются два типа кроссоверов - одно- и двухточечный. Вычислительные
эксперименты показали, что даже для простых функций нельзя говорить о
преимуществе того или иного оператора. Более того было показано, что
использование механизма случайного выбора одно- или двух точечного
кроссовера для каждой конкретной брачной пары подчас оказывается более
эффективным, чем детерминированный подход к выбору кроссоверов, поскольку
достаточно трудно определить который из двух операторов более подходит для
каждого конкретного ландшафта приспособленности. Использование же
случайного выбора преследовало целью прежде всего сгладить различия этих
двух подходов и улучшить показатели среднего ожидаемого результата. Для
всех представленных тестовых функций так и произошло, - случайного выбор
оказался эффективнее худшего.
Повышение эффективности поиска при использовании случайного выбора
операторов кроссовера повлияло на то, чтобы применить аналогичный подход
при реализации процесса мутагинеза новых особей, однако в этом случае
преимущество перед детерминированным подходом не так очевидно в силу
традиционно малой вероятности мутации. В основном вероятность мутации
составляет 0.001 - 0.01.
Выбор родительской пары
Первый подход самый простой - это случайный выбор родительской пары
("панмиксия"), когда обе особи, которые составят родительскую пару,
случайным образом выбираются из
всей популяции, причем любая особь может стать членом нескольких пар.
Несмотря на простоту, такой подход универсален для решения различных
классов задач. Однако он достаточно критичен к численности популяции,
поскольку эффективность алгоритма, реализующего такой подход, снижается с
ростом численности популяции.
Второй способ выбора особей в родительскую пару - так называемый
селективный. Его суть состоит в том, что "родителями" могут стать только те
особи, значение приспособленности которых не меньше среднего значения
приспособленности по популяции, при равной вероятности таких кандидатов
составить брачную пару. Такой подход обеспечивает более быструю сходимость
алгоритма. Однако из-за быстрой сходимости селективный выбор родительской
пары не подходит тогда, когда ставиться задача определения нескольких
экстремумов, поскольку для таких задач алгоритм, как правило, быстро
сходится к одному из решений. Кроме того, для некоторого класса задач со
сложным ландшафтом приспособленности быстрая сходимость может превратиться
в преждевременную сходимость к квазиоптимальному решению. Этот недостаток
может быть отчасти компенсирован использованием подходящего механизма
отбора (о чем будет сказано ниже), который бы "тормозил" слишком быструю
сходимость алгоритма.
Другие два способа формирования родительской пары, на которые хотелось бы
обратить внимание, это инбридинг и аутбридинг. Оба эти метода построены на
формировании пары на основе близкого и дальнего "родства" соответственно.
Под "родством" здесь понимается расстояние между членами популяции как в
смысле геометрического расстояния особей в пространстве параметров. В связи
с этим будем различать генотипный и фенотипный (или географический)
инбридинг и аутбридинг. Под инбридингом понимается такой метод, когда
первый член пары выбирается случайно, а вторым с большей вероятностью будет
максимально близкая к нему особь. Аутбридинг же, наоборот, формирует
брачные пары из максимально далеких особей. Использование генетических
инбридинга и аутбридинга оказалось более эффективным по сравнению с
географическим для всех тестовых функций при различных параметрах
алгоритма. Наиболее полезно применение обоих представленных методов для
многоэкстремальных задач. Однако два этих способа по-разному влияют на
поведение генетического алгоритма. Так инбридинг можно охарактеризовать
свойством концентрации поиска в локальных узлах, что фактически приводит к
разбиению популяции на отдельные локальные группы вокруг подозрительных на
экстремум участков ландшафта, напротив аутбридинг как раз направлен на
предупреждение сходимости алгоритма к уже найденным решениям, заставляя
алгоритм просматривать новые, неисследованные области.
Механизм отбора
Обсуждение вопроса о влиянии метода создания родительских пар на поведение
генетического алгоритма невозможно вести в отрыве от реализуемого механизма
отбора при формировании нового поколения. Наиболее эфективные два механизма
отбора элитный и отбор с вытеснением.
Идея элитного отбора, в общем, не нова, этот метод основан на построении
новой популяции только из лучших особей репродукционной группы,
объединяющей в себе родителей, их потомков и мутантов. В основном это
объясняют потенциальной опасностью преждевременной сходимости, отдавая
предпочтение пропорциональному отбору. Быстрая сходимость, обеспечиваемая
элитным отбором, может быть, когда это необходимо, с успехом компенсирована
подходящим методом выбора родительских пар, например аутбридингом. Именно
такая комбинация "аутбридинг - элитный отбор" является одной из наиболее
эффективных.
Второй метод, на котором хотелось бы остановиться, это отбор вытеснением.
Будет ли особь из репродукционной группы заноситься в популяцию нового
поколения, определяется не только величиной ее приспособленности, но и тем,
есть ли уже в формируемой популяции следующего поколения особь с
аналогичным хромосомным набором. Из всех особей с одинаковыми генотипами
предпочтение сначала, конечно же, отдается тем, чья приспособленность выше.
Таким образом, достигаются две цели: во-первых, не теряются лучшие
найденные решения, обладающие различными хромосомными наборами, а во-
вторых, в популяции постоянно поддерживается достаточное генетическое
разнообразие. Вытеснение в данном случае формирует новую популяцию скорее
из далеко расположенных особей, вместо особей, группирующихся около
текущего найденного решения. Этот метод особенно хорошо себя показал при
решении многоэкстремальных задач, при этом помимо определения глобальных
экстремумов появляется возможность выделить и те локальные максимумы,
значения которых близки к глобальным.
|5 |Особенности генетических алгоритмов |
Генетический алгоритм - новейший, но не единственно возможный способ
решения задач оптимизации. С давних пор известны два основных пути решения
таких задач - переборный и локально-градиентный. У этих методов свои
достоинства и недостатки, и в каждом конкретном случае следует подумать,
какой из них выбрать.
Рассмотрим достоинства и недостатки стандартных и генетических методов на
примере классической задачи коммивояжера. Суть задачи состоит в том, чтобы
найти кратчайший замкнутый путь обхода нескольких городов, заданных своими
координатами. Оказывается, что уже для 30 городов поиск оптимального пути
представляет собой сложную задачу, побудившую развитие различных новых
методов (в том числе нейросетей и генетических алгоритмов).
Каждый вариант решения (для 30 городов) - это числовая строка, где на j-ом
месте стоит номер j-ого по порядку обхода города. Таким образом, в этой
задаче 30 параметров, причем не все комбинации значений допустимы.
Естественно, первой идеей является полный перебор всех вариантов обхода.
Переборный метод наиболее прост по своей сути и тривиален в
программировании. Для поиска оптимального решения (точки максимума целевой
функции) требуется последовательно вычислить значения целевой функции во
всех возможных точках, запоминая максимальное из них. Недостатком этого
метода является большая вычислительная стоимость. В частности, в задаче
коммивояжера потребуется просчитать длины более 1030 вариантов путей, что
совершенно нереально. Однако, если перебор всех вариантов за разумное время
возможен, то можно быть абсолютно уверенным в том, что найденное решение
действительно оптимально.
Второй популярный способ основан на методе градиентного спуска. При этом
вначале выбираются некоторые случайные значения параметров, а затем эти
значения постепенно изменяют, добиваясь наибольшей скорости роста целевой
функции. Достигнув локального максимума, такой алгоритм останавливается,
поэтому для поиска глобального оптимума потребуются дополнительные усилия.
Градиентные методы работают очень быстро, но не гарантируют оптимальности
найденного решения. Они идеальны для применения в так называемых
унимодальных задачах, где целевая функция имеет единственный локальный
максимум (он же - глобальный). Легко видеть, что задача коммивояжера
унимодальной не является.
Типичная практическая задача, как правило, мультимодальна и многомерна, то
есть содержит много параметров. Для таких задач не существует ни одного
универсального метода, который позволял бы достаточно быстро найти
абсолютно точное решение.
Однако, комбинируя переборный и градиентный методы, можно надеяться
получить хотя бы приближенное решение, точность которого будет возрастать
при увеличении времени расчета.
Генетический алгоритм представляет собой именно такой комбинированный
метод. Механизмы скрещивания и мутации в каком-то смысле реализуют
переборную часть метода, а отбор лучших решений - градиентный спуск.
На рисунке показано, что такая комбинация позволяет обеспечить устойчиво
хорошую эффективность генетического поиска для любых типов задач.
Итак, если на некотором множестве задана сложная функция от нескольких
переменных, то генетический алгоритм - это программа, которая за разумное
время находит точку, где значение функции достаточно близко к максимально
возможному. Выбирая приемлемое время расчета, мы получим одно из лучших
решений, которые вообще возможно получить за это время.
Литература и Ссылки:
Генетические алгоритмы по-русски
http://www.chat.ru/~saisa
НейроПроект. Аналитические технологии XXI века
http://www.neuroproject.ru
Научное издательство ТВП
http://www.tvp.ru/mathem3.htm
Факультет вычислительной математики и кибернетики МГУ (ВМиК)
http://cmc.cs.msu.su/labs/lvk/materials/tez_sapr
99_1.html
Neural Bench Development
http://www.neuralbench.ru/rus/theory/genetic.htm
Журнал "Автоматизация Проектирования"
http://www.opensystems.ru/ap/1999/01/08.htm
(EHIPS) Генетические алгоритмы
http://www.iki.rssi.ru/ehips/genetic.htm
SENN Генетические Алгоритмы
http://fdmhi.mega.ru/ru/senn_ga.htm
Генетические алгоритмы и машинное обучение
http://www.math.tsu.ru/russian/center/ai_group/ai_collection/docs/faqs/ai/pa
rt5/faq3.html
Компьютерра | 11/1999 | Генетические алгоритмы: почему они работают?
http://www.vspu.ru/public_html/cterra/20.html
Лекции по нейронным сетям и генетическим алгоритмам
http://infoart.baku.az/inews/3000000
7.htm
@lgorithms: Catalogue of sources.
http://algo.ekaboka.com/algo-rus/index.htm