Научная статья на тему 'Решение задач символьной регрессии самонастраивающимся алгоритмом генетического программирования'

Решение задач символьной регрессии самонастраивающимся алгоритмом генетического программирования Текст научной статьи по специальности «Математика»

CC BY
159
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ ГЕНЕТИЧЕСКОГО ПРОГРАММИРОВАНИЯ / САМОНАСТРАИВАЮЩИЙСЯ АЛГОРИТМ ГЕНЕТИЧЕСКОГО ПРОГРАММИРОВАНИЯ / СИМВОЛЬНАЯ РЕГРЕССИЯ / GENETIC PROGRAMMING ALGORITHM / SELF-CONFIGURING GENETIC PROGRAMMING ALGORITHM / SYMBOLIC REGRESSION

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

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

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

SYMBOLIC REGRESSION PROBLEMS SOLVING WITH SELF-CONFIGURING GENETIC PROGRAMMING ALGORITHM

The efficiency of the self-configuring genetic programming algorithm in solving symbolic regression problems is considered. The developed algorithm was tested on a variety of problems. The results of the self-configuring algorithm are compared in efficiency with the standard algorithm of genetic programming.

Текст научной работы на тему «Решение задач символьной регрессии самонастраивающимся алгоритмом генетического программирования»

УДК 004.942

РЕШЕНИЕ ЗАДАЧ СИМВОЛЬНОЙ РЕГРЕССИИ САМОНАСТРАИВАЮЩИМСЯ АЛГОРИТМОМ ГЕНЕТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

С. А. Митрофанов, Т. С. Карасева

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

E-mail: tatyanakarasewa@yandex.ru

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

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

SYMBOLIC REGRESSION PROBLEMS SOLVING WITH SELF-CONFIGURING GENETIC PROGRAMMING ALGORITHM

S. A. Mitrofanov, T. S. Karaseva

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: tatyanakarasewa@yandex.ru

The efficiency of the self-configuring genetic programming algorithm in solving symbolic regression problems is considered. The developed algorithm was tested on a variety of problems. The results of the self-configuring algorithm are compared in efficiency with the standard algorithm of genetic programming.

Keywords: genetic programming algorithm, self-configuring genetic programming algorithm, symbolic regression.

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

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

Актуальные проблемы авиации и космонавтики - 2017. Том 2

ния (ГП), реализующий операторы селекции (пропорциональная, ранговая, турнирная), скрещивания (стандартное, одноточечное), мутации (слабая, средняя, сильная) [3].

Однако при решении задач с использованием стандартного алгоритма ГП возникает проблема выбора параметров. В силу сложности настройки параметров алгоритма генетического программирования для решения тестовых задач применена самонастройка. Самонастройка осуществлялась на уровне популяции [4].

Программные системы, реализующие ГП и СГП для решения задач символьной регрессии, созданы на языке программирования С++ в среде Embarcadero RAD Studio.

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

Таблица 1

Тестовые задачи символьной регрессии

№ за- Моделируемая функция Интервал варь- Функциональное Объем

дачи ирования переменных множество выборки

1 I (xx, ^ — Х| 1 2 x^ xj, x2 e [-5; 5] {+, -, *, /} 300

2 I (xj, x2 ) — 0.1x2 + 0.1x2 -- 4cos(0.8xj)- 4cos(0.8x2) + 8 x1, x2 e [-16; 16] {+, -, *, /, sin, cos, tg, ctg} 300

3 I (xj, x2 ) — 100 (x2 - x2 )2 + (1 - x1 )2 x1, x2 e [-2; 2] {+, -, *, /} 300

4 I (x) — 1 - 0.5cos (15x - 0.45)cos (31.4x) + + 0.5cos (22.36x )cos (35x) x e[-1;1] {+, -, *, /, sin, cos, tg, ctg} 300

5 I (x) — sin (x) x e [-л; л] {+, -, *, /} 300

Для поиска решения алгоритмами ГП и СГП было выделено по 100 индивидов, а число поколений определялось опытным путем для каждой задачи в отдельности до начала тестирования. Число запусков на каждой функции составило 100. Будем говорить, что алгоритм нашел решение, если среднеквадратичная ошибка составляет менее 0,01. Результаты экспериментов представлены в табл. 2.

Таблица 2

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

№ задачи Алгоритм ГП Число поколений Надежность (для ГП -лучшая надежность) Среднее поколение Лучшие настройки (селекция, скрещивание, мутация)

1 Лучшие настройки 300 100 46 Турнирная (2), одноточечное, сильная

Средние настройки 300 100 71 Ранговая, стандартное, средняя

СГП 300 100 62 Турнирная (2), стандартное, среднее

2 Лучшие настройки 500 71 181 Турнирная (2), одноточечное, слабая

Средние настройки 500 54 197 Пропорциональная, одноточечное, среднее

СГП 500 70 213 Турнирная (2), одноточечное, среднее

3 Лучшие настройки 300 87 104 Турнирная (9), одноточечное, сильная

Средние настройки 300 67 176 Пропорциональная, одноточечное, сильная

СГП 300 82 159 Турнирная (9), стандартное, сильная

Окончание табл. 2

№ задачи Алгоритм ГП Число поколений Надежность (для ГП -лучшая надежность) Среднее поколение Лучшие настройки (селекция, скрещивание, мутация)

4 Лучшие настройки 500 51 254 Турнирная (2), стандартное, слабая

Средние настройки 500 39 301 Турнирная (9), одноточечное, средняя

СГП 500 46 327 Турнирная (2), стандартное, слабая

5 Лучшие настройки 300 91 33 Турнирная (9), одноточечное, слабая

Средние настройки 300 77 65 Ранговая, стандартное, средняя

СГП 300 79 49 Турнирная (2), стандартное, слабая

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

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

1. Бухтояров В. В., Семенкин Е. С. Разработка и исследование гибридного метода генетического программирования // Программные продукты и системы. 2010. № 3. С. 34-38.

2. Koza J. R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. // MIT Press, Cambridge, MA, 1992.

3. Семенкин Е. С., Семенкина М. Е. Самоконфигурируемые эволюционные алгоритмы моделирования и оптимизации : монография / МДП, Магнитогорск, 2014.

4. Митрофанов С. А. Исследование эффективности настроек генетического алгоритма оптимизации методом самоконфигурирования // Решетневские чтения : материалы XX Юбилейной междунар. науч.-практ. конф., посвящ. памяти генерального конструктора ракет.-космич. систем акад. М. Ф. Решетнева (09-12 нояб. 2016, г. Красноярск) : в 2 ч. / под общ. ред. Ю. Ю. Логинова ; Сиб. гос. аэрокосмич. ун-т. Красноярск, 2016. С. 67-69.

© Митрофанов С. А., Карасева Т. С., 2017

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