Алгоритми
📅 22 червня 2026 ⏱ ~8 хв читання · Останнє оновлення: 5 липня 2026 р.

Генетичні алгоритми — Еволюційна оптимізація в інформатиці

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

Коротко: Генетичний алгоритм — це метод оптимізації, який еволюціонує популяцію кандидатних розв'язків у бік кращих, наслідуючи природний відбір: розв'язки з вищою пристосованістю мають більше шансів «розмножитись», кросовер поєднує їхні риси, а випадкова мутація вносить нову варіативність. За багато поколінь такий пошук збігається до сильних, майже оптимальних рішень складних задач.

1. Еволюційна метафора

Теорія еволюції Чарльза Дарвіна шляхом природного відбору описує, як популяції організмів змінюються з покоління в покоління: особини, краще пристосовані до середовища, виживають і успішніше розмножуються, передаючи свої ознаки нащадкам. Генетичні алгоритми (ГА), започатковані Джоном Холландом у 1970-х роках, перетворюють цей біологічний процес на обчислювальний фреймворк для розв'язання задач оптимізації та пошуку.

ГА підтримує популяцію кандидатних розв'язків, кожен з яких називають хромосомою або особиною. Хромосома кодує потенційний розв'язок — можливо, рядок бітів, послідовність дійсних чисел або перестановку елементів. Кожна хромосома відповідає одній точці простору пошуку, і алгоритм досліджує цей простір, симулюючи еволюцію протягом багатьох поколінь.

Функція пристосованості — серце ГА. Вона вимірює, наскільки хороший кожен кандидатний розв'язок — цільову величину, яку ми хочемо максимізувати (або мінімізувати). У задачі планування маршруту пристосованістю може бути обернена величина загальної відстані. У пошуку нейронної архітектури — точність на валідаційній вибірці. Функція пристосованості діє як середовище: вона створює тиск відбору, віддаючи перевагу хромосомам, які добре розв'язують задачу.

Уявлення простору пошуку як ландшафту пристосованості дуже наочне. Уявіть багатовимірну поверхню, де кожна точка відповідає кандидатному розв'язку, а її висота — пристосованості. Піки відповідають хорошим розв'язкам; долини — поганим. Завдання ГА — знайти найвищий пік, глобальний оптимум, не відвідуючи вичерпно кожну точку.

Центральна напруга в будь-якому ГА — це дослідження проти використання. Дослідження означає пошук нових, ще не відвіданих ділянок ландшафту — необхідний для знаходження глобального оптимуму та уникнення передчасної прив'язки до однієї ділянки. Використання означає уточнення й покращення розв'язків у вже відомих перспективних ділянках. Надто багато дослідження марнує час у ділянках з низькою пристосованістю; надто багато використання ризикує застрягти на локальному піку.

Передчасна збіжність — одна з головних проблем у проєктуванні ГА. Вона виникає, коли вся популяція заселяє одну ділянку простору пошуку — зазвичай локальний оптимум — до того, як знайдено глобальний оптимум. Різноманітність популяції є протиотрутою: різноманітна популяція має багато особин, розкиданих по ландшафту, даючи алгоритму кілька «плацдармів» для дослідження.

Ключова перевага ГА: На відміну від градієнтних методів, ГА не роблять припущень про диференційованість чи опуклість цільової функції. Вони працюють із задачами «чорної скриньки», де градієнти недоступні — комбінаторні задачі, дискретні простори, зашумлені оцінки та задачі з багатьма локальними оптимумами потрапляють у їхню сферу застосування.

2. Селекція, кросовер і мутація

Три генетичні оператори рухають еволюцію в ГА. Разом селекція, кросовер і мутація визначають, як популяція змінюється від одного покоління до наступного.

Селекція

Селекція визначає, які особини отримають шанс розмножитися й передати свої гени наступному поколінню. Вона створює тиск відбору: пристосованіші особини мають більше шансів бути обраними як батьки, але не виключно — певна різноманітність зберігається, даючи шанс і менш пристосованим особинам.

Турнірна селекція — найпоширеніший метод. Невелика група з k особин випадково вибирається з популяції, і перемагає найпристосованіша особина в цій групі. Значення k = 2 (бінарний турнір) дає помірний тиск відбору; більші турніри підвищують тиск і прискорюють збіжність, але ризикують передчасною збіжністю.

