Научная статья на тему 'СТРУКТУРНО-ПАРАМЕТРИЧЕСКАЯ АДАПТАЦИЯ ГЕНЕТИЧЕСКОГО АЛГОРИТМА'

СТРУКТУРНО-ПАРАМЕТРИЧЕСКАЯ АДАПТАЦИЯ ГЕНЕТИЧЕСКОГО АЛГОРИТМА Текст научной статьи по специальности «Математика»

CC BY
36
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Вестник СибГУТИ
ВАК
Область наук
Ключевые слова
ОПТИМИЗАЦИЯ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / ГЕНЕТИЧЕСКИЕ ОПЕРАТОРЫ / ДИНАМИЧЕСКАЯ АДАПТАЦИЯ

Аннотация научной статьи по математике, автор научной работы — Минаева Юлия Васильевна

В статье рассматривается методика комплексной адаптации генетического алгоритма, позволяющая автоматизировать выбор варианта генетического оператора из заданного множества и произвести настройку его фактических параметров. Подобный подход позволит увеличить универсальность вычислительного алгоритма и уменьшить время эволюции за счет использования тех методов, которые уже показали свою эффективность при решении данной задачи. Для реализации процедуры параметрической настройки операторов предлагается использовать динамически формируемый набор правил, связывающих значения параметров операторов со статистическими характеристиками их операндов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

STRUCTURAL-PARAMETRIC ADAPTATION OF GENETIC ALGORITHM

The article considers the methodology of genetic algorithm complex adaptation which allows us to automate choice of genetic operator from given set and to adapt its actual parameters. Such approach allows us to increase computational algorithm universality and to decrease evolution time because of using the methods which have already shown their efficiency in similar task solution. Dynamic set of rules connecting operator parameter values with their operand statistical characteristic is proposed for parametric adaptation procedure realization.

Текст научной работы на тему «СТРУКТУРНО-ПАРАМЕТРИЧЕСКАЯ АДАПТАЦИЯ ГЕНЕТИЧЕСКОГО АЛГОРИТМА»

УДК 681.3

Структурно-параметрическая адаптация генетического алгоритма

Ю. В. Минаева

В статье рассматривается методика комплексной адаптации генетического алгоритма, позволяющая автоматизировать выбор варианта генетического оператора из заданного множества и произвести настройку его фактических параметров. Подобный подход позволит увеличить универсальность вычислительного алгоритма и уменьшить время эволюции за счет использования тех методов, которые уже показали свою эффективность при решении данной задачи. Для реализации процедуры параметрической настройки операторов предлагается использовать динамически формируемый набор правил, связывающих значения параметров операторов со статистическими характеристиками их операндов.

Ключевые слова: оптимизация, генетический алгоритм, генетические операторы, динамическая адаптация.

1. Введение

При проектировании сложных технических и экономических систем часто возникает задача оптимального выбора внутренних характеристик системы, описывающих ее структуру или поведение. Для увеличения эффективности и скорости реализации процедур оптимального поиска разработано множество методов, однако практически все они имеют ограничения, связанные с характером математической модели исследуемой системы. Наиболее универсальными с этой точки зрения являются алгоритмы управляемого перебора, основанные на процессах эволюционного развития биологических популяций. Одним из таких методов является генетический алгоритм (ГА).

Потенциальные решения в ГА представляются в виде популяции хромосом, каждая из которых имеет в своем составе набор генов. Смыслом существования всех хромосом в популяции является повышение степени индивидуальной полезности за счет нахождения более оптимальных значений целевой функции. Для этого хромосомы постоянно обновляют свой генотип путем многократного применения операторов селекции, скрещивания и мутации [1].

Для каждого генетического оператора (ГО) к настоящему времени разработано множество вариантов реализации. Эффективность применения конкретного варианта сильно зависит от класса задачи оптимизации, этапа ее решения, а также от выбора его параметров. С учетом широкого спектра решаемых с помощью ГА задач практически невозможно произвести отбор варианта оператора и его параметрическую адаптацию априорно.

