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

Эффективная топология

Полный геном может содержать мёртвые ветви: включённые рёбра, из которых нет пути во выход. Приспособленность (fitness) зависит только от I/O-подграфа.

Определение

Full structure hash \(h_{\mathrm{full}}(G)\) — отпечаток всех включённых рёбер и их геометрии. Effective structure hash \(h_{\mathrm{eff}}(G)\) — отпечаток только вершин и рёбер, лежащих на путях \(\mathrm{input}\leadsto\mathrm{output}\).

flowchart LR
  inn[input] --> h1[hidden]
  h1 --> out[output]
  inn --> dead[dead branch]

На мёртвой ветви Conv2d не исполняется (forward_execute_* / ExecutionPlan пропускают недостижимое). Два генома с разным \(h_{\mathrm{full}}\) могут иметь одинаковый \(h_{\mathrm{eff}}\) — одинаковый forward на val.

Кэш vs популяция

  • Уникальность живой популяции — по \(h_{\mathrm{full}}\) (не больше одной копии топологии в \(\mathcal{P}\)).
  • Резидентность кэша — StructureCopyBudget: max 1 копия \(h_{\mathrm{full}}\); \(h_{\mathrm{eff}}\) ограничен отдельно (0 = без лимита).

Incremental forward (forward_execute_incremental) стартует с первого расходящегося merge-step относительно закэшированного родителя — это кэш отсева (screen-cache) и Merkle-hit.

Эффективная vs полная топология

I/O-подграф (effective) против полного графа включённых рёбер. Источник: схема ВКР / генератор сайта.

Схема: docs/figures/scheme_effective_topology.png. API: structure budget.