genome.signature: ratio-invariant structural topology hash (per-storey tree shape + cut orientation + leaf types), the cheap stand-in for the 9gp canonical encoding. driver gains niche_by_signature (one individual per topology, replaces the fitness-scalar dedup) and restart_patience (soft restart: keep elites, refill with fresh seeds); SearchResult gains n_distinct_signatures / diversity_history / n_restarts. Diversity criterion MET (final-pop distinct ~5/16 -> 16/16). Gate NOT met: blank-slate programme-house mean fails 12.3(legacy)/12.7(niche)/13.0(restart) over 3 seeds at 20000 evals; harbor staged 95/94/108. Niching is a tie within seed noise, restarts strictly worse — falsifies the premise that the fitness-scalar dedup causes premature convergence. Both flags default-off, kept for reuse. Epic c4c complete. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| test_dom_corpus.py | ||
| test_driver.py | ||
| test_fitness.py | ||
| test_genome.py | ||
| test_geometry.py | ||
| test_graph.py | ||
| test_innerloop.py | ||
| test_operators.py | ||
| test_oracle.py | ||
| test_staging.py | ||