Для решения проблемы большой зависимости эффективности работы алгоритма от его параметров используются следующие подходы [2, 3]:

- многократное выполнение прогона алгоритма с различными значениями параметров;

- динамическая адаптация значений параметров в процессе оптимизации;

- использование для подбора управляемых параметров «мета-алгоритма», в качестве которого также может выступать ГА.

Поскольку выполнение ГО требует больших затрат времени и ресурсов, то применение первого и третьего подходов, использующих несколько экземпляров метода, накладывает ограничения на вычислительные мощности систем и не подходит для решения задач, связанных с оперативной обработкой данных. Второй подход является наиболее перспективным,

но в этом случае необходима разработка алгоритма, учитывающего влияние всех или некоторых параметров на работу метода в целом.

2. Методы адаптации вычислительного алгоритма

В [4-6] выделяют следующие способы реализации динамического управления параметрами вычислительного алгоритма:

- детерминированный - параметры алгоритма изменяются в соответствии с заданным временным графиком без анализа текущего результата;

- эксплицитный - к алгоритму дополнительно добавляется корректирующий блок, работающий по принципу обратной связи и изменяющий параметры алгоритма в зависимости от результатов, полученных на текущей итерации;

- имплицитный - управляемые параметры кодируются, добавляются в качестве новых генов в хромосомы и подвергаются в процессе решения скрещиванию и мутации.

Наиболее перспективными являются эксплицитная и имплицитная формы адаптации, однако первая требует разработки соответствующих методов динамической коррекции, а реализация второй влечет за собой увеличение вычислительной сложности, во-первых, из-за большей длины хромосомы, и во-вторых, из-за необходимости выполнения различных генетических операторов над частями хромосомы с данными и с параметрами алгоритма.

Большинство исследовательских работ в области эксплицитной адаптации посвящено проблеме выбора параметров ГО. Чаще всего предлагается подвергать динамической коррекции вероятности мутации и кроссовера [7-10], размер выборки для турнирной селекции [4, 11-13] и размер популяции [14-18].

Однако с учетом увеличения разнообразия и сложности оптимизационных задач, а также большого количества уже предложенных вариантов ГО задача априорного выбора одного оператора оказывается очень трудоемкой и требует от специалиста, во-первых, достаточного объема накопленных знаний об особенностях решаемых задач и ГО, а во-вторых, проведения большого количества экспериментов для обоснования выбора.

Различные подходы к автоматизации динамического выбора одного варианта из заданного множества операторов рассматриваются в работах [19, 20]. В качестве критериев выбора авторы предлагают использовать вероятности вызова операторов, пересчитываемые после каждого шага в зависимости от успешности использования выбранного варианта ГО.

Для дальнейшего повышения адаптационных свойств ГА имеет смысл проводить не только автоматизированный выбор оператора (т.е. структурную адаптацию алгоритма), но и иметь возможность настройки фактических параметров ГО. Такая комплексная адаптация алгоритма может являться существенным фактором повышения гибкости и универсальности поисковых процедур.

Для проверки эффективности комплексной адаптации ГА проведем ее экспериментальное исследование. В качестве способа реализации параметрической адаптации будем использовать зависимость между значениями параметров операторов и такими статистическими характеристиками их операндов, как среднеквадратическое отклонение, расстояние Хэммин-га, частотное распределение и др., предложенную в [21].

3. Методика комплексной адаптации ГА

Предлагается следующая методика комплексной структурно-параметрической адаптации

ГА.

Пусть Т = {тj,...,Tn^ } - допустимые типы операторов ГА, где nj - число типов. Каждый тип операторов имеет несколько вариантов реализации, т.е. тг- = {tn,...,tin }, где nz - коли-

Zj i

чество вариантов оператора типа Zj, i = 1,..., nj . В общем случае каждый вариант исполнения tj характеризуется кортежем < Pj, Dj, Rj >, где Pj - вероятность вызова j-й альтернативы i-го оператора, j = 1,..., nz, Dj - список формальных параметров оператора, Rj = (CjjVij) - совокупность правил, ставящих в соответствие множеству статистических характеристик операндов Cij множество наборов фактических параметров оператора Vij .

