- •План реферату
- •Генетичні алгоритми
- •Класичний генетичний алгоритм
- •Історія
- •Опис алгоритму
- •Робота генетичного алгоритму
- •Етапи роботи генетичного алгоритму Створення початкової популяції
- •Розмноження (Схрещування)
- •Мутації
- •Критика
- •Застосування генетичних алгоритмів
- •Приклади задач і їх рішення за допомогою генетичного алгоритму
- •Приклад 1.2
- •Приклад 1.3
- •Список використаної літератури
Етапи роботи генетичного алгоритму Створення початкової популяції
Перед першим кроком потрібно випадковим чином створити початкову популяцію; навіть якщо вона виявиться абсолютно неконкурентоспроможною, ймовірно, що генетичний алгоритм все одно достатньо швидко переведе її в життєздатну популяцію. Таким чином, на першому кроці можна особливо не намагатися зробити надто вже пристосованих особин, достатньо, щоб вони відповідали формату особин популяції, і на них можна було підрахувати функцію пристосованості (Fitness). Підсумком першого кроку є популяція H, що складається з N особин.
Розмноження (Схрещування)
Розмноження в генетичних алгоритмах зазвичай статеве - щоб справити нащадка, потрібні кілька батьків, зазвичай два.
Розмноження в різних алгоритмах визначається по-різному - воно, звичайно, залежить від представлення даних. Головна вимога до розмноження - щоб нащадок або нащадки мали можливість успадкувати риси обох батьків, «змішавши» їх будь-яким способом.
Чому особини для розмноження зазвичай вибираються із всієї популяції H, а не з тих, що вижили на першому кроці елементів H0 (хоча останній варіант теж має право на існування)? Справа в тому, що головна проблема багатьох генетичних алгоритмів - недолік різноманітності (diversity) в особинах. Досить швидко виділяється один-єдиний генотип, який представляє собою локальний максимум, а потім всі елементи популяції програють йому відбір, і вся популяція «забивається» копіями цієї особини. Є різні способи боротьби з таким небажаним ефектом; один з них - вибір для розмноження не самих пристосованих, а взагалі всіх особин.
Мутації
Мутація - це перетворення хромосоми, що випадково змінює одну чи декілька її позицій (генів). Найбільш розповсюджений вид мутацій - випадкова зміна тільки одного з генів хромосоми.
До мутацій відноситься все те ж саме, що і до розмноження: є деяка частка мутантів m, що є параметром генетичного алгоритму, і на кроці мутацій потрібно вибрати mN особин, а потім змінити їх відповідно до заздалегідь визначених операцій мутації.
Відбір
На етапі відбору потрібно з усієї популяції вибрати певну її частку, яка залишиться «в живих» на цьому етапі еволюції. Є різні способи проводити відбір. Імовірність виживання особини h повинна залежати від значення функції пристосованості Fitness (h). Сама частка тих, що вижили s зазвичай є параметром генетичного алгоритму, і її просто задають заздалегідь. За підсумками відбору з N особин популяції H повинні залишитися sN особин, які увійдуть в підсумкову популяцію H '. Решта особини гинуть.
Дуже важливим поняттям у генетичних алгоритмах вважається функція пристосованості (fitness function), яка інакше називається функцією оцінки. Вона являє міру пристосованості даної особини в популяції. Ця функція відіграє найважливішу роль, оскільки дозволяє оцінити ступінь пристосованості конкретних особин у популяції і вибрати з них найбільш пристосовані (тобто мають найбільші значення функції пристосованості) відповідно з еволюційним принципом виживання «найсильніших» (які найкраще пристосувалися).
Функція пристосованості також отримала свою назву безпосередньо із генетики. Вона надає сильний вплив на функціонування генетичних алгоритмів і повинна мати точне і коректне визначення. У задачах оптимізації функція пристосованості, як правило, оптимізується (точніше кажучи, максимізується) і називається цільовою функцією.
У задачах мінімізації цільова функція перетворюється, і проблема зводиться до максимізації. У теорії управління функція пристосованості може приймати вигляд функції похибки, а в теорії ігор — вартісної функції.
На кожній ітерації генетичного алгоритму пристосованість кожної особини даної популяції оцінюється за допомогою функції пристосованості, і на цій основі створюється наступна популяція особин, що складають безліч потенційних рішень проблеми, наприклад, задачі оптимізації. Чергова популяція в генетичному алгоритмі називається поколінням, а до новостворюваної популяції особин застосовується термін «нове покоління» або «покоління нащадків».
