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

Оператори кросинговеру

Оператор схрещування безперервного ГА, або кросовер, породжує одного або декількох нащадків від двох хромосом. Власне кажучи, потрібно із двох векторів речовинних чисел одержати нові вектори за якими-небудь законами. Більшість real-coded алгоритмів генерують нові вектори в околиці батьківських пар. Далі представлені прості й популярні кросовери.

Нехай C1=(c11,c21,...,cn1) і C2=(c12,c22,...,cn2) - дві хромосоми, обрані оператором селекції для схрещування. Після формули для деяких кросоверов приводиться малюнок - геометрична інтерпретація його роботи. Передбачається, що ck1<=ck2 якщо f(C1)>=f(C2).

Плоский кросовер (flat crossover): створюється нащадок H=(h1,…,hk,…,hn), де hk, (k=1,…,n)– випадкове число з інтервалу [ck1,ck2].

Найпростіший кросовер (simple crossover): випадковим образом вибирається число k з інтервалу {1,2,…,n-1}, генеруються два нащадки H1=(c11,c21,…,ck1,ck+12,…,cn2) і H2=(c12,c22,…,ck2,ck+11,…,cn2)...

Арифметичний кросовер (arithmetical crossover): створюються два нащадки H1=(h11,…,hn1), H2=(h12,…,hn2), де hk1=w*ck1+(1-w)*ck2, hk2=w*ck2+(1-w)*ck1, k=1,…,n; w або константа (рівномірний арифметичний кросовер) з інтервалу [0;1], або змінюється зі збільшенням епох (нерівномірний арифметичний кросовер).

Рис. 2.1. Арифметичний кросовер.

Геометричний кросовер (geometrical crossover): створюються два нащадки H1=(h11,…,hn1), H2=(h12,…,hn2), де hk1=(сk1)w*(ck2)(1-w), (ck2)w*(ck1)(1-w), де w – випадкове число з інтервалу [0;1].

Рис. 2.2. Геометричний кросовер.

Змішаний кросовер (blend, BLX-alpha crossover): генерується один нащадок H=(h1,…,hk,…,hn), де hk – випадкове число з інтервалу [cmin–I*alpha,cmax+I*alpha], cmin=min(ck1,ck2), cmax=max(ck1,ck2), I=cmax–cmin. BLX-0.0 кросовер перетворюється в плоский.

Рис. 2.3. Змішаний кросовер.

Лінійний кросовер (linear crossover): створюються три нащадки Hq=(h1q,…,hkq,…,hnq), q=1,2,3, де hk1=0.5*ck1+0.5*ck2, hk2=1.5*ck1-0.5*ck2, hk3=–0.5*сk1+1.5*ck2. На етапі селекції в цьому кросовере відбираються два найбільш сильні нащадки.

Рис. 2.4. Лінійний кросовер.

Дискретний кросовер (discrete crossover): кожний ген hk вибирається випадково за рівномірним законом з кінцевої множини {ck1,ck2}.

Рис. 2.5. Дискретний кросовер.

Розширений лінійний кросовер (extended line crossover): ген hk=ck1+w*(ck2–ck1), w – випадкове число з інтервалу [-0.25;1.25].

Рис. 2.6. Розширений лінійний кросовер.

Евристичний кросовер (Wright’s heuristic crossover). Нехай C1 - один із двох батьків із кращою пристосованістю. Тоді hk=w*(ck1-ck2)+ck1, w - випадкове число з інтервалу [0;1].

Рис. 2.7. Евристичний кросовер.

Нечіткий кросовер (fuzzy recombination, FR-d crossover): створюються два нащадки H1=(h11,…,hn1), H2=(h11,…,hn2)... Імовірність того, що в i-тім гені з'явиться число vi , задається розподілом p(vi) {F(ck1),F(ck2)}, де F(ck1),F(ck2) – розподілу ймовірностей трикутної форми (трикутні нечіткі функції приналежності) з наступними властивостями (ck1<=ck2 і I=|ck1–ck2|) таб.2.1.

Параметр d визначає ступінь перекриття трикутних функцій приналежності, за замовчуванням d=0.5.

Таблиця 2.1.

Розподіл імовірностей

Мінімум

Центр

Максимум

F(ck1)

ck1–d*I

ck1

ck1+d*I

F(ck2)

ck2–d*I

ck2

ck2+d*I

Рис. 2.8. Нечіткий кросовер.

Мін-максний кросинговер

Для представлення хромосоми числами із плаваючою крапкою використається практично тільки мін-максный кросовер або його модифікації:

Для батьків і виходять 4 нащадка

,

,

,

.

Вибираються два кращих із цих чотирьох нащадків.

Розглянуті кросовери історично були запропоновані першими, однак у багатьох завданнях їхня ефективність виявляється невисокою. Виключення становить BLX-кросовер з параметром alpha=0.5 - він перевершує по ефективності більшість простих кросоверів. Пізніше були розроблені поліпшені оператори схрещування, аналітична формула яких і ефективність обґрунтовані теоретично. Один з таких кросоверов - SBX.

SBX кросовер

SBX (англ.: Simulated Binary Crossover) - кросовер, що імітує двійковий. Був розроблений в 1995 році дослідницькою групою під керівництвом K. Deb'а. Як треба з його назви, він моделює принципи роботи двійкового оператора схрещування.

SBX кросовер був отриманий у такий спосіб. У двійкового кросовера була виявлена важлива властивість – середнє значення функції пристосованості залишалося незмінним у батьків і їхніх нащадків, отриманих шляхом схрещування. Потім автором було уведене поняття сили пошуку кросовера (search power). Це кількісна величина, що характеризує розподіл імовірностей появи будь-якого нащадка від двох довільних батьків. Спочатку була розрахована сила пошуку для однокрапкового двійкового кросовера, а потім був розроблений речовинний SBX кросовер з такою же силою пошуку. У ньому сила пошуку характеризується розподілом імовірностей випадкової величини :

Для генерації нащадків використовується наступний алгоритм, що використовує вираження для P( ) . Створюються два нащадки Hk=(h1k, …, hjk, …, hnk), k=1,2, де , , – число, отримане по формулі:

У формулі u(0,1) – випадкове число, розподілене за рівномірним законом, n [2,5] – параметр кросовера.

На малюнку наведена геометрична інтерпретація роботи SBX кросовера при схрещуванні двох хромосом, що відповідають речовинним числам 2 і 5. Видно, як параметр n впливає на кінцевий результат: збільшення n спричиняє збільшення ймовірності появи нащадка в околиці батька й навпаки.

Рис. 2.9. SBX кросовер.

Експерименти автора SBX кросовера показали, що він у багатьох випадках ефективніше BLX, хоча, напевно, не існує жодного кросовера, ефективного у всіх випадках. Дослідження показують, що використання декількох різних операторів кросовера дозволяє зменшити ймовірність передчасної збіжності, тобто поліпшити ефективність алгоритму оптимізації в цілому. Для цього можуть використатися спеціальні стратегії, що змінюють імовірність застосування окремого еволюційного оператора залежно від його «успішності», або використання гібрідних кросоверов, яких у цей час налічується кілька десятків.