План реалізації
Створення генетичного алгоритму являє собою достатньо складну задачу. Спочатку перерахуємо план у вигляді кроків, після чого докладніше розберемо кожний з них.
Перший етап свідчить про те, що алфавіт, в який будуть кодуватися всі елементи множини рішень або популяції, повинен бути досить гнучким, щоб одночасно дозволяв виробляти потрібні операції випадкових перестановок і оцінювати пристосованість елементів, як первинних, так і пройшли через зміни. Математично встановлено, що створити ідеальний алфавіт для цих цілей неможливо, тому його складання – це один з найбільш складних і відповідальних етапів, щоб забезпечити стабільну роботу ГА.
Не менш складним є визначення операторів зміни і створення нащадків. Існує безліч операторів, які здатні виконувати необхідні дії. Наприклад, з біології відомо, що кожен вид може розмножуватися двома способами: статевим (схрещування) і безстатевим (мутаціями). В першому випадку батьки обмінюються генетичним матеріалом, у другому – відбуваються мутації, визначені внутрішніми механізмами організму і зовнішнім впливом. Крім цього, можна застосовувати неіснуючі в живій природі моделі розмноження. Наприклад, використовувати гени трьох і більше батьків. Аналогічно схрещування в генетичному алгоритмі мутації може бути закладений різноманітний механізм.
Вибір способу виживання може бути дуже оманливим. Існує безліч способів в генетичному алгоритмі для селекції. І, як показує практика, правило “виживання найбільш пристосованого” далеко не завжди виявляється кращим. При рішенні складних технічних проблем часто виявляється, що найкраще рішення випливає з безлічі середніх або навіть гірших. Тому найчастіше прийнято використовувати імовірнісний підхід, який свідчить, що найкраще рішення має більше шансів на виживання.
Останній етап забезпечує гнучкість роботи алгоритму, якої немає ні в якого іншого. Первинну популяцію рішень можна задати як виходячи з яких-небудь відомих даних, так і абсолютно випадковим чином простою перестановкою генів усередині особин і створенням випадкових особин. Однак завжди варто пам’ятати, що від початкової популяції багато в чому залежить ефективність алгоритму.