Еволюційне програмування
Проведено комплексний аналіз стану царини практичного застосування сучасного еволюційного програмування, а також визначення світових тенденцій і перспектив розвитку еволюційних технологій....
Saved in:
| Date: | 2013 |
|---|---|
| Main Authors: | , |
| Language: | Ukrainian |
| Published: |
Інститут програмних систем НАН України
2013
|
| Series: | Проблеми програмування |
| Subjects: | |
| Online Access: | https://nasplib.isofts.kiev.ua/handle/123456789/86688 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Cite this: | Еволюційне програмування / М.М. Глибовець, Н.М. Гулаєва // Проблеми програмування. — 2013. — № 4. — С. 3-13. — Бібліогр.: 23 назв. — укр. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| id |
nasplib_isofts_kiev_ua-123456789-86688 |
|---|---|
| record_format |
dspace |
| spelling |
nasplib_isofts_kiev_ua-123456789-866882025-02-09T14:16:17Z Еволюційне програмування Evolutionary Programming Глибовець, М.М. Гулаєва, Н.М. Теоретичні та методологічні основи програмування Проведено комплексний аналіз стану царини практичного застосування сучасного еволюційного програмування, а також визначення світових тенденцій і перспектив розвитку еволюційних технологій. 2013 Еволюційне програмування / М.М. Глибовець, Н.М. Гулаєва // Проблеми програмування. — 2013. — № 4. — С. 3-13. — Бібліогр.: 23 назв. — укр. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/86688 004.4 uk Проблеми програмування application/pdf Інститут програмних систем НАН України |
| institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| collection |
DSpace DC |
| language |
Ukrainian |
| topic |
Теоретичні та методологічні основи програмування Теоретичні та методологічні основи програмування |
| spellingShingle |
Теоретичні та методологічні основи програмування Теоретичні та методологічні основи програмування Глибовець, М.М. Гулаєва, Н.М. Еволюційне програмування Проблеми програмування |
| description |
Проведено комплексний аналіз стану царини практичного застосування сучасного еволюційного програмування, а також визначення світових тенденцій і перспектив розвитку еволюційних технологій. |
| author |
Глибовець, М.М. Гулаєва, Н.М. |
| author_facet |
Глибовець, М.М. Гулаєва, Н.М. |
| author_sort |
Глибовець, М.М. |
| title |
Еволюційне програмування |
| title_short |
Еволюційне програмування |
| title_full |
Еволюційне програмування |
| title_fullStr |
Еволюційне програмування |
| title_full_unstemmed |
Еволюційне програмування |
| title_sort |
еволюційне програмування |
| publisher |
Інститут програмних систем НАН України |
| publishDate |
2013 |
| topic_facet |
Теоретичні та методологічні основи програмування |
| url |
https://nasplib.isofts.kiev.ua/handle/123456789/86688 |
| citation_txt |
Еволюційне програмування / М.М. Глибовець, Н.М. Гулаєва // Проблеми програмування. — 2013. — № 4. — С. 3-13. — Бібліогр.: 23 назв. — укр. |
| series |
Проблеми програмування |
| work_keys_str_mv |
AT glibovecʹmm evolûcíjneprogramuvannâ AT gulaêvanm evolûcíjneprogramuvannâ AT glibovecʹmm evolutionaryprogramming AT gulaêvanm evolutionaryprogramming |
| first_indexed |
2025-11-26T18:40:24Z |
| last_indexed |
2025-11-26T18:40:24Z |
| _version_ |
1849879357957341184 |
| fulltext |
Теоретичні та методологічні основи програмування
© М.М. Глибовець, Н.М. Гулаєва, 2013
ISSN 1727-4907. Проблеми програмування. 2013. № 4 3
УДК 004.4
М.М. Глибовець, Н.М. Гулаєва
ЕВОЛЮЦІЙНЕ ПРОГРАМУВАННЯ
Проведено комплексний аналіз стану царини практичного застосування сучасного еволюційного про-
грамування, а також визначення світових тенденцій і перспектив розвитку еволюційних технологій.
Вступ
Природа завжди вражала своєю
складністю і водночас невипадковою взає-
мопов’язаністю. Зовсім не дивує той факт,
що дослідники математичних та комп’ю-
терних задач у пошуках натхнення зверну-
лися до теорії еволюції. Можливість функ-
ціонування обчислювальної системи з про-
стими механізмами мінливості та відбору
по аналогії з законами еволюції у природ-
них системах була досить привабливою.
На відміну від природного процесу, обчи-
слювальна система на основі еволюційно-
го алгоритму, як правило, створена для
отримання можливого і прийнятного
розв’язку деякої конкретної задачі (або не-
одноразового отримання таких розв’язків)
за скінченний проміжок часу.
Еволюційну метафору можна засто-
совувати для оптимізаційних задач чи за-
дач пошуку у будь-якій галузі, за умови,
що можливі розв’язки задачі можна де-
яким чином закодувати у рядок символів,
коректно визначити оператори вибірки,
мутації та схрещування для таких рядків
і описати деяку функцію, що оцінюватиме
життєздатність такого розв’язку за вико-
нання умов задачі. Оператор схрещування
вносить у закодований рядок суттєві змі-
ни, забезпечуючи пошук на всій множині
можливих розв’язків, а оператор мутації
потроху «налаштовує» оптимальніший
розв’язок.
Дослідження даної теми є безпереч-
но актуальним, адже розробка, аналіз та за-
стосування ефективних і універсальних
методів розв’язку задач (алгоритмів) – це
ключова задача комп’ютерних наук, а тема
еволюційних алгоритмів ще не достатньо
досліджена. Еволюційні алгоритми нада-
ють можливість швидкої генерації прий-
нятних розв’язків задач, які неможливо
розв’язати іншими аналітичними метода-
ми, уникаючи повного перебору і значно
скорочуючи часові витрати.
Метою цього дослідження є комп-
лексний розгляд стану царини практич-
ного застосування сучасного еволюційного
програмування, а також визначення світо-
вих тенденцій і перспектив розвитку ево-
люційних технологій. Ми вважаємо, що
особливу увагу слід приділити новим, не-
ординарним сферам застосування еволю-
ційних алгоритмів, оскільки вони вказують
на перспективність цього напрямку.
1. Еволюційне програмування
Історія еволюційних обчислень по-
чинається з розробки різних незалежних
моделей.
Еволюційне програмування (ЕП) ви-
найдене Лоуренсом Фогелем у 1960 – 1965
роках під час роботи над звітом перед
Конгресом Сполучених Штатів «Стан га-
лузі штучного інтелекту і можливості інве-
стування в неї». Основними підходами у
цій галузі на той час були моделювання
роботи мозку (нейронні мережі) та моде-
лювання розв’язання задач експертами.
Фогель помітив можливість ще одного,
альтернативного підходу до проблем шту-
чного інтелекту – не моделювання кінце-
вого результату еволюції, а моделювання
самого процесу еволюції як засобу випра-
цювання розумної поведінки і можливос-
тей передбачення явищ у середовищі.
Л. Фогель виконав низку експери-
ментів, у яких скінченні автомати предста-
вляли собою особин у популяції вирішува-
чів задачі. Ці скінченні автомати передба-
чали символи у цифрових послідовностях,
які, еволюціонуючи, ставали все придат-
нішими до розв’язання поставленої задачі.
Теоретичні та методологічні основи програмування
4
Саме тоді за досліджуваною цариною за-
кріпилася назва «еволюційне програму-
вання».
Популяція скінченних автоматів,
потрапивши до експериментального сере-
довища, отримує певну послідовність сим-
волів. Для кожного автомата-батька вико-
нується процедура зіставлення кожного
наступного символу з відповідним про-
гнозованим символом із виходу автомата
та оцінюється значення функції втрат
для цього виходу. Закінчивши прогнозу-
вання, визначається «життєздатність» та-
кого автомату (програми). Автомати-
нащадки утворюються випадковою мута-
цією автоматів-батьків і теж оцінюються.
Найкращі автомати відбираються до на-
ступного покоління, і процес повторюєть-
ся. За потреби прогнозування нових сим-
волів використовують найкращий на цей
час автомат, а нове спостереження дода-
ється до старих [1].
Тому можна сказати, що ЕП, на ві-
дміну від генетичних алгоритмів, моделює
еволюцію більш як процес пристосу-
вальної поведінки особин популяції або
виду, аніж процес адаптації генів.
Еволюційні стратегії у багатьох
аспектах подібні і до генетичних алго-
ритмів, і до еволюційного програмування,
бо теж імітують процеси природної еволю-
ції. Однак, вони мають суттєву відмінність
на прикладному рівні. Водночас генетичні
алгоритми просто створені для оптимізації
дискретних або цілочисельних розв’язків
задач, еволюційні стратегії застосовують
для неперервних значень, які типовіші для
експериментальних задач у лабораторіях.
Спочатку ЕП було запропоновано
як процедура породження машинного ін-
телекту. Інтелект при цьому розглядався у
контексті адаптивної поведінки, а саме як
здатність системи адаптувати в широкому
діапазоні середовищ свою поведінку для
досягнення поставленої мети; можливі
розв’язки заданої проблеми представля-
лись скінченними автоматами [2].
В кінці 1980-х рр. ЕП було розши-
рене для використання в задачах числової
оптимізації; зокрема, були запропоновані
альтернативні представлення розв’язків,
включаючи дійсні вектори для оптимізації
неперервних функцій та упорядковані спи-
ски (перестановки) для задачі комівояжера
[3]. Фактично, початкова організація алго-
ритму еволюційного програмування, який
оперував скінченними автоматами, була
розширена до використання довільного
способу кодування, різних операторів му-
тації та селекції, а також до техніки самоа-
даптації.
Наразі прийнято говорити про дві
гілки ЕП – традиційне еволюційне програ-
мування та сучасне еволюційне програму-
вання.
Принциповим аспектом, який від-
різняє ЕП від генетичного алгоритму, є те,
що ЕП представляє фенотипічний, а не ге-
нотипічний підхід до моделювання ево-
люції: пошук розв’язків йде на рівні фено-
типу, а біологічна еволюція розглядається
як процес пристосування до навколиш-
нього середовища в першу чергу на рівні
поведінки. Центральним об’єктом еволю-
ції в ЕП є популяція. Такий рівень абстра-
кції у природі не передбачає рекомбінації,
тому в ЕП немає оператора кросинговеру,
а єдиним оператором пошуку альтернати-
вних розв’язків є мутація.
В цілому сьогодні ЕП розглядається
як відкрита структура з точки зору пред-
ставлення розв’язків та операторів мутації.
Фундаментальним положенням тут є те,
що представлення не повинно фіксуватись
заздалегідь, а визначається з поставленої
проблеми. Аналогічно, оператори мутації
розробляються у відповідності з обраним
способом кодування розв’язків; ключовим
моментом у конструюванні операторів му-
тації є те, що вони мають забезпечувати
тісний зв’язок між батьком та його нащад-
ком.
Наразі ЕП найчастіше використову-
ється для оптимізації неперервних функ-
цій. Тому спочатку розглянемо сучасне
еволюційне програмування (СЕП), а озна-
йомитися з його історично першою фор-
мою можна в роботі [4].
2. Сучасне еволюційне
програмування
Сучасне еволюційне програмування
(Contemporary Evolutionary Programming),
як вже згадувалось, розроблене для задач
Теоретичні та методологічні основи програмування
5
числової оптимізації, зокрема, для оптимі-
зації дійсних функцій (оптимізації дійсних
параметрів – continuous parameter optimiza-
tion): необхідно знайти значення аргумен-
тів, на яких досягається мінімум функції
RRxxxFXF n
n :),...,,()( 21
(аргументи та значення функції є дійсни-
ми). В загальному випадку припускається
існування обмеженого підпростору:
n
nn
n RvuvuvuX ],[...],[],[ 2211 ,
такого що nivxu iii ,...1, . Насправді ці
обмеження мають місце тільки на етапі іні-
ціалізації, при встановленні початкової по-
пуляції; оператори не перевіряють вико-
нання вказаної умови. Таким чином, прос-
тір пошуку в принципі є необмеженим:
n
x RA . Обмежень на вид цільової функ-
ції немає.
2.1. Стандартна форма алгоритму
сучасного еволюційного програмування.
Стандартна форма алгоритму (Standard EP)
ґрунтується на припущенні, що
0)),...,,(min( 21 nxxxF .
Схема алгоритму.
0. Кодування розв’язків.
1. Ініціалізація.
2. Оцінювання.
3. Моделювання еволюційного проце-
су (репродукція):
3.1. застосування генетичних опера-
торів;
3.2. селекція (оцінювання та відбір
або перехід на п. 4);
3.3. перехід на п. 3.1.
4. Завершення роботи.
Розглянемо кожен крок детальніше.
Кодування розв’язків. Одній осо-
бині A відповідає вектор дійсних змінних:
n
n RxxxXA ),...,,()( 21
.
Ініціалізація. Випадковим чином
генерується початкова популяція, що
складається з N особин iA , Ni ,...,2,1 ;
рекомендоване значення розміру популяції
200N ([5]). Значення елемента ijx ,
nj ,...,2,1 , кожної особини ,...,( 21 iii xxA
)..., inx , Ni ,...,2,1 , встановлюється випа-
дково за допомогою рівномірного розподі-
лу на інтервалі Rvu jj ],[ , jj vu . Гра-
ниці цього інтервалу мають значення лише
на етапі ініціалізації; у подальшій еволюції
простір пошуку в принципі є необмеже-
ним. Якщо границі інтервалів не обумов-
лені задачею, то рекомендовані значення
параметрів є такими: 50ju , 50jv ,
nj ,...,2,1 ([5]).
Оцінювання. Функція пристосова-
ності )(A зазвичай збігається з цільовою
функцією:
)()( XFA
.
В загальному випадку значення фу-
нкції пристосованості змінюється за допо-
могою випадкової величини ζi – елемента
збурення (random noise term), після чого
масштабується до додатного значення.
Тобто, в загальному випадку функція здо-
ров’я набуває вигляду:
)),(()( XFA
,
де RR: – функція масштабуван-
ня (scaling function),
Θ – додаткова множина параметрів,
включених у процес.
Застосування генетичних опера-
торів. Єдиним оператором в еволюційно-
му програмуванні є оператор мутації, який
застосовується наступним чином:
кожну особину iA , i=1,…,N, копію-
ють для застосування оператора мутації;
мутація копії кожної особини iA
здійснюється шляхом додавання нормаль-
но розподіленої випадкової величини з ну-
льовим математичним сподіванням та се-
редньоквадратичним відхиленням, що змі-
нюється динамічно (вираховується для
кожної компоненти вектора iX
як квадрат-
ний корінь лінійного перетворення функції
здоров’я). Тобто, значення змінних ijx ,
nj ,...,2,1 , нащадка 'iA особини iA обра-
ховуються за формулою
)1,0()( jjijijij NAxx , (1)
де )( iA – значення функції пристосова-
ності батька, j – константа масштабуван-
Теоретичні та методологічні основи програмування
6
ня або константа пропорційності (propor-
tionality constant), j – дисперсія або зна-
чення зсуву (offset value), )1,0(jN – стан-
дартна нормально розподілена випадкова
величина.
Як видно з наведених формул, «ши-
рина мутації» залежить від значення функ-
ції пристосованості батька. Ідея полягає у
підвищенні ефективності процесу оптимі-
зації шляхом скорочення «ширини мута-
ції» при наближенні до оптимуму (нагадає-
мо, що в стандартній формі алгоритму гло-
бальний оптимум вважається відомим та
таким, що дорівнює 0).
Константи j , j ( nj ,...,2,1 ) є
параметрами алгоритму та встановлю-
ються користувачем (всього 2n парамет-
рів). Підбір значень параметрів створює
додаткові труднощі при використанні ал-
горитму.
На практиці рекомендують поклада-
ти 1j , 0j ( nj ,...,2,1 ). Тоді фор-
мула (1) набуває вигляду
)1,0()( jiijij NAxx .
Однак необхідно зазначити, що вка-
зані значення параметрів були досліджені
для випадку задач малої розмірності. Вод-
ночас існує суттєва чутливість процесу
пошуку до розміру кроку мутації у випад-
ку задач великої розмірності. Тому при
2n в [5] рекомендується використовува-
ти значення
2
1
n
j ;
кожен нащадок 'iA оцінюється (за
допомогою функції пристосованості
)'( iA ) та додається в популяцію, причо-
му i-ий нащадок додається під номером
N+i.
Легко бачити, що після генерації
всіх нащадків розмір популяції збільшу-
ється вдвічі: популяція складається з N ба-
тьків та N нащадків.
Відбір. Перед початком відбору по-
пуляція містить 2N особин. Для відбору
серед них N особин в наступне покоління
влаштовуються змагання. Для визначення
кількості особин, з якими має змагатись
кожна особина з об’єднаної популяції ба-
тьків та дітей, вводиться додатковий пара-
метр 1h ( Nh ).
Змагання особин проводяться на-
ступним чином. Кожна особина iA
( Ni 2,...,1 ) попарно порівнюється з h ін-
шими особинами, обраними випадково за
законом рівномірного розподілу з
об’єднаної популяції батьків та дітей.
Особина iA перемагає особину jA
( },...,,{ 21 hmmmj , }2,...,2,1{ Nmk ,
hk ,...,1 ), якщо її функція пристосова-
ності є не гіршою, ніж у супротивника:
)()( ji AA . Далі, для кожної особини
iA вираховується оцінка iW – кількість її
перемог:
h
j
ji resW
1
,
де
інакше,0
)()(якщо,1 ji
j
AA
res ;
очевидно, },...,1,0{ hWi . Після цього всі
особини сортуються, за зменшенням кіль-
кості їхніх перемог (за спаданням значення
оцінки iW ), і найкращі особини утворюють
нову популяцію розміром N. У випадку
однакової кількості перемог, перевага на-
дається особині з кращим значенням функ-
ції пристосованості.
Значення параметра h встановлю-
ється користувачем. Як правило, параметр
h набуває значення від Nh 05.0 до
Nh 01.0 , тобто від %1 до %5 від зага-
льної кількості особин в популяції. При
200N в [5] рекомендується брати
10h .
Зауважимо, що з ростом h відбір
набуває дискримінаційного елітарного ха-
рактеру. Неважко також побачити, що про-
ведена в описаний спосіб селекція може
інтерпретуватись як ймовірнісна (N+N)-се-
лекція еволюційної стратегії.
Тут доречно було б навести головні
аргументи дослідників ЕП, які наполяга-
ють на ймовірнісній селекції [5]. Перш за
все вони звертають увагу на те, що селек-
ція в природі є ймовірнісною. Крім того,
існують емпіричні факти, згідно з якими
«м’який» механізм селекції, що присвоює
ненульову ймовірність відбору навіть най-
Теоретичні та методологічні основи програмування
7
гіршим індивідуумам, дозволяє еволюцій-
ним алгоритмам вийти з локального опти-
муму [6].
Завершення роботи. Умовою зу-
пинки алгоритму ЕП може бути виконання
однієї з умов: досягнення заданого числа
поколінь maxt ; досягнення заданого рівня
якості; досягнення заданого рівня збіж-
ності (особини в популяції стають настіль-
ки схожими між собою, що подальше по-
кращення відбувається надто повільно).
ЕП, як було сказано вище, не пе-
редбачає оператора рекомбінації, повністю
покладаючись на силу мутації. Аргумента-
ція такого підходу є наступною.
Трактування еволюції у першу чер-
гу як механізму генетичних змін, а не фе-
нотипічних наслідків, є неправильним, от-
же, роль кросинговеру в генетичному ал-
горитмі перебільшується [7]. На кросинго-
вер слід дивитись скоріше як на можли-
вість ізолювання дефектів у зародку, а не
як на можливість покращення еволюційної
оптимізації шляхом рекомбінації гарних
розв’язків, на чому наголошують дослід-
ники в галузі генетичних алгоритмів [8].
Полігенність та плейотропія в більшості
випадків перешкоджають останній можли-
вості, адже класичне припущення «один
ген – одна властивість» в органічній ево-
люції не є вірним.
Д. Фогель та В. Атмар в [9] предста-
вили емпіричні дані (отримані шляхом по-
рівняння результатів роботи алгоритмів
ЕП з та без рекомбінації на послідовностях
лінійних функцій з параметризованими
взаємодіями між генами), згідно з якими
оператор мутації Гаусса є більш ефектив-
ним, ніж одноточковий кросинговер, та
навіть більш ефективним, ніж комбінація
кросинговеру та мутації.
Після цього вийшла низка робіт,
присвячених дослідженню ЕП та генетич-
них алгоритмів, автори яких намагались
встановити, за яких обставин використан-
ня оператора рекомбінації покращує про-
дуктивність алгоритму [10]. Так, в [11]
отримано емпіричний результат, згідно з
яким кросинговер є перешкодою для вели-
ких популяцій при вирішенні проблеми
виходу популяції з локального оптимуму.
Водночас автори роботи [12] дослідили
нішу кросинговеру (двоточкового та одно-
рідного) в генетичному алгоритмі та роз-
робили задачу, для якої кросинговер має
суттєві переваги над мутацією. В роботі
[13] робиться висновок, що можливості
кросинговеру чи гауссівської мутації з по-
родження нащадка кращої у порівнянні з
батьками якості великою мірою залежать
від стану простору пошуку; мутація вияв-
ляється кращою на початку, а кросинговер
– у процесі еволюції.
2.2. Теоретичні основи сучасного
еволюційного програмування. Розгля-
даючи ЕП як оптимізаційну процедуру,
природно дослідити її математичні власти-
вості.
Маючи на меті дослідження збіж-
ності алгоритму ЕП, Д. Фогель провів ана-
ліз стандартної форми алгоритму ЕП для
випадку 1j , 0j , 0)()( ii XFA
( Ni ,...,2,1 , nj ,...,2,1 ). Зокрема, вико-
ристовуючи ланцюги Маркова, Д. Фогель
показав [7, 14], що ймовірність збіжності
алгоритму дорівнює 1, тобто довів асимп-
тотичну збіжність стандартної форми алго-
ритму до глобального оптимуму.
В доведенні Д. Фогеля кожна мож-
лива популяція, яка може виникнути в
процесі еволюції, інтерпретується як стан
скінченного ланцюга Маркова, а єдиний
поглинаючий стан ланцюга Маркова – як
об’єднання всіх станів популяції, які міс-
тять точку глобального оптимуму. Простір
станів визначається шляхом дискретизації
простору R, яка фактично використовуєть-
ся при будь-якому представленні комп’ю-
тером дійсних значень.
В роботі [5] звертається увага на те,
що результат Д. Фогеля ґрунтується на:
властивості елітарності відбору, яка гаран-
тує монотонну поведінку еволюції, зокре-
ма, існування поглинаючого стану; дис-
кретизації простору пошуку; можливості
переходу в будь-яку точку простору пошу-
ку за один або декілька кроків.
Можна зауважити, що реальний
глобальний оптимум може як завгодно си-
льно відрізнятись від знайденого алгорит-
мом. Більше того, в зв’язку з дискретизаці-
єю простору пошуку, нічого не можна ска-
зати про властивість збіжності еволюцій-
Теоретичні та методологічні основи програмування
8
ного програмування для цільової функції
RRf n : .
Аналіз матриці ймовірностей пере-
ходів [15], яку визначає еволюційний мар-
ківський ланцюг, також вказує на те, що
ймовірність покращення розв’язку зростає
як геометрична прогресія, збігаючись до
1.0, та є лінійною комбінацією власних
значень цієї матриці переходів.
Виходячи зі схожості підходів ЕП
та еволюційної стратегії, в [15] пропону-
ється перенести на еволюційне програму-
вання аналіз швидкості збіжності, проведе-
ний для еволюційної стратегії в роботі
[16]. Ці результати вказують на геометрич-
ну швидкість збіжності для строго опуклих
функцій, і більше того, на те, що швид-
кість збіжності може бути покращена як
логарифм кількості нащадків λ в (1, λ)-від-
борі.
У роботі [5] Д. Фогель також про-
аналізував випадок розмірності популяції
1N та елітарної селекції; 1jk , 0jz ,
nj ,...,2,1 . Результуючий алгоритм ви-
явився ідентичним алгоритму (1+1)-ЕС для
)(xf .
Загалом можна сказати, що на сьо-
годні еволюційне програмування є від-
носно мало дослідженою парадигмою мо-
делювання еволюції.
2.3. Варіанти алгоритмів сучасно-
го еволюційного програмування. Вико-
ристання стандартної форми алгоритму ЕП
супроводжується такими труднощами:
необхідність підбору 2n значень па-
раметрів еволюції j та j ( nj ,...,2,1 );
узгодження та підбір функції мас-
штабування Ω у випадку, коли немає ін-
формації про глобальний оптимум;
у випадках, коли значення функції
пристосованості є надто великими, пошук
стає квазівипадковим;
негативно впливає на стійкість ал-
горитму випадок, коли глобальний міні-
мум функції пристосованості відрізняється
від 0; точне досягнення глобального міні-
муму в цьому випадку є неможливим.
Для подолання вказаних недоліків
стандартної форми ЕП було запропонова-
но низку модифікацій наведеного вище
алгоритму.
Один з варіантів модифікації допус-
кає змінний розмір популяції, а також на-
явність різної кількості нащадків у різних
батьків.
Інший підхід полягає у зміні про-
цедур генерації нащадків та відбору. На-
приклад, обирають випадково батька, з
нього отримують шляхом мутації нащадка,
оцінюють нащадка та додають в популя-
цію; одразу після цього з популяції вилу-
чають найслабшу особину.
Найбільш перспективним підходом
видається застосування ідеї самоадаптації
в ЕП. Дійсно, в алгоритмі ЕП існує низка
параметрів, які керують поведінкою алго-
ритму: розмір популяції, розподіл мутацій,
тиск відбору. Тоді, наприклад, оператори
мутації (варіації, зміни) можуть бути
включені до складу особин як додаткова
інформація щодо способу породження на-
щадків; ця додаткова інформація може під-
лягати мутації та селекції в той же спосіб,
що і можливий розв’язок задачі. Були за-
пропоновані методи розширення еволю-
ційного пошуку до двокрокового процесу,
який включає еволюцію мутаційних змін.
Зауважимо, що такі методи були розробле-
ні для ЕП та еволюційної стратегії повніс-
тю незалежно. Самоадаптовні алгоритми
застосовувались як до проблем непере-
рвної, так і до проблем дискретної оптимі-
зації [15].
Враховуючи сказане, на сьогодні
можна виділити, згідно робіт [5, 14, 15], 5
варіантів сучасного (неперервного) еволю-
ційного програмування:
стандартне ЕП (Standard EP) – ха-
рактеризується відсутністю будь-якого ме-
ханізму самоадаптації;
неперервне стандартне ЕП (Conti-
nuous Standard EP) – на противагу механіз-
му, базованому на зміні популяцій, ново-
створений індивід одразу оцінюється та
додається в популяцію;
мета-ЕП (Meta-EP) – включає до-
даткові змінні (параметри мутацій) в гено-
тип з метою проведення самоадаптації;
неперервне мета-ЕП (Continuous
Meta-EP) – мета-ЕП, за якого новостворе-
Теоретичні та методологічні основи програмування
9
ний індивід одразу оцінюється та додаєть-
ся в популяцію;
R-мета-ЕП (Rmeta-EP) – крім стан-
дартних відхилень, включає в генотип ко-
варіації (представлені за допомогою коефі-
цієнтів кореляції) для самоадаптації. Цей
метод, який, очевидно, легко узагальнити
до неперервного R-мета-ЕП, був реалізова-
ний та протестований Д. Фогелем тільки
для двовимірного випадку.
Зупинимось детальніше на питанні
самоадаптації в ЕП – розглянемо мета-ЕП
та R-мета-ЕП. Ще раз наголосимо, що в
цьому випадку кожна особина містить не
лише потенційний розв’язок задачі, але й
інформацію щодо того, як розподіляються
нащадки.
Мета-еволюційне програмування.
Мета-ЕП (Meta-EP), як вже зазначалось,
включає додаткові змінні (параметри мута-
цій) в генотип з метою проведення само-
адаптації. Доповнимо схему стандартної
форми ЕП для випадку мета-ЕП.
Кодування розв’язків. Особина
кодується у вигляді
sx AAXA ),(
,
де n
n RxxxX ),...,,( 21
– вектор парамет-
рів об’єкта (object variable vector), які оці-
нюються за допомогою цільової функції,
n
n R ),...,,( 21
– вектор па-
раметрів мутації, вектор стандартних від-
хилень (mutation step sizes vector, standard
deviations vector), які використовуються
при генерації нащадків.
Таким чином, у випадку мета-ЕП
n
x RA , n
s RA . Можна узагальнити на-
ведений спосіб кодування для стандартної
форми ЕП: у випадку стандартної форми
n
x RA , sA Ø.
Ініціалізація. Випадковим чином
генерується початкова популяція, що скла-
дається з N особин iA , i=1,…,N; рекомен-
доване значення розміру популяції
200N ([10]). При цьому значення еле-
мента ij , nj ,...,2,1 , кожної особини
)...,,,,,...,,( 2121 iniiiniii xxxA , Ni ,...,1 ,
встановлюється випадково за законом рів-
номірного розподілу на інтервалі ],0[ c , де
c – параметр еволюції, 0c . В момент іні-
ціалізації рекомендується брати 25c [7].
Під час оптимізації значення ij можуть
варіюватись на всьому діапазоні додатних
дійсних чисел R+.
Застосування генетичних опера-
торів. Існує кілька варіантів оператора му-
тації; в усіх цих варіантах вектор ви-
користовується при генерації нащадка
),('
XA індивідуума ),(
XA та від-
бувається самоадаптація параметрів мута-
ції . Розглянемо п’ять основних варіан-
тів оператора мутації.
Найпоширенішими операторами
мутації у мета-еволюційному програму-
ванні є наступні.
1. При застосуванні оператора му-
тації у роботах [3, 7, 15, 16] до індивідуума
),(
XA нащадок ),('
XA утворю-
ється наступним чином:
)1,0(Nxx iii ,
)1,0(Niii .
Тут N(0, 1) – стандартна нормально
розподілена випадкова величина; ζ – зов-
нішній параметр, завдяки якому величини
i мають тенденцію залишатись до-
датними; рекомендоване значення 6 .
Для гарантування додатних значень змін-
них i (параметрів мутації), використову-
ється обмежувальне правило (boundary
rule):
якщо 0i , то покласти
00 i , де 0 – невелике додатне, на-
приклад, 001.00 .
Слід пам’ятати, що при надто малих
значеннях змінних – параметрів мутації –
може суттєво уповільнитись процес збіж-
ності.
Легко бачити, що однією з відмін-
ностей мета-еволюційного програмування
від еволюційної стратегії є те, що в мета-
еволюційному програмуванні спочатку ві-
дбувається мутація параметрів об’єкта, а
потім – параметрів мутації. Робилися
спроби змінити порядок мутації векторів
X
та
. Зокрема, в роботі [17] дається яв-
не порівняння варіантів мутації «спочатку
Теоретичні та методологічні основи програмування
10
сигма» та «в кінці сигма» і робиться ви-
сновок, що перший варіант має суттєві пе-
реваги.
2. Змінні нащадка ),('
XA осо-
бини ),(
XA обраховуються в роботах
[10, 18] наступним чином:
)1,0(iiii N ,
)1,0(iiii Nxx .
Тут )1,0(iN – стандартна нормально
розподілена випадкова величина; α – зов-
нішній параметр, який задається корис-
тувачем. Рекомендоване значення
6
1
( 2.0 ).
Звернемо увагу на такий факт. Як-
що коефіцієнт α обрати надто великим, то
величина i може стати від’ємною. В цьо-
му випадку її слід замінити на деяке мале
00 , хоча це й протирічить певною мі-
рою ідеї самоадаптації. Якщо ж обрати ко-
ефіцієнт α надто малим, то проявляється
тенденція уповільнення еволюції [18]. Для
попередження надто близьких до 0 відхи-
лень також застосовується обмежувальне
правило (boundary rule):
якщо 0 i , то покласти
00 i , де 0 – невелике додатне.
Існують варіанти оператора мутації
з використанням не адитивної, а логнор-
мальної схеми модифікації розміру кроку
мутації.
3. В роботах [10, 19] розглядається
алгоритм, названий класичним (classical EP
– CEP), з мутацією виду:
)1,0(iiii Nxx ,
))1,0()1,0(exp( iii NN .
Тут N(0,1) – стандартна нормально
розподілена випадкова величина, що гене-
рується для кожного нащадка; Ni(0,1) –
стандартна нормально розподілена випад-
кова величина, що генерується для кожної
змінної;
1
2
n та
1
2n
–
навчальні норми (learning rates).
4. В роботах [10, 19] також розг-
лядається алгоритм, названий швидким
(fast-EP – FEP), з мутацією виду:
iiii xx ,
))1,0()1,0(exp( iii NN .
Тут i – випадкова величина з роз-
поділом Коші (параметр масштабування
1t ).
5. В роботах [10, 19] пропонується
також модифікація попереднього алгорит-
му, названа покращеним швидким алгорит-
мом (improved fast evolutionary program-
ming algorithm – IFEP). В цьому випадку в
кожного з батьків породжуються по два
нащадки, один з використанням розподілу
Гаусса, інший – розподілу Коші. Останній
розподіл має товстіший «хвіст», завдяки
якому з’являється більше шансів згенеру-
вати широкі мутації; в цілому це дає алго-
ритму більше шансів вийти з локального
мінімуму. Водночас розподіл Гаусса при
використанні малих кроків мутації дає бі-
льше можливостей для регулювання існу-
ючих батьків.
Серед інших варіантів оператора
мутації у мета-еволюційному програму-
ванні можна виділити алгоритми оптимі-
зації керованих мутацій в полярній сис-
темі координат [20] та алгоритми з вико-
ристанням комбінації різних розподілів
мутації [21].
R-мета-еволюційне програмуван-
ня. У випадку R-мета-еволюційного про-
грамування (Rmeta-EP) для самоадаптації
параметрів використовується коваріаційна
матриця. Наведемо лише основні відмін-
ності R-мета-еволюційного програмування
від мета-еволюційного програмування.
Кодування розв’язків. Особина
кодується у вигляді
AAAXA sx ),,(
,
де 2/)1(*
21 ]1,1[),...,,( nn
m
– век-
тор коефіцієнтів кореляції (correlation
coefficients vector), ]1,1[
ji
ij
ij
c
,
}1,...,1{ ni , },...,1{ nij , представляє
Теоретичні та методологічні основи програмування
11
матрицю коваріацій 1C . Таким чином,
у випадку R-мета-еволюційного програ-
мування n
x RA , n
s RA , A
2/)1(*]1,1[ nn .
Ініціалізація коефіцієнтів кореляції
]1,1[j здійснюється аналогічно ініці-
алізації інших змінних.
Застосування генетичних опера-
торів. При застосуванні оператора мутації
до індивідуума ),,(
XA нащадок
),,('
XA утворюється наступним чи-
ном [5]:
)),(,0(
CNXX ,
)1,0(iiii N ,
інакше),~sign(
1~якщо,~
j
jj
j
,
де )1,0(~
jjjj N , ω – масштабу-
ючий множник коефіцієнтів кореляції; ре-
комендоване значення 6 .
Для повноти викладення матеріалу
наведемо (згідно з [5]) зведену таблицю
рекомендованих значень зовнішніх пара-
метрів стандартного еволюційного програ-
мування та мета-еволюційного програму-
вання, яка може бути корисною при прак-
тичній реалізації відповідних алгоритмів.
Звернемо увагу, що вказані значення були
рекомендовані для задач малої роз-
мірності.
Таблиця. Рекомендовані значення зовнішніх параметрів
Параметр
Має місце в Значення
за
замовченням
стандартне ЕП мета-ЕП
Границі iu , iv інтервалів значень змінних
ix
+ +
50iu
50iv
Верхня границя c параметрів мутації i + 25c
Константи пропорційності i + 1i
Константи зсуву i + 0i
Параметр підтримки самоадаптації ζ + 6
Параметр турнірного відбору h + + 10h
Розмір популяції N + + 200N
2.4. Порівняння сучасного ево-
люційного програмування та еволюцій-
ної стратегії. Спочатку зазначимо спільні
властивості сучасного еволюційного про-
грамування та еволюційної стратегії.
Обидва підходи представляють фе-
нотипічний підхід до моделювання еволю-
ції: увага фокусується на поведінці потен-
ційних розв’язків у популяції, а не на ге-
нетичному зв’язку між батьками та на-
щадками. При розв’язку задач оптиміза-
ції дійсних функцій оперують безпосеред-
ньо з дійсними числами. Мутації парамет-
рів задачі мають нормальний розподіл.
Відбір в ЕП можна розглядати як ймовір-
нісну (N+N)-селекцію в еволюційній стра-
тегії. В мета-ЕП, як і в еволюційній страте-
гії, до складу генотипу включені додаткові
змінні – параметри мутацій, тобто кожна
особина містить потенційний розв’язок та
інформацію про те, як розподілятимуться
нащадки.
Серед відмінностей між СЕП та
еволюційною стратегією виділимо такі.
В мета-еволюційному програмуванні, на
відміну від еволюційної стратегії, кіль-
кість змінних – параметрів мутації дорів-
нює n ( ),...,,( 21 n
), тобто немає
можливості обрати довільне число таких
змінних з інтервалу [1, n]. В еволюційній
Теоретичні та методологічні основи програмування
12
стратегії спочатку проводиться мутація
параметрів стратегії, а потім – параметрів
об’єкта; в мета-ЕП порядок мутацій є
зворотним, що призводить до ефекту за-
тримки в зміні параметрів еволюції. Хоча
необхідно відзначити, що останнім часом
з’явились приклади використання в мета-
ЕП порядку мутації
– X
, що фактично
згладжує відмінності між еволюційним
програмуванням та еволюційною стратегі-
єю. Зокрема, в роботах Д. Фогеля [22, 23]
використовується логарифмічно нормаль-
на адаптація параметрів
, за якою вико-
нується мутація змінних – параметрів за-
дачі X
. Логарифмічно нормальний розпо-
діл, що використовується в еволюційній
стратегії, автоматично гарантує додатні
значення параметрів стратегії, а також від-
сутність відхилень у випадку нульового
тиску відбору. Водночас флуктуації в
мета-ЕП не є нейтральними і не гаранту-
ють додатних значень параметрів мутації.
В ЕП використовується стохастичний
відбір, а в еволюційній стратегії – детер-
мінований (найгірші розв’язки викидають-
ся з популяції). Таким чином, в еволю-
ційній стратегії кожна особина бере
участь в середньому в породженні
на-
щадків, але, можливо, і жодного. В еволю-
ційній стратегії реалізовано багато форм
кросинговеру, а ЕП кросинговер не вико-
ристовує.
Останній пункт вимагає більш ґрун-
товного пояснення.
Справа в тому, що еволюційна стра-
тегія є абстракцією еволюції на рівні ін-
дивідуальної поведінки. Включена в хро-
мосому інформація для самоадаптації
параметрів фактично є генетичною, а не
фенотипічною інформацію, тому деякі
форми кросинговеру є доречними. ЕП є
абстракцією еволюції на рівні репродук-
тивних популяцій, видів. Точка в просто-
рі пошуку в ЕП розглядається не як осо-
бина – представник певного виду, а ско-
ріше як абстракція самого виду. Як на-
слідок, рекомбінація в ЕП не має сенсу,
оскільки її неможливо застосувати до різ-
них видів: кросинговер не відбувається
між видами [10].
Висновок
Роботи Л. Фогеля та його учнів по-
ширили процеси ЕП від задач прогнозу-
вання на моделювання систем, розпізна-
вання образів, теорію ігор тощо.
Сучасні вчені у царині ЕП займа-
ються дослідженням еволюції програм,
впливу різних параметрів середовища та
різних видів мутації на результативність
ЕП, розпізнаванням образів тощо. Принци-
пи ЕП застосовуються у плануванні та ма-
ршрутизації трафіку, військово-страте-
гічному плануванні, діагностиці раку, ке-
руючих системах, обробці сигналів, на-
вчанні у іграх і багатьох інших застосу-
ваннях.
При застосуванні традиційних мето-
дів оптимізації і пошуку, у разі навіть не-
значної зміни параметрів середовища всі
обчислення доводиться проводити заново.
Еволюційний підхід дозволяє проводити
аналіз і адаптацію вже створеної популяції
до нових умов середовища, чим скорочує
час роботи алгоритму і реалізує принцип
машинної адаптації і навчання.
1. Fogel L.J., Lawrence J.A. А Retrospective
View and Outlook on Evolutionary
Algorithms // Proceedings of the International
Conference on Computational Intelligence
Theory and Applications: Lecture Notes In
Computer Science. – 1997. – Vol. 1226. –
P. 337–342.
2. Фогель Л., Оуэнс А., Уолш М. Искусствен-
ный интеллект и эволюционное моделиро-
вание. – М.: Мир, 1969. – 230 с.
3. Fogel L.J., Fogel D.B. Artificial Intelligence
through Evolutionary Programming // Final
Report for U. S. Army Research Institute,
Contract. – 1986.
4. Гулаєва Н.М. Еволюційні алгоритми // Віс-
ник Київського національного універ-
ситету імені Тараса Шевченка. Серія: фі-
зико-математичні науки. – 2013. – Вип. 2. –
С. 141–150.
5. Bäck T. Evolutionary Algorithms in Theory
and Practice: Evolution Stratagies, Evolu-
tionary Programming, Geneticd Algorithms. –
Oxford University Press, 1996. – 318 p.
6. Galar R. Evolutionary search with soft selec-
tion // Biological Cybernetics. – 1989. – Vol.
60. – P. 357–364.
7. Fogel D.B. Evolving Artificial Intelligence //
PhD thesis. – University of California, San
Diego, CA. – 1992.
Теоретичні та методологічні основи програмування
13
8. Atmar W. The philosophical errors that plague
both evolutionary theory and simulated evolu-
tionary programming // In: D.B. Fogel and W.
Atmar (eds.) Proceedings of the 1
st
Annual
Conference on Evolutionary Programming. –
Evolutionary Programming Society, San Die-
go, CA. – 1992. – P. 27–34.
9. Fogel D.B., Atmar W. Comparing genetic op-
erators with Gaussian mutations in simulated
evolutionary processes using linear systems //
Biological Cybernetics. – 1990. – Vol. 63,
N 2. – P. 111–114.
10. Eiben A.E., Smith J.E. Introduction to
Evolutionary Computing. – Springer, Natural
Computing Series, 2007. – 300 p.
11. Galar R. Simulation of local evolutionary dy-
namics of small populations // Biological Cy-
bernetics. – 1991. – Vol. 65. – P. 37–45.
12. Eshelman L.J., Schaffer J.D. Crossover’s
niche // In: S. Forrest (editor) Proceedings of
the 5
th
International Conference on Genetic
Algorithms. – Morgan Kaufmann Publishers,
San Mateo, CA. – 1993. – P. 9–14.
13. Jain A.D., Fogel D.B. Case studies in apply-
ing fitness distributions in evolutionary algo-
rithms. II. Comparing the improvements from
crossover and gaussian mutation on simple
neural networks // In: X. Yao, D.B. Fogel
(eds.) Proceedings of the 2000 IEEE Sympo-
sium on Combinations of Evolutionary Com-
putation and Neural Networks. – IEEE Press,
Piscataway, NJ. – 2000. – P. 91–97.
14. Fogel D.B. Asymptotic Convergence Proper-
ties of Genetic Algorithms and Evolutionary
Programming: Analysis and Experiments //
Cybernetics and Systems. – 1994. – Vol. 25,
N 3. – Р. 389–407.
15. Fogel D.B. An overview of evolutionary pro-
gramming // In: L.A. Davis et al. (eds.) Evolu-
tionary algorithms. – Springer. – 1999. –
P. 89–110.
16. Bäck T., Rudolph G., Schwefel H.-P. Evolu-
tionary Programming and Evolution Strate-
gies: Similarities and Differences // In: D.B.
Fogel and W. Atmar (eds.) Proceedings of the
2
nd
Annual Conference on Evolutionary Pro-
gramming. – Evolutionary Programming So-
ciety, La Jolla, CA. – 1993. – Р. 11–22.
17. Gehlhaar D.K., Fogel D.B. Tuning evolution-
ary programming for conformationally flexi-
ble molecular docking // In: L.J. Fogel, P.J.
Angeline, T. Bäck (eds.) Proceedings of the
5
th
Annual Conference on Evolutionary Pro-
gramming. – MIT Press, Cambridge, MA. –
1996. – Р. 419–429.
18. Курейчик В.М., Родзин С.И. Эволюцион-
ные вычисления: генетическое и эволюци-
онное программирование // Новости ис-
кусственного интеллекта. – 2003. – № 5. –
С. 13–19. Режим доступу:
www.raai.org/library/ainews/2003/5/kureichik
_rodzin.doc
19. Yao X., Liu Y., Lin G. Evolutionary program-
ming made faster // IEEE Transactions on
Evolutionary Computing. – 1999. – Vol. 3,
N 2. – Р. 82–102.
20. Ghozeil A., Fogel D.B. A Preliminary Investi-
gation into Directed Mutation in Evolutionary
Algorithms // In: H.-M. Voigt, W. Ebeling, I.
Rechenberg, and H.-P. Schwefel (eds.) Paral-
lel Problem Solving from Nature PPSN IV. –
Springer, Berlin. – 1993. – Р. 329–335.
21. Saravanan N., Fogel D.B. Multi-Operator
Evolutionary Programming // In: P.J. Ange-
line, R.C. Eberhart, R.G. Reynolds, and J.R.
McDonnell (eds.) Evolutionary Programming
VI: Proceedings of the 6
th
Annual Conference
on Evolutionary Programming. – Springer,
Berlin. – 1997. – Р. 215–221.
22. Chellapilla K., Fogel. D.B. Evolving an ex-
pert checkers playing program without human
expertise // IEEE Transactions on Evolution-
ary Computation. – 2001. – Vol. 5, N 4. –
Р. 422–428.
23. Fogel D.B. Blondie24: Playing at the Edge of
AI. – Morgan Kauffmann, San Francisco,
2002. – 406 p.
Одержано 28.02.2013
Про авторів:
Глибовець Микола Миколайович,
доктор фізико-математичних наук,
професор,
декан факультету інформатики НаУКМА,
Гулаєва Наталія Михайлівна,
кандидат фізико-математичних наук,
доцент кафедри інформатики НаУКМА.
Місце роботи авторів:
Національний університет
«Києво-Могилянська Академія»,
04655, м. Київ,
вул. Сковороди, 2.
Тел.: (044) 463 6985.
Факс: (044) 416 4515.
E-mail: glib@ukma.kiev.ua
http://www.springer.com/east/home/computer/artificial?SGWID=5-147-69-173623010-0
http://www.springer.com/east/home/computer/artificial?SGWID=5-147-69-173623010-0
http://www.raai.org/library/ainews/2003/5/kureichik_rodzin.doc
http://www.raai.org/library/ainews/2003/5/kureichik_rodzin.doc
|