Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГА Методичка_полная_укр.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.87 Mб
Скачать

Мутація в генетичному програмуванні

Після виконання ОК із заданою вірогідністю виконується мутація для вибраної однієї хромосоми - програми.

Виконання мутації на деревовидних структурах

Для дерев використовуються наступні оператори мутації (ОМ):

а) вузлова;

б) мутація, що усікає;

в) зростаюча.

Вузлова мутація виконується таким чином:

  • вибрати випадковим чином вузол, що підлягає мутації, визначити його тип;

  • випадково вибрати вузол з відповідної множини варіантів вузлів відмінний від того, що розглядається;

  • поміняти вузол на вибраний.

Мутація, що усікає проводиться так:

  • визначається або вибирається вузол;

  • випадковим чином вибирається термінальний символ із заданої множини;

  • обрізується частина дерева починаючи від вибраного вузла мутації;

  • замість обрізаної частини поміщається вибраний термінальний символ.

Зростаюча мутація виконується таким чином:

  • визначається вузол мутації;

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

  • обчислити розмір (складність) дерева;

  • замість відсіченого дерева виростити випадковим чином нове дерево так, щоб розмір нового побудованого дерева не перевищував заданий поріг.

Це дуже потужний оператор, який володіє великими можливостями.

Виконання мутації на лінійних структурах

Тут мутація виконується у абсолютно інший спосіб. Перш за все, з лінійного сегменту (тіла програми) випадково вибирається оператор (команда) і у нього проводяться зміни одного з наступних видів:

1) Змінна замінюється на іншу, випадково вибрану із заданої множини;

2) Оператор може бути також змінений випадковим чином на деякий інший з функціональної множини;

3) Може бути випадково змінено значення константи на деяке інше значення із заданого діапазону.

Виконання мутації на графоподібних структурах

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

Фітнес-функція в генетичному програмуванні

На відміну від генетичних алгоритмів, де досить часто при пошуку екстремумів як фітнес-функція використовується вихідна цільова функція, в ГП фітнес-функція зазвичай визначає міру близькості між реальними і необхідними вихідними значеннями. Тому як фітнес-функція часто використовується абсолютна або квадратична помилка.

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

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