ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА
Сер. 10. 2012. Вып. 2
УДК 519.6
И. А. Мартюшов
ДИНАМИЧЕСКОЕ ОПРЕДЕЛЕНИЕ ПАРАМЕТРОВ ГЕНЕТИЧЕСКОГО АЛГОРИТМА
1. Введение. При проектировании генетических алгоритмов (ГА) задача определения их параметров играет весьма важную роль, так как от ее решения зависят время работы алгоритма и точность результата. На практике значения параметров выбираются либо эмпирическим путем с учетом специфики конкретной задачи, либо случайным образом и остаются неизменными на всем протяжении работы алгоритма. Стоит отметить, что указанные способы имеют существенные недостатки. В первом случае невозможно построение автоматических систем, основанных на ГА, поскольку требуется участие человека на начальном этапе работы алгоритма. Во втором случае выбор случайных значений начальных параметров может привести к значительному увеличению времени работы. Таким образом, представляется целесообразным рассмотрение вопросов, связанных с автоматическим определением значений параметров ГА на всех стадиях работы алгоритма.
Среди работ, опубликованных к настоящему времени, имеется ряд статей, связанных с данной тематикой. В частности, теорема схем была впервые высказана Холлан-дом в работе [1], на основании которой Голдбергом была предложена гипотеза строительных блоков [2]. Подход, связанный с изменением параметров ГА в процессе работы алгоритма, представлен в работах [3, 4].
На основании гипотезы строительных блоков можно утверждать, что ГА ведет поиск на множестве строительных блоков, неявно собирает и использует статистику о пространстве поиска. По мере сходимости ГА аллели хромосом также сходятся к некоторому оптимальному значению самой лучшей и большой схемы-блока, к которой принадлежит оптимальное решение. Следовательно, зная статистику изменения каждой из аллелей хромосомы, можно улучшить поисковые способности (ПС) ГА.
Определение. Под ПС ГА будем понимать его способность к созданию хромосомы, соответствующей произвольной точке пространства поиска.
В настоящей работе предложены способы вычисления параметров ГА как до начала работы алгоритма, так и во время его выполнения, а также приведена модификация ГА, учитывающая собранную статистику его работы.
2. Вычисление начальных значений параметров ГА. Судить о скорости работы алгоритма и точности результата будем по его ПС.
Известно, что характеристику ГА, которая описывает его ПС, сложно выразить численно. Поэтому косвенно судить о ПС будем по скорости перемещения по пространству
Мартюшов Иван Андреевич — аспирант кафедры информационных систем факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета, инженер-программист ООО «Доктор Веб». Научный руководитель: доктор физико-математических наук, проф. И. В. Олемской. Количество опубликованных работ: 3. E-mail: martushov@gmail.com.
© И. А. Мартюшов, 2012
поиска, на величину которой влияет выбор операторов скрещивания и мутации. При этом ПС ГА можно повысить двумя способами: созданием специализированных операторов для конкретной задачи и управлением значениями параметров.
В качестве указанных параметров возьмем размер популяции N и вероятность оператора мутации Pm, а входными данными будет длина хромосомы L. Последняя определяется в процессе постановки задачи, и на момент запуска алгоритма ее можно считать постоянной величиной.
Очевидно, что при увеличении размера популяции значительно возрастает количество вычислений функции приспособленности, а при его уменьшении становится возможной потеря аллелей. В связи с этим возникает проблема определения разумного размера популяции. Полученное значение используется в дальнейшем при расчете остальных параметров ГА.
Для того чтобы в результате работы алгоритма не происходило потери аллелей из-за размера популяции, последняя должна иметь возможность содержать в себе все возможные значения аллелей одновременно. Вероятность потери одного локуса равна (1/2)N. Вероятность того, что один локус содержит все возможные значения, равна 1 — (1/2) . Следовательно, вероятность того, что все локусы содержат все возможные значения, вычисляется по формуле
«-ИГ"
Данное соотношение позволяет для каждого наперед заданного значения Pi определить минимальный размер популяции N, при котором минимизируется вероятность потери аллелей:
(1)
Пусть, например, длина хромосомы L = 100, а P = 99, 99%. Тогда для выбранных значений необходимый размер популяции
N = 1 + logo (--—-т—- ) « 21.
S2 Vl - 0,9999Viooy
Заметим, что размер популяции, рассчитанный по формуле (1), еще не гарантирует отсутствие потери аллелей в процессе работы алгоритма. Для того чтобы исключить потерю аллелей и тем самым получить оптимальное решение при проектировании алгоритма, применяется оператор мутации (ОМ).
Выразим необходимое значение Pm вероятности мутации, при котором минимизируется вероятность потери аллелей. Для этого используем длину хромосомы и определенный ранее размер популяции. Поскольку вероятность неизменности локуса равна 1 — Pm, то вероятность неизменности локуса во всей популяции составляет (1 — Pm)N. Следовательно, вероятность того, что локус мутирует хотя бы в одной хромосоме, определяется формулой - 1 — (1 — Pm)N. Полученная вероятность должна быть больше вероятности потери данного локуса, т. е.
N1
1-(1 -PmfyC-i1-) , (2)
где С - коэффициент, позволяющий гарантировать выполнение этого неравенства с заданной наперед точностью. Он должен определяться для каждой конкретной задачи, исходя из ее специфики. В большинстве практически значимых случаев достаточно выбрать С = 10.
Полученное неравенство (2) позволяет выписать ограничение на вероятность мутации
(/ч \ 1\
1/2
1-^(2) ) • (3)
Например, при N = 21, С = 10
Рт > 1 - (1 - 10 • (0, 5)20)1/2 « 48 • 10-7.
Таким образом, для хромосомы длиной Ь = 100 и Р\ = 99, 99% получены минимально допустимые значения численности популяции N = 21 и вероятности мутации Рт = 48 • 10-7, при которых возможна эффективная работа ГА.
На основании приведенных выше рассуждений можно сформулировать следующее утверждение.
Утверждение. Для того чтобы в процессе работы ГА не происходила потеря аллелей, необходимо и достаточно, чтобы выполнялись равенство (1) и неравенство (3).
Сравним ПС классического ГА и модифицированного, параметры которого определяются предложенным способом.
В примерах в качестве минимизируемой функции выберем функцию Растригина у = 10 + х2 — 10 • сов(2пх), представленную на рис. 1 и имеющую минимум в точке (0; 0).
Рис. 1. Двумерная функция Растригина
Изменение значений функции Растригина в зависимости от номера популяции для обоих алгоритмов иллюстрирует рис. 2. Заметим, что определение начальных значений параметров ГА по предложенной схеме позволяет сократить число популяций в среднем на 10%, что дает возможность значительно уменьшить количество вычислений функции приспособленности.
Рис. 2. Минимизация функции Растригина классическим (1) и модифицированным (2) ГА с автоматическим определением начальных значений параметров
3. Управление значениями параметров в процессе работы алгоритма. Рассмотрим один из возможных вариантов адаптивных статистических целочисленных ГА. В ходе работы алгоритма варьироваться будут следующие параметры: размер популяции, вероятности операторов скрещивания (ОС) и ОМ. Для целенаправленного их изменения будем использовать следующие правила нечеткой логики.
П1. Если значение приспособленности хромосомы хорошее, то вероятность ее наследования велика.
П2. Если статистика аллели стабильна, то вероятность ее мутации невелика. Первое правило реализует стандартное представление ОС, а второе - возможность изменять вероятности ОС и ОМ.
Стабильность аллелей будем определять с помощью анализа их статистических рядов. При этом статистику будем вести только по к лучшим представителям популяции, где к выбирается в полном соответствии с требованиями к задаче или подбирается эмпирическим путем. Среднее значение членов статистических рядов аллелей будем вычислять по формуле
5 =
с
где А^ г = - значения рассматриваемой аллели в г-м поколении; С поколений ГА, а среднеквадратическое отклонение - так:
количество
а =
IX1 Л2
<3-1 '
Статистический ряд аллели будем считать стабильным, если в полосу 3а не попадает менее 1% членов ряда. Если поведение аллели нестабильное, т. е. указанное условие не выполнено, то требуется изменение параметров ГА. Управлять параметрами ГА будем с помощью следующих правил нечеткой логики один раз в Т поколений.
П3. Если временной ряд рассматриваемой аллели является статистически неуправляемым, то необходимо увеличить вероятность мутации до 0.5. При этом с каждым
следующим поколением вероятность мутации необходимо снижать на (0.5 — рт,т)/Т, где рт,т — значение вероятности мутации после очередных Т поколений.
П4. Если временной ряд рассматриваемой аллели является статистически управляемым, то вероятность мутации с каждым следующим поколением ГА необходимо понижать на рт,т/Т.
Пусть величины Ртах и Ртт — соответственно максимальное и минимальное значения, которые может принимать вероятность мутации.
В качестве функции принадлежности выберем гауссову функцию
рт — Рт
Э((-Б-0.5)2/Рт1п )
поскольку ее использование дает наибольшее увеличение ПС по сравнению с применением других стандартных функций принадлежности [2].
На рис. 3 приведены графики, показывающие изменения значений функций приспособленности для классического ГА и модифицированного, использующего гауссову функцию принадлежности.
Рис. 3. Изменение функции Растригина для классического (1) и модифицированного (2) ГА с параметрами, значения которых вычисляются во время работы
Сравнивая результаты работы классического и модифицированного алгоритмов, можно заметить, что число популяций, необходимых для получения решения, в случае модифицированного ГА в среднем меньше на 15%. Это позволяет значительно сократить количество вычислений функций приспособленности и существенно увеличить ПС.
В работе [5] был предложен способ определения вероятности скрещивания, в котором последняя вычисляется линейной функцией рс — 1 — 2рт от вероятности мутации. Сравним ПС этого способа с приведенной выше модификацией. Из результатов, представленных на рис. 4, видно, что адаптация, основанная на правилах нечеткой логики, дает больший прирост ПС по сравнению с линейной.
4. Создание новой популяции. Важным этапом работы ГА является создание новой популяции. Для этого используются хромосомы, как полученные в результате скрещивания, так и неизмененные, а, кроме того, к ним могут добавляться и новые.
При добавлении в популяцию хромосом, принадлежащих схемам с низкой приспособленностью, увеличивается время работы ГА, а его ПС уменьшается.
Рис. 4- Влияние нечеткой (1) и линейной (2) адаптаций на ПС (3) - классический ГА.
Для того чтобы добавить в популяцию хромосомы, принадлежащие схемам с высокой приспособленностью, воспользуемся тем, что ГА неявно собирает статистику о пространстве поиска. Поэтому представляется целесообразным добавить новое правило нечеткой логики, учитывающее собранную статистику.
П5. Если временные ряды аллели у к лучших представителей популяции являются статистически управляемыми, то величина данной аллели у добавляемой хромосомы вычисляется предсказанием значения на необходимое количество поколений вперед.
10 15 20 25 30 35 40 45
Рис. 5. Минимизация функции Растригина классическим (1) и модифицированным (2) ГА на основании предсказаний
В качестве метода предсказания можно использовать, например, метод наименьших квадратов. На рис. 5 представлены графики, показывающие изменения значений
функций приспособленности для классического и модифицированного ГА, использующего создание хромосом на основании предсказаний. Сравнивая результаты работы классического и модифицированного ГА, можно заметить, что число популяций, необходимых для получения решения, в случае модифицированного ГА в среднем меньше на 15%. Это позволяет значительно сократить количество вычислений функций приспособленности и существенно увеличить ПС.
Заключение. В работе рассмотрена проблема увеличения ПС ГА за счет динамического определения параметров работы алгоритма. Предложенная модификация целочисленного адаптивного статистического ГА является полностью автоматизированной и значительно превосходит по ПС классические алгоритмы.
Полученные ограничения, определяющие параметры, являются необходимыми условиями эффективной работы ГА, поскольку устраняют потерю аллелей.
Сформулированы правила нечеткой логики, управляющие параметрами ГА в процессе его работы и учитывающие накопленную статистику работы алгоритма.
Предложен способ доукомплектования новых популяций хромосомами, созданными на основании предсказаний, базирующихся на статистике работы алгоритма.
Использование всех указанных модификаций позволяет сократить время работы ГА в среднем на 40-50%.
Литература
1. Holland J. H. Adaptation in natural and artificial systems: An introductory analysis with applications to biology, control, and artificial intelligence. Ann Arbor, MI: University of Michigan Press, 1992. 228 p.
2. Goldberg D. E., Deb K., Clark J. H. Genetic algorithms, noise, and the sizing of populations: IlliGAL Report 91010. Urbana-Champaign: University of Illinois, 1991. 352 p.
3. De Jong K. A. An analysis of the behavior of a class of genetic adaptive systems: Unpublished PhD thesis. Ann Arbor: University of Michigan, 1975. (also University Microfilms 76-9381). 226 p.
4. Prugel-Bennett A. The mixing rate of different crossover operators // Foundations of Genetic Algorithms. 2001. Vol. 6. P. 261-274.
5. Мартюшов И. А. Анализ генетических алгоритмов // Процессы управления и устойчивость: Труды 41-й междунар. конференции аспирантов и студентов / под ред. Н. В. Смирнова, Г. Ш. Тама-сяна. СПб.: Издат. Дом С.-Петерб. гос. ун-та, 2010. С. 454-459.
Статья рекомендована к печати проф. Л. А. Петросяном. Статья принята к печати 28 февраля 2012 г.