- •План реферату
- •Генетичні алгоритми
- •Класичний генетичний алгоритм
- •Історія
- •Опис алгоритму
- •Робота генетичного алгоритму
- •Етапи роботи генетичного алгоритму Створення початкової популяції
- •Розмноження (Схрещування)
- •Мутації
- •Критика
- •Застосування генетичних алгоритмів
- •Приклади задач і їх рішення за допомогою генетичного алгоритму
- •Приклад 1.2
- •Приклад 1.3
- •Список використаної літератури
Класичний генетичний алгоритм
Основний (класичний) генетичний алгоритм (який також називається елементарним чи простим генетичним алгоритмом) складається з наступних кроків:
ініціалізація, або вибір вихідної популяції хромосом;
оцінка пристосованості хромосом в популяції;
перевірка умови зупинки алгоритму;
селекція хромосом;
застосування генетичних операторів;
формування нової популяції;
вибір «найкращої» хромосоми.
Блок — схема основного генетичного алгоритму зображена на рис. 1.3. Розглянемо конкретні етапи цього алгоритму більш докладно з використанням додаткових подробиць, представлених на рис. 1.4.
Ініціалізація, тобто формування вихідної популяції, полягає у випадковому виборі заданої кількості хромосом (особин), що представляються двійковими послідовностями фіксованої довжини.
Оцінювання пристосованості хромосом в популяції полягає в розрахунку функції пристосованості для кожної хромосоми цієї популяції. Чим більше значення цієї функції, тим вище «якість» хромосоми. Форма функції пристосованості залежить від характеру розв'язуваної задачі. Передбачається, що функція пристосованості завжди приймає невід'ємні значення і, крім того, що для вирішення оптимізаційної задачі потрібно максимізувати цю функцію. Якщо вихідна форма функції пристосованості не задовольняє цим умовам, то виконується відповідне перетворення (наприклад, завдання мінімізації функції можна легко звести до задачі максимізації).
Перевірка умови зупинки алгоритму. Визначення умови зупинки генетичного алгоритму залежить від його конкретного застосування. У оптимізаційних задачах, якщо відомо максимальне (або мінімальне) значення функції пристосованості, то зупинка алгоритму може відбутися після досягнення очікуваного оптимального значення, можливо — з заданою точністю.
Зупинка алгоритму також може статися у разі, коли його виконання не приводить до поліпшення вже досягнутого значення. Алгоритм може бути зупинений після закінчення певного часу виконання або після виконання заданої кількості ітерацій. Якщо умова зупинки виконана, то проводиться перехід до завершального етапу вибору «найкращої» хромосоми. В іншому випадку на наступному кроці виконується селекція.
Блок-схеми генетичного алгоритму: а) 1.3 б) 1.4.
Селекція хромосом полягає у виборі (по розрахованим на другому етапі значеннями функції пристосованості) тих хромосом, які братимуть участь у створенні нащадків для наступної популяції, тобто для чергового покоління. Такий вибір здійснюється згідно з принципом природного добору, за яким найбільші шанси на участь у створенні нових особин мають хромосоми з найбільшими значеннями функції пристосованості.
Історія
Перші роботи з симуляції еволюції були проведені в 1954 році Нільсом Баричелла на комп'ютері встановленому в Інституті Провідних Досліджень Прінстонського університету. Його робота, опублікована в тому ж році, привернула широку увагу громадськості. З 1957 року, австралійський генетик Алекс Фразер опублікував серію робіт з симуляції штучного відбору серед організмів з множинним контролем вимірних характеристик. Покладений початок дозволило комп'ютерній симуляції еволюційних процесів і методам, описаним у книгах Фразера і Барнел (1970) та Кросбі (1973), з 1960-х років стати більш поширеним видом діяльності біологів. Симуляції Фразера включали всі найважливіші елементи сучасних генетичних алгоритмів. Додатково до цього, Ганс-Йоахім Бремерманн в 1960-х опублікував серію робіт, які також брали метод використання популяції рішень, що піддається рекомбінації, мутації і відбору, в проблемах оптимізації. Дослідження Бремерманна також включали елементи сучасних генетичних алгоритмів. Також слід зазначити Річарда Фридберга, Джорджа Фрідмана і Майкла Конрада. Безліч ранніх робіт були перевидані Давидом Б. Фогелем (1998).
Хоча Баричелла у своїй роботі 1963 симулював здатності машини грати в просту гру, штучна еволюція стала загальновизнаним методом оптимізації після роботи Інго Рехенберге і Ханса-Пауля Швефеля в 1960-х і початку 1970-х років двадцятого століття - група Рехенсберга змогла вирішити складні інженерні проблеми згідно стратегіям еволюції. Іншим підходом була техніка еволюційного програмування Лоренса Дж. Фогеля, яка була запропонована для створення штучного інтелекту. Еволюційний програмування спочатку використовувалися кінцеві автомати для прогнозування обставин, і застосовувало різноманітність і відбір для оптимізації логіки передбачення. Генетичні алгоритми стали особливо популярні завдяки роботі Джона Холланда на початку 70-х років і його книзі «Адаптація в природних і штучних системах» (1975). Його дослідження грунтувалося на експериментах з клітинними автоматами, які проводилися Холландом і на його працях, написаних в університеті Мічигану. Холланд ввів формалізований підхід для прогнозування якості наступного покоління, відомий як Теорема схем. Дослідження в області генетичних алгоритмів залишалися в основному теоретичними до середини 80-х років, коли була нарешті проведена Перша міжнародна конференція по генетичним алгоритмам в Піттсбурзі, Пенсільванія (США). З ростом дослідницького інтересу суттєво виросла і обчислювальна потужність настільних комп'ютерів, це дозволило використовувати нову обчислювальну техніку на практиці. В кінці 80-х, компанія General Electric почала продаж першого у світі продукту, який працював з використанням генетичного алгоритму. Ним став набір промислових обчислювальних засобів. У 1989, інша компанія Axcelis Inc. випустила Evolver - перший в світі комерційний продукт на генетичному алгоритмі для настільних комп'ютерів.