Алгоритм комплексной адаптации ГА включает следующие шаги:

1. Перед началом работы алгоритма вероятностям вызова вариантов операторов присваиваются одинаковые значения, а множество правил обнуляется:

Pj = —, Rjj = 0, Vi = 1,...,nT, Vj = 1,...,nT ,

J nZj 1

Устанавливается номер итерации к = 1.

2. Выбор варианта ГО t е Zj осуществляется по методу рулетки на основании значений Pj .

3. Определение множества характеристик операндов ~ оператора t в зависимости от числа

используемых операндов p:

~ \d, если p < 2, c = i

[а, если p > 2,

где d - расстояние Хэмминга между хромосомами-операндами, а - среднеквадратическое отклонение для набора операндов.

4. В списке правил Rjj производится поиск такой пары (cm, vm), для которой cm е[~-5c, ~ + 5c], Vm = 1,...,nR , nR - длина списка, 5c - допустимое отклонение для

~. Если такой элемент найден, то фактические параметры ~ варианта оператора t генерируются по нормальному закону распределения со средним значением vm и дисперсией 5v и сама пара (cm, vm) удаляется, иначе набор параметров генерируется случайным образом по равномерному закону распределения:

~ = Jnorm(Vm, 5V ), если cm е Rij,

[random(vmin, vmax), если cm £ Rij, где vmin и vmax - минимальное и максимальное допустимые значения для параметров оператора соответственно.

5. Реализация оператора t с набором параметров ~ .

6. Эффективность оператора t определяется по формуле:

E = F( X out)

' F(Xin) '

где Xin = i Xin ,...Xin > - входное множество хромосом емкостью nх- ,

[ "xin J ln

Xout =[ xout1,.. xoutnx t \ - выходное множество емкостью nxout, F(xin) и F(Xout) -

средняя полезность входного и выходного множества соответственно, определяются следующим образом:

Пу nX , __л in / \ __Л out / \

F(yin) = Z f lxinг )/nXin , F(Xout) = Z f lxouti j/nXo

out

i=1 i= 1

В том случае, если вариант I показал себя эффективным, происходит добавление нового правила, связывающего характеристики ГО с его фактическими параметрами:

Rj =

Rij ^ (С v), если Et > 1,

r если Et < 1.

ij , t

7. В зависимости от эффективности применения варианта оператора динамически изменяется вероятность его вызова Ру :

рк =

рк-1 +5P, если Eij > 1, рк-1 -5P, если Eij < 1,

где Еу - эффективность у-й альтернативы /-го оператора, 5Р - поправка к значению вероятности, к - номер итерации.

Для корректной работы алгоритма для вероятностей вызова вариантов операторов установлены граничные значения Ртах и Ртт :

P 1 mm' если рк < р j min'

рк j =. рк j ' если P < Рк < P 1 min — ij — max

р 1 max, если рк > р ij max.

Для сохранения постоянной суммы фактическая поправка к вероятности вызова равномерно распределяется между остальными вариантами /-го оператора с обратным знаком:

рк _ рк—1

Рт = Рш1 _--V", V« = 1,...,п , т * У .

пт — 1 г

ч

8. Если выполнены все операторы, то останов работы алгоритма, иначе присвоить к = к +1 и перейти к шагу 2.

Рассмотрим работу алгоритма при пт = 3 для адаптации операторов селекции, скрещивания и мутации. Множества исходных данных для алгоритма имеют вид:

Т = {селекция, кроссовер, мутация},

Т1 = {метод рулетки, ранговая, турнирная},

т2 = {одноточечный, двухточечный, равномерный} ,

Тз = {инвертирование, перестановка}.

Бц = Ву2 = 0, Аз = {объем выборки},

В2\ = Б22 = {позиции точек деления}, Б23 = {маска кроссовера},

Бз1 = В32 = В33 = {номера битов}.

При расчете эффективности входным множеством для оператора селекции будет само множество X, для скрещивания - множество, состоящее из отобранных родительских хромосом, для мутации - хромосома, которая подвергнется мутации. Выходным множеством для селекции будет множество родительских хромосом, для кроссовера - полученные в результате скрещивания потомки, для мутации - сама хромосома.

Для оценки эффективности предлагаемого алгоритма сравним его работу с каноническим генетическим алгоритмом (КГА) и алгоритмом автоматического выбора операторов (АВОГА), предложенным в [21]. Используемые тестовые функции представлены в табл. 1.

Таблица 1. Набор тестовых функций для проверки алгоритма

Название Формула Интервал

Сферическая функция F (х) = £х2 i=1 х е (-5, 5)

Функция Растригина F(х) = 10и + £ (х2 -10 сов(2лхг-)) i=1 х е (-5, 5)

Функция Розенброка F (х) = ^100(хг +1 - х2 }+(х, -1)^ х е (-2.5,2.5)

Функция Швефеля F(х) = 418,9829п + £ (- х^ • мп ЦхЦ)) i=1 х е (-525,525)

Для всех алгоритмов популяция состояла из 50 хромосом и имела максимальное время жизни в 500 поколений. Для предлагаемого алгоритма использовались следующие дополнительные параметры: Ртах = 0.9, Ртт = 0.1, 5Р = 0.1, 5У = 1 для номеров битов и 5У = 0.1 для вероятностей выбора значения бита в маске кроссовера, 5С = 1 для расстояния Хэмминга и 5С = 0.1а для среднеквадратического отклонения а. Средние значения эффективности и времени решения вначале находились для каждой функции за 100 прогонов, а затем усреднялись для всех тестовых функций. Результаты экспериментов приведены в табл. 2.

Таблица 2. Эффективность различных вариантов ГА

Время

Название алгоритма Эффективность эволюции (количество поколений)

Канонический ГА 0.76 420

ГА с автоматическим выбором оператора 0.87 374

ГА с комплексной адаптацией 0.89 328

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

По результатам эксперимента можно сделать вывод, что эффективность предлагаемого алгоритма превосходит КГА и не уступает АВОГА, а время решения меньше, чем у остальных алгоритмов. Основным преимуществом алгоритма является отсутствие необходимости в априорной настройке параметров, что делает полезным его применение в тех случаях, когда такая настройка затруднена или малоэффективна, а также когда пользователь не является экспертом в данной области.

4. Заключение

В данной статье была предложена методика комплексной структурно-параметрической адаптации генетического алгоритма, основанная на выборе наиболее эффективных вариантов генетических операторов и применении процедуры их параметрической настройки. В

основе такого подхода лежит зависимость между значениями фактических параметров операторов и статистическими характеристиками операндов. Подобная схема решения позволяет использовать каждый вариант оператора в таких состояниях вычислительного процесса, при которых его эффективность будет наиболее высока. Рассмотренная методика была апробирована на нескольких стандартных тестовых функциях. По результатам тестирования можно сделать вывод, что комплексная адаптация позволяет повысить надежность процесса поиска глобального оптимума и уменьшить время эволюции по сравнению с канонической версией алгоритма и методом автоматического выбора генетических операторов без их параметрической адаптации.

Литература

1. Емельянов В. В., Курейчик В. В., Курейчик В. М. Теория и практика эволюционного моделирования. М.: Физматлит. 2003. 432 с.

2. Nunez-Letamendia L. Fitting the control parameters of a genetic algorithm: An application to technical trading systems design // European Journal of Operational Research. 2007. Vol. 179, № 3. P. 847-868.

3. Harik G. R., Lobo F. G. A parameter-less genetic algorithm // Proceedings of the Genetic and Evolutionary Computation Conference. 1999. P. 258-265.

4. Eiben A. E., Schut M. C., De Wilde A. R. Boosting genetic algorithms with self-adaptive selection // Proceedings of the IEEE Congress on Evolutionary Computation. 2006. P. 1584-1589.

5. Hinterding R., Michalewicz Z., Eiben A. E. Adaptation in Evolutionary Computation: a Survey // Proceedings of the Fourth IEEE Conference on Evolutionary Computation. 1997. P. 65-69.

6. Meyer-Nieberg S., Beyer H.-G. Self-adaptation in evolutionary algorithms // Studies in Computational Intelligence. 2007. Vol. 54. P. 47-75.

7. Laoufi A., Hadjeri S., Hazzab A. Adaptive probabilities of crossover and mutation in genetic algorithms for power economic dispatch // International Journal of Applied Engineering Research. 2006. Vol. 1, № 3. P. 393-408.

8. Lin W.-Y., Lee W.-Y., Hong T.-р. Adapting crossover and mutation rates in genetic algorithms // Journal of Information Science and Engineering. 2003. Vol. 19. P. 889-903.

9. Yang S. Adaptive crossover in genetic algorithms using statistics mechanism // Proceedings of the 8th International conference on Artificial life. 2002. P. 182-185.

10. TabarzadM. A., Lucas C., Hamzeh A. Statistical genetic algorithm // International Journal of Computer, Electrical, Automation, Control and Information Engineering. 2008. Vol. 2, № 2. P. 483-487.

11. Whitley D. The GENITOR algorithm and selection pressure: Why rank-based allocation of reproductive trials is best // Proceedings of the Third International Conference on Genetic Algorithms. 1989. P. 116-121.

12. Goldberg D. E., Deb K. A comparative analysis of selection schemes used in genetic algorithms // Foundations of Genetic Algorithms. 1991. P. 69-93.

13. Back T., Fogel D. B., Michalewicz Z. Evolutionary Computation! Basic Algorithms and Operators. IOP Publishing ltd. 2000. 339 p.

14. Цой Ю. Р., Спицын В. Г. Исследование генетического алгоритма с динамически изменяемым размером популяции // Труды Международной научно-технической конференции «Интеллектуальные системы (IEEE AIS'05)». Научное издание. М.: Изд-во физико-математической литературы. 2005. С. 241-246.

15. Eiben A. E., Marchiori E., Valko V. A. Evolutionary algorithms with on-the-fly population size adjustment // Parallel Problem Solving from Nature VIII. 2004. Vol. 3242. P. 41-50.

16. Arabas J., Michalewicz Z., Mulawka J. GAVAPS — a genetic algorithm with varying population size // Proc. of the First IEEE International Conference on Evolutionary Computation. 1994. P. 73-78.

17. Back T., Eiben A. E., Vaart N. A. L. An empirical study on GAs without parameters // Parallel Problem Solving from Nature VI. 2000. Vol. 1917. P. 315-324.

18. Goldberg D. E., Deb K., Clark J. H. Genetic algorithms, noise, and the sizing of populations // Complex Systems. 1992. № 6. P. 333-362.

19. Семенкина М. Е. Самоадаптивные эволюционные алгоритмы проектирования информационных технологий интеллектуального анализа данных // Искусственный интеллект и принятие решений. 2013. № 1. С. 13-23.

20. Hilding F. G., Ward K. Automated operator selection on genetic algorithms // Proceedings of the 9th international conference on Knowledge-Based Intelligent Information and Engineering Systems. 2005. № 4. P. 903-909.

21. Shamsaei R., Hamzeh A., Rahmani A. Adaptive genetic algorithms based on learning classifier systems // 9'th Computer Society of Iran Computer Conference. 2004.

Статья поступила в редакцию 29.03.2016; переработанный вариант — 06.04.2016

Минаева Юлия Васильевна

старший преподаватель кафедры систем автоматизированного проектирования и информационных систем Воронежского государственного технического университета, тел. (473) 243-77-04

Structural-parametric adaptation of genetic algorithm Y. Minaeva

The article considers the methodology of genetic algorithm complex adaptation which allows us to automate choice of genetic operator from given set and to adapt its actual parameters. Such approach allows us to increase computational algorithm universality and to decrease evolution time because of using the methods which have already shown their efficiency in similar task solution. Dynamic set of rules connecting operator parameter values with their operand statistical characteristic is proposed for parametric adaptation procedure realization.

Keywords: optimization, genetic algorithm, genetic operators, dynamic adaptation.

i Надоели баннеры? Вы всегда можете отключить рекламу.