homemaker-layout/experiments
Bruno Postle d004e4c937 Phase 6 §11.7: adjacency-aware lift + secondary adjacencies (ld5)
_assign_adjacency_aware gains fixed_circ (seed the connected-dominating-set from
given circulation leaves) and secondary-adjacency-aware room placement: codes
with the most non-c adjacency requirements are placed first, each onto the open
slot satisfying the most of its requirements against already-typed neighbours
(clustering k1<->da1, da1<->o). lift_base_to_storeys(reqs, adjacency_aware=True)
grows the upper-floor circulation spine off the inherited vertical core and
assigns rooms around it; threaded through driver.search_staged
(seed_adjacency_aware) and run_staged_search.py (ADJ env).

End-to-end staged harbor, 20000 evals, mean total fails over 3 seeds:
ADJ=0 99.0 (reproduces the §11.4 staged lex baseline exactly), ADJ=1 85.3
(-13.7, -14%; best 78). New best harbor configuration overall: staged baseline
99.0 -> single-stage adjacency-aware (§11.6) 90.7 -> staged + adjacency-aware
lift 85.3. Staging and adjacency-aware seeding compose.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 11:47:40 +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.7: adjacency-aware lift + secondary adjacencies (ld5) 2026-06-19 11:47:40 +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