УДК 519.68
В. Г. Жуков 1, Н. Ю. Паротькин 2
Сибирский государственный аэрокосмический университет
им. акад. М. Ф. Решетнева просп. им. газ. «Красноярский рабочий», 31, Красноярск, 660014, Россия
E-mail: 1 [email protected]; 2 [email protected]
ДИФФЕРЕНЦИРОВАННЫЙ АДАПТИВНЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ
В статье рассматривается применение модели эволюции на базе эволюционной теории пола, для создания адаптивного генетического алгоритма для решения сложных задач оптимизации.
Ключевые слова: генетический алгоритм, модель эволюции, эволюционная теория пола, оптимизация.
Введение
Основные принципы генетического алгоритма были сформулированы Холландом [1]. Но, в отличие от эволюции, происходящей в природе, генетический алгоритм, в процессе решения задачи оптимизации, только моделирует те процессы в популяции, которые являются существенными для развития. В настоящее время существует множество моделей эволюции для реализации в рамках генетического алгоритма, например, модели Ч. Дарвина, Ж. Ламарка, Г. де Фриза, Гулда-Элдриджа и др. Генетический алгоритм работает с совокупностью индивидов - популяцией, каждый из которых представляет возможное решение проблемы. В процессе работы генетический алгоритм, в рамках выделенного ресурса, исследует пространство поиска путем информационного обмена с внешней средой, т. е. популяция эволюционирует в соответствующей среде.
В целом же эволюция подразумевает наличие двух главных аспектов: сохранение и изменение. Для эффективной реализации первого аспекта популяция должна быть устойчивой, стабильной, неизменяемой, т. е. информационно дистанцироваться от среды. С другой стороны (второй аспект), без тесного информационного контакта со средой невозможен поиск решения. Популяция должна эволюционировать, быть информационно чувствительной к изменению среды. Таким образом, требования эволюции с точки зрения информационного обмена популяции со средой являются противоречивыми.
В качестве решения данной проблемы генетический алгоритм, как эволюционирующая система, удерживает популяцию на некотором оптимальном информационном расстоянии от среды. Для реализации первого аспекта используется оператор селекции совместно с принципом элитизма, а для второго аспекта применяются операторы рекомбинации и мутации. Однако такой подход порождает дополнительные трудности - выбор оптимальных значений параметров генетического алгоритма для решаемой задачи, а также, в зависимости от стратегии поиска, остаются проблемы преждевременной сходимости и стагнации.
Одним из перспективных направлений для решения данных проблем является применение коэволюционной стратегии [2], но сам коэволюционный алгоритм также обладает параметрами, от значения которых зависит эффективность поиска. К тому же усложняется структура эволюционирующей системы, так как при таком подходе для эффективного решения задачи оптимизации необходима согласованная работа двух разных алгоритмов.
Модель дифференцированного адаптивного генетического алгоритма
В качестве решения предлагается дифференцировать популяцию генетического алгоритма на две сопряженные подсистемы (рис. 1) (консервативную и оперативную) в соответствии с принципом сопряженных подсистем: «Дифференциация адаптивных, следящих систем, эво-
ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2011. Том 9, выпуск 1 © В. Г. Жуков, Н. Ю. Паротькин, 2011
люционирующих в изменчивой среде, на две сопряженные подсистемы с консервативной и оперативной специализацией, повышает их устойчивость» [3].
До появления сопряженных подсистем главный управляющий эволюцией информационный поток шел непосредственно от среды к популяции: Е ^ 8. После появления оперативной подсистемы она первая получает информацию от среды: среда ^ оперативная ^ консервативная подсистемы, Е ^ 8о ^ 8к. Поэтому при адаптивной эволюции новая подсистема всегда является оперативной и возникает между консервативной подсистемой и средой.
Рис. 1. Взаимоотношение дифференцированной популяции с внешней средой
Такая консервативно-оперативная специализация субпопуляций достигается их последовательной (каскадной), дихронной (для бинарных систем) эволюцией: все новые признаки появляются сначала в оперативной подсистеме, проходят там проверку, после чего передаются в консервативную. Дифференциация популяции генетического алгоритма по альтернативным задачам сохранения и изменения обеспечивает оптимальные условия для решения задачи оптимизации, с сосредоточением проб в оперативной памяти, там же локализуются и ошибки и находки. Это дает возможность системе пробовать различные варианты решения эволюционных задач без риска закрепления неудачных решений.
Наличие консервативной (8к) и оперативной (80) подсистем - два главных условия эволюции, соотношение которых характеризует эволюционную пластичность системы. Если одно из них отсутствует, то нет эволюции: система либо исчезает, либо стабильна. Эти условия альтернативны: чем больше 80, тем меньше 8к, и наоборот, так как они дополняют друг друга: 8к + 8о = 100 %. Поэтому без специализации подсистем системе приходится выбирать некий компромиссный оптимум - отношение 8к/8а, в то время как при их дополняющей друг друга специализации возможно увеличить одновременно и то и другое. В этом заключается эволюционное преимущество дифференциации популяции генетического алгоритма.
Информация от внешней среды попадает сначала в оперативную подсистему, оттуда - в консервативную. Это приводит к тому, что эволюция любого признака происходит в них ди-хронно (асинхронно): у оперативной она начинается и заканчивается раньше, чем у консервативной.
Таким образом, если характер поиска в пространстве решений глобальный, то преобладает 8о, а если характер поиска локальный, то преобладает 8к. Таким образом, в начале работы алгоритма преобладает 80, а к концу, когда определены зоны притяжения, - 8к.
Особенности практической реализации
дифференцированного адаптивного генетического алгоритма
Дифференциация популяции на постоянную и оперативную память согласно эволюционной теории В. А. Геодакяна создает структуру «стабильного ядра» и «лабильной оболочки» в информационных взаимоотношениях с внешней средой (рис. 2). Если рассматривать потоки, передающие генетическую информацию от поколения к поколению, то емкости постоянной памяти образуют осевую (генетическую) линию, тогда как емкости оперативной памяти составляют боковую (экологическую) линию - «вынос» части информации навстречу среде [4].
Информационный \ поток
-►
Внешняя среда
Фронт среды
Консервативная Оперативная подсистема. подсистема.
Рис. 2. Дифференциация популяции по оси «эволюционирующая система-среда»
Информационный поток, поступающий от среды, попадает сначала в оперативную память системы, преобразуется там, подвергается отбору, и только после этого часть информации попадает в постоянную память. Такая структура предполагает существование каких-то барьеров между подсистемами, препятствующих смешению всей информации. Поэтому для каждого решения (хромосомы) вводится параметр, отражающий время его жизни - сколько поколений данный генотип существует в оперативной подсистеме (субпопуляции). Значение данного параметра является определяющим при принятии решения о переходе информации, закодированной в генотипе решения, из оперативной в консервативную подсистему. Описанный способ хранения генетической информации в двух информационных объемах, сообщающихся между собой каналом связи контролируемого сечения, повышает устойчивость эволюционирующей системы.
Однако следует отметить, что при дифференциации популяции генетического алгоритма соотношение количества решений в оперативной и консервативной подсистемах является не константой (например, 1:1), а переменной величиной, тесно связанной с условиями среды, и оптимум вовсе не обязательно должен быть 0,5. Чем стабильнее среда, тем меньше значение оптимума, и наоборот. Поэтому в процессе работы алгоритма это соотношение должно меняться по некоторому периодическому закону аналогично изменению окружающей среды, если проводить аналогии с биологией.
Для обеспечения информационного контакта системы со средой в основном через оперативную память необходимо, чтобы элементы оперативной памяти обладали большей дисперсией признаков по сравнению с элементами постоянной памяти, т. е. первые должны быть разнообразнее вторых. В рамках генетического алгоритма это можно решить путем дифференциации значения оператора мутации для каждой из подсистем, по аналогии с природными процессами мутация решений оперативной и консервативной подсистем находится в соотношении примерно 2,2 : 2/3 [5].
При практической реализации модели эволюции, согласно эволюционной теории пола в рамках генетического алгоритма, в первом приближении требуется дополнительно ввести следующие модификации.
Во-первых, так как генетический алгоритм оперирует в процессе поиска решения битовыми строками (генотип - хромосома определенной длины, достаточной для представления всех возможных значений данного признака), а при оценке пригодности полученных решений используется их декодированные значения (фенотип), то желательно, чтобы соседние значения фенотипов в закодированном представлении также были соседними. Иначе неизбежно увеличение исходного пространства поиска в бинарном представлении и, как следствие, искусственное затруднение функционирования генетического алгоритма и увеличение времени, необходимого для его сходимости. Решением данной проблемы является использование системы кодирования, при которой соседние значения фенотипа отличаются меньшим количеством позиций в генотипе, в идеале значением одного бита, например коды Грея или Джонсона.
Во-вторых, учитывая тот факт, что генетический алгоритм является стохастической процедурой, то при его практической реализации особое внимание следует уделить вопросу качества генерации случайных последовательностей чисел. В рамках данной работы предлага-
ется использовать генератор псевдослучайных чисел, на базе алгоритма Блюма - Блюма -Шуба (BBS), обладающего хорошими статистическими характеристиками.
В-третьих, шаг сетки в пространстве поиска определяется не пользователем, а длиной хромосомы, так как при решении большинства практических задач идет поиск аргументов целевой функции, а не ее значений. К тому же при таком определении шага всегда осуществляется поиск не конкретного значения точки решения, а ее окрестности с некоторым малым радиусом Ах.
В-четвертых, в качестве критерия остановки работы генетического алгоритма при решении практических задач использовать комплексный показатель, который учитывает динамику следующих параметров: дисперсия генотипов и фенотипов оперативной и консервативной субпопуляций, соотношение Sk/So.
Алгоритм дифференцированного адаптивного генетического алгоритма
и оценка его эффективности
На основе предложенной эволюционной теории и обозначенных особенностях практической реализации был разработан дифференцированный адаптивный генетический алгоритм, обобщенная блок-схема которого представлена на рис. 3.
Рис. 3. Обобщенная блок-схема дифференцированного адаптивного генетического алгоритма
На первом этапе с помощью ВВ8-генератора (равномерный закон распределения) случайным образом генерируется популяция, полученные значения хромосом преобразуются в код Грея. Далее, на основании значений целевой функции происходит дифференциация популяции. Первоначальное соотношение SkjSo является параметром алгоритма и задается пользователем.
На следующем шаге алгоритма применяются операторы селекции и рекомбинации. Для рекомбинации выбираются только пары (,к; sJo), при этом индивид выбирается случайным образом из Sk, а индивид по турнирной схеме из So. Если значения пригодности индивидов , участвующих в турнире, примерно равны, то выбирается тот, у которого время жизни больше. При определении пар (; ^) необходимо обязательно использовать генератор случайных чисел с равномерным законом распределения, для того чтобы все представители популяции имели одинаковые шансы передать генетическую информацию в следующее поколение.
После определения пары (; ) путем скрещивания формируются потомки. По завершению процедуры формирования потомков применятся оператор мутации, и происходит изменение соотношения количества индивидов Sk|So по периодическому закону.
Далее осуществляется поиск индивидов для сохранения их генетической информации в Sk нового поколения. Для этого просматриваются все индивиды и отбираются те, чье
время жизни больше значения параметра «время жизни», установленного пользователем, и имеют наихудшее значение целевой функции. После этого сравниваются значение пригодности найденного sJk индивида со значением sJo индивида. Если у sJo индивида лучшее значение, то заменяем им sJk индивида, при этом обнуляем у него время жизни. После проверки всех sJo индивидов увеличиваем время жизни у всех sJk индивидов на 1. При недостатке в Sk индивидов они добавляются из So только по критерию пригодности.
Для формирования So нового поколения из потомков от каждой пары (sj; sJo) выбирается лучший по значению пригодности. Далее происходит сравнение лучшего потомка от пары (sJk; sJa) с sJo родителем. Если потомок лучше, то он замещает sJo родителя в So и его время жизни обнуляется. Если sJo родитель лучше, то потомок отбрасывается, а время жизни sJo родителя увеличивается на 1. Лучшее найденное решение сохраняется отдельно.
Представленный алгоритм был реализован в рамках программного средства, с помощью которого была проведена оценка его эффективности. Для оценки эффективности использовались критерии: надежность (количество успешных запусков от общего числа запусков) и скорость (среднее число поколений, необходимое для нахождения решения с заданной точностью).
Представительное множество тестовых функций включает в себя следующие функции: De Jong 2, «Сомбреро», «Лисьи норы» Шекеля и Растригина овражная с поворотом осей.
При этом накладывались следующие ограничения: количество повторных запусков для сбора статистики - 100; количество поколений - 100; количество индивидов - 100; параметр «время жизни» - 5; соотношение Sk/So - 0,2. Для оценки эффективности было проведено два вида тестирования (табл. 1, 2):
1) поиск глобального экстремума функции с точностью ±е;
2) поиск значений аргументов функции с точностью Ах, при которых она принимает значение глобального экстремума.
Таблица 1
Результаты исследования для тестов ±е = 0,01 и Ах = 0,01
Функция Интервал поиска Шаг сетки Тест ±е = 0,01 Тест Ах = 0,01
Надежность Скорость Надежность Скорость
DeJong2 [-10; 20] 0,0000571 100 4,45 100 18,22
Сомбреро [-10; 3] 0,0000991 100 3,06 100 17,17
Лисьи норы [-65,536; 40] 0,00005 100 3,27 47 16,66
Растригин с поворотом [-10; 16] 0,0000992 100 4,11 98 13,44
Таблица 2
Результаты исследования для тестов ±е = 0,001 и Ах = 0,001
Функция Интервал Шаг сетки Тест ±е = 0,001 Тест Ах = 0,001
поиска Надежность Скорость Надежность Скорость
DeJong2 [-10; 20] 0,0000571 100 10,96 97 41,77
Сомбреро [-10; 3] 0,0000991 100 14,15 100 38,88
Лисьи норы [-65,536; 40] 0,00005 56 7,14 7 14,43
Растригин с поворотом [-10; 16] 0,0000992 100 7,47 94 32,60
Как видно из данных, представленных в таблицах, дифференцированный адаптивный генетический алгоритм позволяет эффективно решать сложные задачи оптимизации на представительном множестве тестовых функций. Следующим этапом в исследовании разработанного алгоритма является проведение экспериментов с целью изучения влияния значений параметров алгоритма на его эффективность и сравнительного анализа с коэволюционным алгоритмом оптимизации, как одного из эффективных подходов к решению сложных задач оптимизации. Апробация разработанного алгоритма была проведена при решении практических задач [6; 7].
Заключение
В работе предложен и обоснован новый подход к проектированию генетических алгоритмов, основная идея которого заключается в дифференциации и специализации субпопуляций с целью повышения эффективности (устойчивости) генетического алгоритма, как эволюционирующей системы, при решении сложных задач оптимизации.
Данный подход является, в определенном смысле, промежуточным и требует уточнения и проведения дополнительных исследований, тем не менее он достаточно точно определяет направление дальнейшей работы - адаптация накопленного опыта в проектировании генетических алгоритмов к новому подходу - дифференцированному адаптивному генетическому алгоритму - и применение построенной схемы для решения практических задач.
Список литературы
1. Holland J. H. Adaptation in Natural and Artificial Systems: 2nd ed. Cambridge, MA: MIT Press, 1992.
2. Жуков В. Г., Жукова М. Н. Коэволюционный алгоритм решения нестационарных задач оптимизации // Вестн. Сиб. гос. аэрокосмич. ун-та им. ак. М. Ф. Решетнева. 2006. № 1 (8). С.27-30.
3. Геодакян В. А. О дифференциации систем на две сопряженные подсистемы // Проблемы биокибернетики. Управление и информационные процессы в живой природе. М.: Наука, 1971. С. 26.
4. Геодакян В. А. О структуре эволюционирующих систем // Проблемы кибернетики. М.: Наука, 1972. Вып. 25. С. 81-91.
5. Miyata T., Hayashida H., Kuma K., Mitsuyasu K., Yasunaga T. Male-driven Molecular Evolution: A Model and Nucleotide Sequence Analysis // Cold Spring Harbor Symposia on Quantitative Biology. 1987. Vol. 52. P. 863-867.
6. Жуков В. Г., Золотарев В. В., Заблоцкая Н. С., Паротькин Н. Ю., Ширкова Е. А. Применение факторного анализа и эволюционного алгоритма оптимизации для решения задачи управления информационными рисками систем электронного документооборота // Системы управления и информационные технологии. Воронеж, 2009. Вып. 3(37). С. 51-55.
7. Жуков В. Г., Паротькин Н. Ю. О применении генетического алгоритма для решения задачи оптимизации беспроводной локальной сети // Сб. тр. I Всерос. науч. конф. молодых ученых. Рыбинск: РГАТА им. П. А. Соловьева, 2010. Т. 2. С. 136-143.
Материал поступил в редколлегию 14.10.2010
V. G. Zhukov, N. Yu. Parot'kin
DIFFERENTIAL ADAPTIVE GENETIC ALGORITHM
The article discussed the application of the evolution model based on evolutionary theory of sex, to create an adaptive genetic algorithm for solving complex optimization problems.
Keywords: genetic algorithm, evolution model, evolutionary sex theory, optimization.