Кандидаты мутаций¶
Mutator не сэмплирует рёбра вслепую с retry: сначала строится конечное легальное множество, затем выбирается элемент.
Инвариант output-on-last-layer: скрытая вершина не может быть глубже выхода.
\[
\forall v\in V_{\mathrm{hid}}:\quad \mathrm{depth}(v) \le \mathrm{depth}(o)
\]
| Функция | Множество |
|---|---|
list_addable_edges |
Пары \((u,w)\), не создающие цикл, с согласованными каналами |
list_splittable_edges |
Enabled-рёбра, куда можно вставить mid-узел |
list_removable_edges |
Рёбра, удаление которых оставляет путь input→output |
list_removable_nodes |
Скрытые узлы с тем же инвариантом связности |
list_crossover_mates |
Совместимые партнёры в очереди |
summarize_candidates |
Сводка для лога / Studio |
Script 10 (hash-host study) отключает weight-мутации: только structural + remove_edge. Это сужает пространство, но стабилизирует Merkle-hit (веса не шумят каждый шаг).
См. мутации, API mutations-lineage.