Рулеткова селекція (селекція, пропорційна до пристосованості) призначає кожній особині ймовірність вибору, пропорційну до її пристосованості. Уявіть колесо рулетки, де кожен сектор має розмір відповідно до пристосованості: пристосованіші особини займають більші сектори й мають більше шансів бути обраними. Цей метод може страждати, коли значення пристосованості сильно розрізняються — одна дуже пристосована особина може домінувати й швидко знизити різноманітність.

Кросовер

Кросовер (рекомбінація) — основний спосіб отримання нащадків. Дві батьківські хромосоми обмінюються сегментами генетичного матеріалу, щоб отримати двох нащадків, поєднуючи ознаки кожного з батьків у сподіванні, що нащадок успадкує найкращі риси обох.

Одноточковий кросовер обирає одну точку розрізу вздовж хромосоми й обмінює хвости:

Батько 1: 1 0 1 1 | 0 0 1 0 Батько 2: 0 1 0 0 | 1 1 0 1 ^ точка кросоверу Нащадок 1: 1 0 1 1 | 1 1 0 1 Нащадок 2: 0 1 0 0 | 0 0 1 0

Рівномірний кросовер радикальніший: кожен ген у нащадка успадковується незалежно від одного з батьків з імовірністю 0,5. Це дає нащадків, які можуть суттєво відрізнятися від обох батьків, і особливо ефективний, коли корисні гени розкидані по хромосомі, а не зібрані в купку.

Кросовер зазвичай застосовується з імовірністю 0,6–0,9 на пару батьків. Якщо кросовер не відбувається, нащадки просто є копіями своїх батьків.

Мутація

Мутація вносить випадкові зміни в окремі хромосоми. У бінарних поданнях кожен біт незалежно інвертується з малою ймовірністю (зазвичай 0,001–0,05 на біт). У дійснозначних поданнях до значень генів додаються невеликі випадкові збурення — часто з гаусового розподілу.

Мутація виконує дві критично важливі функції: вона повертає генетичну різноманітність, яку могли розмити кросовер і селекція, і дає змогу алгоритму досліджувати ділянки простору пошуку, які наразі не займає жодна наявна особина. Без мутації алгоритм обмежений комбінуванням наявного генетичного матеріалу і ніколи не зможе вирватися з локального оптимуму, коли популяція вже до нього збіглася.

Елітизм

Елітизм — практичне вдосконалення: одна або декілька найкращих особин кожного покоління копіюються без змін у наступне покоління. Це гарантує, що найкращий знайдений на цей момент розв'язок ніколи не втрачається через випадковість кросоверу чи мутації. Елітизм зазвичай покращує швидкість збіжності та якість розв'язку за незначної обчислювальної ціни.

Типові гіперпараметри: розмір популяції 50–500; частота кросоверу 0,6–0,9; частота мутації 0,001–0,05 на ген; елітизм зберігає найкращі 1–5% особин.

3. Ландшафти пристосованості та збіжність

Концепція ландшафту пристосованості — запроваджена Сьюеллом Райтом у популяційній генетиці — дає інтуїтивне уявлення про те, що робить ГА. Кожна точка ландшафту відповідає одному кандидатному розв'язку, а її висота (пристосованість) показує, наскільки цей розв'язок хороший. Ефективне орієнтування в цьому ландшафті — головний виклик.

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

Складність мультимодального виклику залежить від оманливості ландшафту. Оманлива задача — це така, де локально перспективні розв'язки вказують у бік від глобального оптимуму — будівельні блоки хороших часткових розв'язків поєднуються оманливими способами. ГА все ще можуть стикатися з труднощами на дуже оманливих ландшафтах, тому механізми підтримки різноманітності є необхідними.

Підтримка різноманітності

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

Генетичний дрейф: У малих популяціях частоти алелей змінюються радше випадково, ніж під дією відбору — явище, зване генетичним дрейфом. Гени з високою пристосованістю можуть бути втрачені суто через випадковість вибірки, погіршуючи якість розв'язку. Для більшості задач рекомендується мінімальний розмір популяції 50–100; для просторів пошуку високої розмірності потрібні більші популяції.

На швидкість збіжності також впливає тиск відбору. Високий тиск відбору прискорює збіжність, але зменшує різноманітність; низький тиск зберігає різноманітність, але сповільнює прогрес. Адаптивні схеми, що поступово підвищують тиск відбору протягом запуску — за аналогією до графіка охолодження в методі імітованого відпалу — можуть збалансувати дослідження й використання протягом усього ходу еволюції.

