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