Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Генетичні алгоритми.doc
Скачиваний:
1
Добавлен:
05.09.2019
Размер:
169.98 Кб
Скачать

1Генетичні алгоритми

Одним з потужних напрямків розв’язування задач дискретної оптимізації, що швидко розвивається впродовж останніх років, є застосування генетичних алгоритмів. Формальне означення генетичного алгоритму буде наведено пізніше, однак, слід відзначити, характерну особливість генетичного алгоритму: наближення до оптимального розв’язку задачі оптимізації при використанні генетичного алгоритму відбувається шляхом переходу від однієї, достатньо великої множини точок до іншої такої множини. Найкраща, відносно цільової функції, точка такої множини, на кожному етапі наближення ніяк не виділяється серед інших точок множини, на відміну від більшості точкових методів оптимізації, де перехід здійснюється від однієї точки, що претендує на оптимальний розв’язок задачі до іншої, кращої відносно значення цільової функції, на основі інформації отриманої в результаті аналізу цільової функції та попередніх кроків.

Перші попередники сучасних генетичних алгоритмів з’явилися в 1950-х роках у працях Фрейсера – біолога, що намагався змоделювати еволюційні процеси за допомогою імітаційних алгоритмів [Error: Reference source not found]. Його роботи й інші ранні підходи біологів до розуміння еволюційних процесів з використанням імітаційних моделей розглянуті в [Error: Reference source not found]. Генетичні алгоритми в їх сучасному вигляді були вперше розроблені Холландом в 1970-х роках. Він описав свої розробки адаптивних алгоритмів у [Error: Reference source not found], що вперше була опублікована в 1975р. Тоді як біологи намагалися моделювати біологічні системи використовуючи генетичні алгоритми, Холланд показав, як генетичні алгоритми можуть бути використані для розв’язування багатьох практичних задач. Але основна мета його роботи – започаткувати загальну теорію стійких адаптивних систем. Згодом Де Джонг детально описав техніку обчислень, що використовується в генетичних алгоритмах у дисертаційній роботі [Error: Reference source not found]. Хоча генетичні алгоритми були розроблені для широкого кола прикладних задач, найчастіше вони були пов’язані з задачами оптимізації. Початковий успіх генетичних алгоритмів у розв’язуванні складних оптимізаційних задач зумовив появу великої кількості модифікацій генетичних алгоритмів, а також розуміння того, які модифікації для яких класів задач є найбільш придатними. Ми розглядаємо лише генетичні алгоритми для розв’язування комбінаторних задач оптимізації [Error: Reference source not found, Error: Reference source not found, Error: Reference source not found]. Більш загальний огляд генетичних алгоритмів можна знайти в [Error: Reference source not found, Error: Reference source not found, Error: Reference source not found, Error: Reference source not found].

Загальні принципи

З точки зору оптимізації генетичний алгоритм можна охарактеризувати як “розумний” імовірнісний алгоритм. Ідея генетичних алгоритмів базується на принципах еволюційних процесів в природі. Метафора біологічної еволюції полягає в тому, що природні популяції розвиваються згідно принципів природного відбору і “виживанні найбільш придатних”. Індивіди, що є більш успішні в адаптації до їх природного оточення, мають більше шансів на виживання, тоді як індивіди менш придатні – зникають.

Це означає, що гени від більш придатних індивідів будуть розповсюджуватись на ширше коло індивідів в кожній наступній популяції. Комбінування хороших характеристик від найбільш пристосованих предків, шляхом спарювання може створити навіть кращих нащадків. В цьому і полягає еволюція видів, що стають все краще пристосованими до їхнього оточення.

Генетичний алгоритм моделює цей процес, беручи початкову популяції індивідів і здійснюючи над нею генетичні оператори на кожному репродуктивному кроці. В термінах оптимізації, кожен індивід в популяції відображається стрічкою хромосом, що представляє потенційний розв’язок задачі оптимізації. Придатність індивіда обчислюється з огляду на цільову функцію задачі. Більш придатні індивіди або розв’язки .мають більше можливостей на репродукцію, шляхом обміну частинами їхніх генів під дією оператора рекомбінації з іншими високо придатними індивідами. Таким чином, створюються нові індивіди – “нащадки”, які акумулюють характеристики обох предків. Після оператора рекомбінації часто застосовується оператор мутації, який, шляхом випадкової заміни окремих хромосом в представленні нащадків, вносить різноманітність в популяцію і відновлює втрачену інформацію. Після цього нащадки заміняють деяких членів існуючої популяції. Цей цикл повторюється доти, доки не буде знайдено задовільного розв’язку згідно певного критерію.