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

Генетический алгоритм — это эвристический алгоритм поиска, используемый для решения задач оптимизации и моделирования.

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;

      

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

Представь, что ты хочешь собрать самый быстрый самолетик из бумаги. Ты складываешь 20 штук и запускаешь их. Те 5, что пролетели дальше всех, ты берешь за основу. Ты меняешь в них что-то одно (например, загибаешь уголок) и снова запускаешь 20 новых. Через час таких испытаний твой самолетик будет летать через всю комнату. Ты — генетический алгоритм!

🤓 Expert Deep Dive

Важным нюансом является 'Элитизм' — стратегия, при которой лучшие особи из текущего поколения гарантированно переходят в следующее без изменений. Это гарантирует, что мы не потеряем самое лучшее решение из-за неудачной мутации. Также существуют 'Островные модели', где несколько популяций эволюционируют отдельно и иногда обмениваются лучшими особями. Генетические алгоритмы незаменимы там, где классические градиентные методы оптимизации бессильны из-за огромного количества локальных ловушек в ландшафте задачи.

📚 Источники