Constraints
3.10 Топологические ограничения и инварианты¶
| # | Ограничение | Математическая формулировка | Параметр |
|---|---|---|---|
| 1 | Макс. глубина скрытых слоёв | \(\max_{v \in V_\text{hidden}} d(v) \le L_\text{max}\) | max_hidden_layers |
| 2 | Макс. ширина слоя | \(\#\{v \in V_\text{hidden} : d(v) = k\} \le N_\text{max}\) | max_neurons_per_layer |
| 3 | Скрытые не глубже выхода | \(d(v) \le d(o)\) для всех \(v \in V_\text{hidden}\) | жёстко в коде |
| 4 | Фиксированные каналы (baseline) | \(C_\text{in} = C_\text{out} = 3\) | input_channels = 3 |
| 5 | DAG | ацикличность + no self-loop | проверка при каждой мутации |
| 6 | Уникальность топологии | structure_hash уникален в рамках run |
_try_add_unique_topology |
| 7 | Положительный выход | \(H_\text{out}, W_\text{out} \ge 1\) | проверка в __init__ |
Верхняя оценка числа вершин:
\[
|V| \le V_\text{in} + L_\text{max} \cdot N_\text{max} + 1
\]
При дефолтных параметрах (\(V=1\), \(L_\text{max}=5\), \(N_\text{max}=4\)): \(|V| \le 22\).