homemaker-layout/experiments
Bruno Postle c1586237ca Phase 6 §11.6: adjacency-aware constructive seeding (s44)
operators._assign_adjacency_aware spends ~one extra leaf per three rooms on a
greedy connected-dominating-set of circulation leaves (read from the geometric
leaf_graph, type-independent), so every room borders a connected circulation
spine and adjacency-to-c + access are satisfied by construction. Default-on via
constructive_topology(adjacency_aware=True), threaded through
driver.search(seed_adjacency_aware) and run_search_scaled.py (ADJ env).

End-to-end single-stage, 20000 evals, mean total fails over 3 seeds:
harbor 110.0 -> 90.7 (-17.5%; ADJ=0 reproduces the §11.2 105 baseline exactly),
programme-house 12.3 -> 9.3 (-24%). Adjacency-aware single-stage harbor (mean
90.7, best 85) beats the §11.3 staged best of 95 — the first Phase-6 fail-count
reduction from seeding. Follow-ups (lift_base_to_storeys, secondary adjacencies)
filed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:23:12 +01:00
..
accept_innerloop.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
bakeoff_harbor.json Swap inner loop default from CMA-ES to Nelder-Mead (homemaker-py-d6d) 2026-06-14 08:51:22 +01:00
bakeoff_harbor.py Swap inner loop default from CMA-ES to Nelder-Mead (homemaker-py-d6d) 2026-06-14 08:51:22 +01:00
bakeoff_innerloop.json Bake-off: CMA-ES confirmed as inner-loop optimiser (homemaker-py-d0s) 2026-06-13 09:47:15 +01:00
bakeoff_innerloop.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
bakeoff_native.json Swap inner loop default from CMA-ES to Nelder-Mead (homemaker-py-d6d) 2026-06-14 08:51:22 +01:00
bakeoff_native.py Swap inner loop default from CMA-ES to Nelder-Mead (homemaker-py-d6d) 2026-06-14 08:51:22 +01:00
bench_batch_oracle.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
benchmark_vs_urbevolve.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
diag_2f45907.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
dump_areas.pl Scaffold homemaker-py with validated geometry port 2026-06-10 20:50:20 +01:00
dump_areas.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
dump_leaf_quality.pl Native fitness: leaf quality terms + cost model (homemaker-py-gnw) 2026-06-13 07:59:21 +01:00
genome_parity.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
leaf_parity.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
operator_locality.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
optimize_fullfitness.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
penalty_reshape.json Lexicographic outer-search comparison, preserve inner-loop cliff (homemaker-py-yg5) 2026-06-14 09:20:03 +01:00
penalty_reshape.py Lexicographic outer-search comparison, preserve inner-loop cliff (homemaker-py-yg5) 2026-06-14 09:20:03 +01:00
rebaseline_no_occlusion.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
refine_sweep.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
resolve_ratios.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
run_search.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
run_search_scaled.py Phase 6 §11.6: adjacency-aware constructive seeding (s44) 2026-06-19 09:23:12 +01:00
run_staged_search.py Phase 6 §11.5: structural niching + restarts — negative result (c4c.5) 2026-06-18 23:42:39 +01:00
sweep_failtypes.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00
warm_vs_cold.py Rename package: homemaker → homemaker-layout 2026-06-14 08:18:06 +01:00