Генетичний алгоритм

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

Operators: 1. Selection (Roulette, Tournament). 2. Crossover (One-point, Multi-point). 3. Mutation (Bit flip, Swap). Termination conditions: Goal reached, fitness plateau, or max generations.

        graph LR
  Center["Генетичний алгоритм"]:::main
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простими словами

Це як намагатися намалювати шедевр, не вміючи малювати. Ти малюєш 10 закарлючок, вибираєш 2 найгарніші, поєднуєш їхні лінії і малюєш ще 10 нових. Знову вибираєш найкращі. Якщо робити це дуже довго, у тебе вийде справжня картина, хоча ти просто вибирав те, що тобі подобається. Це і є генетичний алгоритм.

🤓 Expert Deep Dive

На технічному рівні ми кодуємо параметри задачі в 'гени'. Головна складність — правильно придумати 'Функцію придатності' (Fitness Function). Якщо вона буде неправильною, алгоритм 'еволюціонує' не в той бік. Наприклад, якщо ви хочете зробити швидкого робота, а функція придатності оцінює тільки кількість кроків, робот може навчитися просто падати вперед, бо це зараховується як крок, хоча він і не став швидшим.

📚 Джерела