Перейти к содержанию

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).