Mutations
4.2 Операторы мутации¶
| Оператор | Тип | Описание | Математика |
|---|---|---|---|
split |
Структурная | Вставка скрытой вершины | Ребро \(u \to w\) disable; создаются \(u \to n \to w\); \(\mathbf{s}(n) = \lfloor(\mathbf{s}(u)+\mathbf{s}(w))/2\rfloor\) |
without_split |
Структурная | Добавление параллельного ребра | Новое \((u,w)\) при сохранении DAG + constraints |
mutate_weights |
Весовая | Гауссов шум на \(\sigma\) | \(\sigma \leftarrow \text{clip}(\sigma + \varepsilon, [\sigma_\min, \sigma_\max])\), \(\varepsilon \sim \mathcal{N}(0, \tau^2)\), \(\tau = 0.5\); rate=0.8; с prob 0.1 — полный resample |
aggressive_mutate_weights |
Весовая | Агрессивная мутация \(\sigma\) | rate=1.0, scale=1.5 |
remove_node |
Структурная | Удаление скрытого узла | Удаляются все инцидентные рёбра; rebuild |
crossover |
Рекомбинация | Скрещивание двух родителей | Union enabled-рёбер (см. §4.3) |
Clamp весов: \(\sigma \in [\text{WEIGHT\_CLAMP\_MIN}, \text{WEIGHT\_CLAMP\_MAX}] = [-8, 8]\).
Полная мутация \(\sigma\):
\[
\sigma' = \begin{cases}
\mathcal{U}(-2, 2) & \text{с вероятностью } 0.1 \text{ (full reset)} \\
\text{clip}(\sigma + \mathcal{N}(0, \tau^2),\; [\sigma_\min, \sigma_\max]) & \text{с вероятностью } 0.9 \cdot \text{rate}
\end{cases}
\]
Для каждого elite-родителя порождаются потомки всеми типами мутаций из MUTATION_TYPES, плюс агрессивный клон (without_split × 5).