
- •Введення
- •Лабораторна робота №1 Основи генетичних алгоритмів. Простій генетичний алгоритм Загальні відомості
- •Генетичні оператори
- •Репродукція
- •Оператор кросинговера (схрещування)
- •Мутація
- •Представлення рішень в двійковій формі
- •Логарифмічне кодування
- •Порядок виконання лабораторної роботи
- •Завдання
- •Контрольні запитання
- •Оператори кросинговеру
- •Оператори мутації
- •Тестові приклади
- •Порядок виконання лабораторної роботи
- •Контрольні питання
- •Лабораторна робота №3 Рішення завдання комівояжера за допомогою генетичних алгоритмів Загальні відомості
- •Представлення сусідства
- •Порядкове представлення
- •Шляхове представлення
- •Завдання
- •Контрольні питання
- •Лабораторна робота №4 Генетичне програмування Загальні відомості
- •Термінальна множина
- •Функціональна множина
- •Структури для представлення програм
- •Деревовидна структура
- •Лінійні структури
- •Графоподібні структури
- •Ініціалізація початкової популяції
- •Ініціалізація деревовидних структур
- •Ініціалізація лінійних структур
- •Кросинговер в генетичному програмуванні
- •Виконання ок на деревовидних структурах
- •Ок на лінійних структурах
- •Виконання ок для графоподібних структурах
- •Мутація в генетичному програмуванні
- •Виконання мутації на деревовидних структурах
- •Виконання мутації на лінійних структурах
- •Виконання мутації на графоподібних структурах
- •Фітнес-функція в генетичному програмуванні
- •Інтрони
- •Загальний алгоритм генетичного програмування
- •Порядок виконання лабораторної роботи
- •Завдання
- •Контрольні запитання
- •Литература
- •Методичнi вказiвки До виконання лабораторних робіт
Оператори мутації
Серед операторів мутації найбільше поширення одержали: випадкова й нерівномірна мутація (random and non-uniform mutation).
При випадкової мутації ген, що підлягає зміні, приймає випадкове значення з інтервалу своєї зміни.
У нерівномірній мутації з особини випадково вибирається ген ck (c дозволеними межами зміни [ckl ckr]). Ген міняється на
, де
a - випадково обраний напрямок зміни,
- функція, що повертає випадкову
величину в межах [0..y] таким чином, що при
збільшенні t середнє значення цієї
функції збільшується:
,
де
r – випадкова величина на інтервалі [0..1]
t - поточна епоха роботи генетичного алгоритму
T - загальне дозволене число епох алгоритму
b - параметр, що задає користувачем,, що визначає ступінь залежності від числа епох.
Тестові приклади
Для даного виду задач існує велика кількість тестових прикладів – Benchmark-ів. З деякими з них можна познайомитися, наприклад, в [10]. Для даних тестів зроблена велика кількість досліджень на швидкість алгоритму, кількість епох для досягнення результату та ін. З результатами цих досліджень можна ознайомитися в науковій літературі, доступній в Internet.
Численні дослідження доводять, що безперервні ГА не менш ефективні, а часто набагато краще справляються з завданнями оптимізації в багатомірних просторах, при цьому більш прості в реалізації через відсутність процедур кодування й декодування хромосом.
Порядок виконання лабораторної роботи
Створити програму, що використовує ГА для знаходження оптимуму функції відповідно до таблиці варіантів, наведеній в додатку А. Для всіх Benchmark-ов оптимумом є мінімум. Програму виконати убудованою мовою пакета Matlab.
Для n=2 вивести на екран графік даної функції із вказанням знайденого экстремума, особин популяції. Для виводу графіків використати стандартні можливості пакета Matlab. Передбачити можливість покрокового перегляду процесу пошуку рішення.
Повторити знаходження рішення з використанням стандартного Genetic Algorithm toolbox. Зрівняти отримані результати.
Дослідити залежність часу пошуку, числа поколінь (генерацій), точності знаходження рішення від основних параметрів генетичного алгоритму:
число особин у популяції
імовірність кросинговера, мутації.
Критерій зупинки обчислень - неполіпшення кращого результату задану кількість епох або досягнення популяцією певного віку (наприклад, 100 епох).
Повторити процес пошуку рішення для n=3, порівняти результати, швидкість роботи програми.
Зміст звіту.
Титульний аркуш установленої форми.
Умова завдання з варіантом.
Роздрукований лістинг програми.
Роздрук результатів виконання програми (графіків);
Діаграми досліджених залежностей.
Контрольні питання
Що таке «оптимальність»?
Опишіть поняття «оптимізаційне завдання».
Що таке «критерій оптимізації»?
Що є метою оптимизаційного завдання?
Що таке цільова функція в генетичних алгоритмах?
Яким образом будується цільова функція?
Дайте поняття экстремуму й оптимуму цільової функції.
Що таке «локальний і глобальний оптимум»?
Яким образом у генетичних алгоритмах здійснюється вибір способу представлення рішення?
Яким образом визначається ефективність генетичного алгоритму?
Приведіть основні цілі й завдання генетичних алгоритмів.
Виділить основні відмінні риси генетичних алгоритмів?
Пояснить, як створюється початкова популяція альтернативних рішень?
Приведіть основні поняття й визначення генетичних алгоритмів.
Опишіть методику ГА.