Як створити хромосоми

Першим Вашим кроком буде перетворення незалежних змінних в хромосоми. які будуть містити всю необхідну інформацію про кожну створюваної особини. Є два варіанти кодування параметрів:

в довічним форматі;

в форматі з плаваючою комою.

У разі якщо ми застосовуємо двійкове кодування, ми використовуємо N біт для кожного параметра, причому N може бути різним для кожного параметра. Якщо параметр може змінюватися між мінімальним значенням MIN і максімальнимMAX, візьмемо такі формули для перетворення:

r = g * (MAX - MIN) / (2 ^ N - 1) + MIN.

g = (r - MIN) / (MAX - MIN) * (2 ^ N - 1)

де g - цілочисельні виконавчі гени, r - еквівалент генів у форматі з плаваючою комою.

Хромосоми в форматі з плаваючою комою створюються за допомогою розміщення закодованих параметрів один за іншим.

Якщо порівнювати ці два способи представлення, то кращі результати дає варіант вистави в довічним форматі (особливо при використанні кодів Грея). Правда, в цьому випадку ми змушені миритися з постійним кодуванням / декодуванням параметрів.

Як працює генетичний алгоритм?

Загалом, генетичний алгоритм працює наступним чином. У першому поколінні всі хромосоми генеруються випадково. Визначається їх "корисність". Починаючи з цієї точки, ГА може починати генерувати нову популяцію. Зазвичай розмір популяції постійний.

Репродукція складається з чотирьох кроків:

і трьох генетичних операторів (порядок застосування не важливий)

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

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