Научная статья на тему 'Методы самонастройки в эволюционных алгоритмах'

Методы самонастройки в эволюционных алгоритмах Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
157
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭВОЛЮЦИОННЫЙ АЛГОРИТМ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / МЕТОДЫ САМОНАСТРОЙКИ / НЕЧЕТКИЙ КОНТРОЛЛЕР / EVOLUTIONARY ALGORITHM / GENETIC ALGORITHM / SELF-TUNING / FUZZY CONTROLLER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Матюхина Я. С.

Рассматриваются методы самонастройки в эволюционных алгоритмах, их особенности.

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

SELF-TUNING METHODS IN EVOLUTIONARY ALGORITHMS

The paper considers the self-tuning methods in evolutionary algorithms, features of these methods.

Текст научной работы на тему «Методы самонастройки в эволюционных алгоритмах»

Математические методы моделирования, управления и анализа данных.

УДК 519.68

МЕТОДЫ САМОНАСТРОЙКИ В ЭВОЛЮЦИОННЫХ АЛГОРИТМАХ

Я. С. Матюхина

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: [email protected]

Рассматриваются методы самонастройки в эволюционных алгоритмах, их особенности.

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

SELF-TUNING METHODS IN EVOLUTIONARY ALGORITHMS

Yа. S. Matyukhina

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]

The paper considers the self-tuning methods in evolutionary algorithms, features of these methods.

Keywords: evolutionary algorithm, genetic algorithm, self-tuning, fuzzy controller.

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

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

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

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

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

Решить проблему выбора настроек и параметров алгоритма можно с помощью использования различных методов самонастройки, например, таких как Population-Level Dynamic Probabilities (PDP) и Individual-Level Dynamic Probabilities (IDP).

Population-Level Dynamic Probabilities. Данный метод подразумевает, что вероятность выбора генетических операторов напрямую зависит от успешности применения оператора, т. е. того, насколько данный оператор успешно работает, настолько часто он будет использоваться [3; 4]. Вероятности вычисляются следующим образом (1):

Рi = Pall

rl • (100 - n • patt )

scale

(1)

20

i

где r =-—, pall = —, scale = > r ■; successi

used■ "

j=1

число успешных применений оператора г; usedi -общее число применений; п - общее число операторов.

<Тешетневс^ие чтения. 2016

Individual-Level Dynamic Probabilities. Данный метод каждому из индивидов популяции ставит в соответствие количество неудачных применений операторов [3]. Вероятности применения операторов вычисляются на их основании для каждого индивида отдельно (2):

pi = paii

tikincntk +1~ cntj ) ' (100 " n ' pall ^ n '{ m cntk +l)~Y cntk

\1ikin J ' f-1, J

, (2)

20

где Paii = —; n -n

количество операторов.

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

В методе PDP используются одни и те же вероятности для всех индивидов. Большинство успешных мутаций улучшают пригодность индивида относительно его родителей, но не приводят к улучшению пригодности популяции.

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

Существенным преимуществом нечеткого контроллера, в отличие от методов PDP и IDP, является то, что он может накапливать информацию от задачи к задаче и вырабатывать эффективные правила.

В качестве тестовых функций были взяты функции двух переменных с различными параметрическими структурами, приведенные в специальном репозито-рии [6]. Исследование проводилось по следующей схеме: тестовые выборки объемом 400 были сгенерированы для каждой функции, в каждом независимом прогоне алгоритма устанавливалось число индивидов, равным 100, и число поколений, равным 1000, среднеквадратичная ошибка усреднялась по 20 прогонам алгоритма. Результаты приведены в таблице ниже.

Результаты тестирования алгоритмов

PDP IDP ГА, управляемый НК

№ функции Ошибка

1 0,00452203 0,00390794 0,0000224163

2 0,00329423 0,0024608 0,0000163254

3 0,00238137 0,00240595 0,0000120816

4 0,00195891 0,00198606 0,00000741568

5 0,000929058 0,000739306 0,00000463013

6 0,0033497 0,00294205 0,0000104734

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

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

Библиографические ссылки

1. Eiben A. E., Smith J. E. Introduction to Evolutionary Computing. Springer Verlag Berlin, 2003.

2. Haupt R. L., Haupt S. E. Practical genetic algorithms. Hoboken, New Jersey : John Wiley & Sons, Inc., 2004.

3. Angeline P. J. Adaptive and Self-adaptive Evolutionary Computations / M. Palaniswami [et al.], and T. Fukuda (Eds.) // Computational Intelligence: A Dynamic System Perspective. NJ : IEEE Press, 1995. Рр. 152-161.

4. Angeline P. J. Two Self-Adaptive Crossover Operators for Genetic Programming // P. Angeline, K. Kinnear (Eds.) Advances in Genetic Programming II. Cambridge, MA: MIT Press, 1996. Рр. 89-110.

5. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М. : Горячая линия-Телеком, 2006.

6. URL: http://coco.lri.fr/BB0B2009/rawdata/ (дата обращения: 20.02.2016).

References

1. Eiben A. E., Smith J. E. Introduction to Evolutionary Computing. Springer Verlag Berlin, 2003.

2. Haupt R. L., Haupt S. E. Practical genetic algorithms. John Wiley & Sons, Inc., Hoboken, New Jersey, 2004.

3. P. J. Angeline: Adaptive and Self-adaptive Evolutionary Computations // M. Palaniswami, Y. Attikiouzel, R. Marks, D. Fogel and T. Fukuda (Eds.) Computational Intelligence: A Dynamic System Perspective, NJ : IEEE Press, 1995. Рр. 152-161.

4. Angeline P. J. Two Self-Adaptive Crossover Operators for Genetic Programming. In: P. Angeline, K. Kinnear (Eds.) Advances in Genetic Programming II. Cambridge, MA : MIT Press, 1996. Рр. 89-110.

5. Rutkovskaya D. Neural networks, genetic algorithms and fuzzy systems / J. Rutkowski, M. Pilinsky, L. Rutkowski. M. : Hotline Telecom, 2006.

6. URL: http://coco.lri.fr/BB0B2009/rawdata/.

© Матюхина Я. С., 2016

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