Актуальные проблемы авиации и космонавтики. Информационные технологии
фицированный алгоритм в процессе работы сам выбирает применяемые типы трех операторов, а именно селекции, скрещивания и мутации.
Рассмотрим схему реализованного гибридного самонастраивающегося эволюционного алгоритма. Он начинается с инициализации популяции. Также одновременно с инициализацией нужно задать начальные значения вероятностей выбора операторов для каждого индивида. Так как нет какой-либо априорной информации о том, какой оператор предпочтительнее, то начальные значения вероятностей будут равны между собой. Эти числа записываются в хромосому и не нулями и единицами, как решение задачи, а вещественными числами. Далее начинается первая итерация алгоритма: берем первого индивида и в соответствии с эмпирическими вероятностями, закодированными в нем, случайным образом выбираем операторы, которые будут к нему применены. Непосредственно применяем выбранные операторы, получаем потомков, случайно выбираем одного из них. Сравниваем его пригодность с пригодностью индивида, которого мы рассматриваем на текущем шаге, если она больше, то перемещаем найденного потомка в следующее поколение, если меньше, то перемещаем исходного индивида. После этого пересчитываем вероятности выбора операторов следующим образом: если потомок имеет большую пригодность по сравнению с исходным индивидом, то увеличиваем вероятности выбора использованных на данном шаге операторов селекции, скрещивания и мутации, если потомок имеет меньшую пригодность, то уменьшаем соответствующие вероятности. Затем перезаписываем полученные числа в индивида, которого переместили в следующее поколение и переходим к очередному индивиду. После того, как все хромосомы в популяции прошли развитие, заканчивается первая итерации алгоритма и начинается новая. Так продолжается до тех пор, пока не будут пройдено заданное пользователем число поколений.
Для проверки эффективности рассматриваемой схемы самонастройки, сравним разработанный гибридный алгоритм со стандартным генетическим алгоритмом на наборе из десяти тестовых функций безусловной оптимизации и десяти тестовых задачах условной оптимизации. В качестве критериев эффективно-
сти были выбраны - надежность алгоритма (процент удачных запусков, в ходе которых решение найдено с необходимой точностью) и среднее число поколений до первого обнаружения искомого решения.
Установлено, что гибридный алгоритм имеет надежность значительно больше, чем средний по эффективности генетический алгоритм, и почти на всех задачах имеет надежность, такую же или больше, чем генетический алгоритм с лучшими настройками. Также полученные результаты показали, что по скорости рассматриваемая модификация, если и проигрывает стандартному алгоритму, то немного.
Кроме этого, было проведено сравнение гибридного алгоритма с другими оптимизационными процедурами по методикам, предложенным на сайтах: http://coco.lri.fr/COCOdoc/bbo_experiment.html и
http://www.ntu.edu.sg/home/EPNSugan/ index_files/CEC-06/CEC06.htm. Сравнительный анализ подтвердил конкурентоспособность разработанного метода оптимизации относительно других алгоритмов, предложенных на вышеупомянутых сайтах.
В заключение можно добавить, во-первых, что проведенные исследования показали целесообразность использования гибридного алгоритма вместо обычного генетического, так как он не требует выбора ряда параметров и имеет показатели эффективности не хуже, чем генетический алгоритм с лучшими настройками. Во-вторых, алгоритм показал свою высокую эффективность на задачах как безусловной, так и условной оптимизации.
Библиографические ссылки
1. Сергиенко А. Б., Галушин П. В., Бухтояров В.В., Сергиенко Р. Б., Сопов Е. А., Сопов
С. А. Генетический алгоритм. Стандарт. Красноярск, 2010 [Электронный ресурс]. URL: http://www.harrix.org/files/61/Geneticheskii_algoritm_St andart_Part_I_v_1_8_Release_Candidate.pdf.
2. Gomez J. Self adaptation of operator rates in evolutionary algorithms // Proc. of Genetic and
Evolutionary Computation Conference 2004 (GECCO 2004). LNCS No. 3102, 2004. P. 1162-1173.
© Фисак А. В., 2012
УДК 519.87
Д. И. Хритоненко Научный руководитель - Е. С. Семенкин Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
ПРИМЕНЕНИЕ САМОНАСТРАИВАЮЩЕГОСЯ АЛГОРИТМА ГЕНЕТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧ КЛАССИФИКАЦИИ
Рассматривается самонастройка алгоритма генетического программирования при решении задач восстановления символьной регрессии и классификации. Разработанный алгоритм протестирован на ряде задач и сравнивается с базовым. На задачах классификации данный алгоритм сравнивается по эффективности со сходными ему алгоритмами.
При решении задач с помощью алгоритмов генетического программирования (ГП) [1] возникает проблема выбора их параметров. Для каждой решаемой
задачи существует свой, оптимальный в некотором смысле, набор параметров, который в свою очередь может изменяться во время работы алгоритма. Разу-
Секция ««Математические методы моделирования, управления и анализа данных»
меется, изначально ни набор этих параметров, ни закон их изменения (если он вообще существует) неизвестен. Таким образом, перед нами ставится задача в отыскании этих неизвестных параметров, с целью увеличения производительности программы.
В данной работе настройка параметров будет производиться на основе работы [2].
Выделим 3 группы операторов у ГП: селекции, скрещивания, мутации. Каждая группа представляет собой набор следующих вариантов операторов.
Разбиение операторов ГП по группам
Таблица 4
Группы операторов Селекция Скрещивание Мутация
Операторы Пропорциональная Ранговая Турнирная Одноточечное Стандартное Одноточечная С заменой ветви
Ъ =
Таблица 5
Результаты тестирования
Алго- Ошиб Слож- Надеж- Трудо- Формулы
ритм ка ность ность емкость Р1 Р2 Р3
Sim- 0.007 87 63 826 17 20 63
ple GP 93
SA GP 0.004 75 86 92 751 23 12 65
рующие с заданной точностью тестовые задачи, в свою очередь были разделены на 3 класса:
• Точные (Р1) - формулы, точно совпадающие с истинной структурой
• Условно точные (Р2) - формулы, которые приводятся при помощи элементарных математических преобразований и округлений к истинным
• Не приводимые (Р3) - формулы, не приводимые к истинным (разложение в ряд и т.д.)
В данной таблице приведены результаты усреднения по всем тестовым задачам и прогонам. В случае тестирования алгоритмов ГП без настройки параметров, проводилось также усреднение и по всем параметрам алгоритма.
Результаты тестирования и сравнения алгоритмов на задачах классификации:
Таблица 6
Результаты тестирования
Внутри каждой группы операторы будут конкурировать за возможность использования на следующей итерации алгоритма.
Прогрессивная хромосома - хромосома, которая превосходит по пригодности среднее значение пригодности в текущей популяции. Количество прогрессивных хромосом, полученных при помощи оператора селекции равно суммарному числу прогрессивных хромосом, полученных при проведении скрещивания и мутации. Вероятность выбора оператора внутри
группы будет высчитываться следующим образом:
^
Название Austra- Ger- Название Austra- Ger-
алгорит- lian man алгорит- lian man
ма credit credit ма credit credit
SCGP 0.9022 0.7950 Bayesian 0,8470 0,6790
approach
MGP 0.8985 0.7875 Boosting 0,7600 0,7000
2SGP 0.9027 0.8015 Bagging 0,8470 0,6840
GP 0.8889 0.7834 RSM 0,8520 0,6770
Fuzzy 0,8910 0,7940 CCEL 0,8660 0,7460
classifier
C4.5 0.8986 0.7773 CART 0.8744 0.7565
LR 0.8696 0.7837 MLP 0.8986 0.7618
k-NN 0.7150 0.7151 SA GP 0.8960 0.7693
где qi - число прогрессивных хромосом, полученных при помощи ьго оператора. На каждой итерации работает лишь один набор генетических операторов. Поэтому необходимо несколько итераций для накопления данных для пересчета вероятностей.
Тестирование проводилось по 50-ти прогонам на 24-х тестовых задачах размерности 2 [3], а также на двух задачах классификации размерности 14 и 24 соответственно [4]. Результаты тестирования и сравнения алгоритмов на тестовых задачах.
Критерий эффективности алгоритма:
ERR
! = 1
п
Ошибка - среднеквадратичное отклонение выхода полученного выражения и истинного значения. Сложность - число вершин дерева. Надежность -процент решений, удовлетворяющих заданной точности (ошибка<0.01). Трудоемкость - номер поколения, на котором было найдено решение, удовлетворяющее заданной точности. Формулы (решения), аппроксими-
В данной формуле ERR - число неправильно классифицированных объектов, n - общее число объектов. Сравнительные результаты взяты из научной литературы.
Сравнивая полученный алгоритм (SA_GP) с базовым (Simple_GP), можно сделать вывод, что применение самонастраивающегося алгоритма ГП позволило существенно уменьшить ошибку аппроксимации, а также повысило надежность. На задачах классификации разработанный алгоритм показал результаты, сравнимые с существующими аналогами.
Библиографические ссылки
1. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы : пер. с польск. И. Д. Рудинского. М. : Горячая линия. Телеком, 2006. 383 с.
2. Мясников А.С., Островной генетический алгоритм с динамическим распределением вероятностей выбора генетических операторов. URL: http://technomag.edu.ru/doc/136503.html.
3. URL: http://coco.gforge.inria.fr/doku.php.
4. URL: http://archive.ics.uci.edu/ml/datasets.html.
© Хритоненко Д. И., 2012