4. Застосування та гібридні методи

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

Реальна інженерія

Проєктування антен: космічний апарат NASA ST-5, запущений у 2006 році, використовував антену, еволюціоновану ГА, яка перевершила за характеристиками будь-яку антену, спроєктовану людьми-інженерами. Еволюціонована антена мала нерегулярну, нелогічну на перший погляд форму, до якої жоден конструктор-людина не додумався б, проте вона відповідала всім вимогам місії з чудовими характеристиками. Це залишається одним із найвідоміших прикладів еволюційного проєктування в інженерії.

Оптимізація розкладів: цехове планування (розподіл робіт по верстатах в оптимальному порядку), складання розкладу занять в університеті, маршрутизація транспорту з часовими вікнами — це NP-складні комбінаторні задачі, де кількість можливих розв'язків астрономічно велика. ГА регулярно знаходять майже оптимальні розв'язки за прийнятний час, перевершуючи точні методи на великих задачах.

Машинне навчання

Пошук нейронних архітектур (NAS): AutoML від Google та подібні системи використовували еволюційні алгоритми для відкриття нових архітектур згорткових нейронних мереж. Еволюціоновані архітектури — такі як родина NASNet — перевершили спроєктовані вручну мережі на класифікації ImageNet, використовуючи менше параметрів. Еволюція дослідила архітектурні рішення (типи шарів, схеми з'єднань, гіперпараметри), які конструктори-люди не розглядали.

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

Гібридні та меметичні алгоритми

Найпотужніші сучасні застосування часто поєднують ГА з локальним пошуком у меметичних алгоритмах. Ідея, натхненна ламарківською еволюцією, полягає в тому, щоб застосувати короткий сплеск градієнтного спуску або локального сходження на гору до кожної особини перед оцінкою її пристосованості. Це дозволяє ГА досліджувати ландшафт глобально, поки локальний пошук точно уточнює кожен кандидатний розв'язок. Меметичні алгоритми часто перевершують і чисті ГА, і чистий локальний пошук на складних тестах оптимізації.

Оптимізація гіперпараметрів: коли пошук по сітці занадто дорогий для складних моделей машинного навчання — SVM з кількома ядрами, глибокі нейронні мережі, градієнтний бустинг дерев — ГА забезпечують принциповий глобальний пошук у просторі гіперпараметрів, часто знаходячи конфігурації, які людське налаштування та випадковий пошук пропускають.

Спробуйте симуляції алгоритмів

Досліджуйте інтерактивні симуляції сортування, пошуку шляху, нейронних мереж та еволюційної оптимізації.

Спробувати симуляції алгоритмів →

Схожі статті

Часті запитання

Які ще є методи еволюційних обчислень, крім генетичних алгоритмів?

Еволюційні обчислення охоплюють кілька парадигм: генетичні алгоритми (ГА) оптимізують кодування рядків фіксованої довжини, генетичне програмування (ГП) еволюціонує програми у вигляді дерев, стратегії еволюції (ЕС) еволюціонують дійснозначні вектори параметрів з адаптивним розміром кроку мутації (використовувалися в ES компанії OpenAI для навчання з підкріпленням), диференціальна еволюція (DE) поєднує різниці векторів для мутації, а методи роїнтелекту (оптимізація роєм часток, мурашиний алгоритм) черпають натхнення з колективної біологічної поведінки.

Що таке компроміс між дослідженням і використанням у ГА?

Генетичні алгоритми мають балансувати між дослідженням (пошуком нових ділянок простору рішень) і використанням (уточненням уже відомих хороших рішень). Високі темпи мутації та низький тиск селекції сприяють дослідженню, але сповільнюють збіжність. Низька мутація та високий тиск селекції використовують наявні рішення, але ризикують передчасною збіжністю до локальних оптимумів. Адаптивні ГА динамічно коригують ці параметри під час пошуку залежно від різноманітності популяції чи темпу покращення пристосованості.

У чому різниця між дійснозначним і бінарним кодуванням у ГА?

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

Що таке нішування та мультимодальна оптимізація?

Стандартні ГА збігаються до одного розв'язку. Методи нішування підтримують різноманітність популяції, щоб знайти кілька оптимумів одночасно. Розподіл пристосованості зменшує ефективну пристосованість перенаселених ділянок. Скупчення заміщує подібні особини нащадками. Метод «очищення» (clearing) обмежує розмноження переможцями в кожній ніші. Острівні моделі запускають паралельні популяції з періодичною міграцією. Ці техніки знаходять кілька піків у мультимодальних ландшафтах пристосованості, що важливо для надійного інженерного проєктування, де бажано мати кілька життєздатних розв'язків.

Як кодування перестановками використовується в комбінаторній оптимізації?

Для комбінаторних задач, як-от задача комівояжера (TSP), розв'язки — це перестановки міст (не бітові рядки). Стандартний кросовер руйнує структуру перестановки. Потрібні спеціальні оператори: упорядкований кросовер (OX) зберігає відносний порядок, частково відображений кросовер (PMX) відображає позиційні відношення, а циклічний кросовер (CX) зберігає абсолютні позиції. Для мутації обмінна мутація (обмін двох елементів) та інверсійна мутація (реверс сегмента) зберігають коректні перестановки.

Що таке коеволюція в генетичних алгоритмах?

Коеволюція еволюціонує кілька популяцій одночасно, коли пристосованість однієї популяції залежить від іншої. Конкурентна коеволюція протиставляє популяції одна одній (хижак-жертва, паразит-хазяїн) — покращення в одній стимулюють покращення в іншій, потенційно уможливлюючи відкриту еволюцію. Кооперативна коеволюція еволюціонує різні компоненти розв'язку в окремих популяціях, які поєднуються для оцінки. Коеволюція використовується для ігрового ШІ (еволюціонування гравців один проти одного) та спільного проєктування морфології й контролера робота.

Що таке гіпотеза будівельних блоків?

Гіпотеза будівельних блоків стверджує, що ГА працюють, виявляючи, копіюючи й рекомбінуючи короткі часткові розв'язки з високою пристосованістю, звані будівельними блоками (низькопорядкові схеми з пристосованістю вищою за середню). Кросовер поєднує будівельні блоки від двох батьків у нащадка, який потенційно успадковує хороші частини обох. Критики зазначають, що кросовер також може руйнувати хороші часткові розв'язки, і існують оманливі задачі, де будівельні блоки з високою пристосованістю поєднуються, утворюючи розв'язки з низькою пристосованістю. Гіпотеза мотивує алгоритми оцінювання розподілу (EDA), які явно навчають і вибирають з імовірнісних моделей хороших часткових розв'язків.

Що таке алгоритми оцінювання розподілу?

Алгоритми оцінювання розподілу (EDA) замінюють традиційні кросовер і мутацію побудовою імовірнісної моделі. Замість поєднання двох батьків, EDA: відбирають найкращі особини, підганяють імовірнісну модель під їхню структуру, а потім вибирають нові особини з цієї моделі. UMDA моделює змінні незалежно; MIMIC моделює попарні залежності; BOA моделює байєсові мережі взаємодій. EDA явно фіксують структуру задачі й уникають руйнування хороших розв'язків — ефективні на задачах із сильним епістазом (взаємодією змінних).

Що таке налаштування параметрів генетичного алгоритму?

Ключові параметри ГА включають: розмір популяції (більші популяції досліджують більше, але повільніші), частоту кросоверу (ймовірність рекомбінації двох батьків, зазвичай 0,6–0,9), частоту мутації (імовірність мутації кожного гена, зазвичай 0,001–0,05), тиск відбору (розмір турніру, кількість елітних особин) і кількість поколінь. Самоадаптивні ГА кодують параметри стратегії в хромосомах і еволюціонують їх разом із розв'язками. Мета-оптимізація параметрів може використовувати інший ГА для налаштування ГА — хоча це ризикує нескінченною регресією.

Який зв'язок між генетичними алгоритмами та пошуком нейронних архітектур?

Пошук нейронних архітектур (NAS) автоматизує проєктування архітектур глибокого навчання. Ранній NAS використовував навчання з підкріпленням або випадковий пошук; еволюційний NAS застосовує ГА, де кожна особина кодує архітектуру мережі (кількість шарів, розміри фільтрів, пропускні з'єднання), а пристосованість — це точність на валідаційній вибірці. Відомі приклади включають NEAT (нейроеволюція зростаючих топологій), яка еволюціонує і ваги, і топологію, та AmoebaNet від Google, який еволюціонував архітектури, конкурентні з розробленими людьми. Однак великі обчислювальні вимоги змістили увагу в бік градієнтних диференційовних методів NAS.