google-deepmind / google-deepmind/alphaevolve_repository_of_problems
Problem 64 (3D moving sofa): improved certified lower bound 1.8558, explicit constructions, verified with this repo's pipeline
- Dominant language
- Jupyter Notebook
- Stars
- 236
- Forks
- 15
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Improved certified lower bounds for **Problem 64 (three-dimensional moving sofa, "snaky" corridor)**, from four new explicit paths, verified with this repository's **unmodified** pipeline (`generate_sofa_and_evaluate_path`, commit `8f44745`) at `translation_tol = 0.005`, `rotation_tol = 0.05°`:
| path | grid 0.002 | grid 0.001 |
|---|---|---|
| `best_path_found` (control, identical settings) | 1.8179428 | — |
| `w4_staggered` | 1.8279082 | 1.8491627 |
| `w5_night1` | 1.8309875 | 1.8518415 |
| `w5_night2` | 1.8339829 | — |
| **`w6_night3` (current best)** | **1.8355162** | **1.8558404** |
The control run reproduces the paper's "at least 1.81" (arXiv:2511.02864, Problem 6.64), so all improvements are path-to-path under one fixed configuration of the same certifier. A grid-0.005 anchor run on `w4_staggered` (1.7641937) is bit-identical across all four GPU sessions behind this table.
**Reproduction** (path JSONs + self-contained Colab notebooks + run-of-record results):
https://gist.github.com/Lomnus-ai/0208efd10e956eec39b5b2f8732613d5 — the v5 notebook certifies `w5_night2` and `w6_night3` head-to-head at grid 0.002 (~27 min each on an A100-class GPU) and the winner at grid 0.001 (~3.4 h); v4 covers `w5_night1`, v2/v3 cover `w4_staggered`.
## The constructions
- **`w4_staggered`** — a deliberately simple, hand-describable motion ("staggered twist"): no twist through the first turn or the middle tube; the entire 90° tube-axis twist is executed inside the second corner, front-loaded at its mouth. This sharpens the mechanism already present in `best_path_found` (~92% of its twist happens in the second turn).
- **`w5_night1`** — an 84-dof CMA-ES refinement (38k evaluations) seeded from the staggered backbone, preserving its mechanism.
- **`w5_night2`** — a mixed-fidelity CMA-ES refinement of `w5_night1` (232 generations): each generation's top candidates are re-scored on a 2× finer carve grid and those ranks drive recombination, so selection pressure favors structure that survives grid refinement.
- **`w6_night3`** — a certifier-aligned gradient polish of `w5_night1`: 118 iterations directly at fine carve resolution against a differentiable carve objective at fixed sharpness, with safeguards (periodic re-derivation of the frozen interpolation structure from the control path, and a control-pose-spacing penalty) so the optimized quantity is the certified protocol's own volume rather than a coarse-grid proxy. Pose-sampled (non-certified) evaluation of its carved body gives ≈ 1.89, and the certificate is monotone under grid refinement toward it, so certification-side headroom likely remains.
## Two notes for users of the pipeline
1. The certificate is tolerance-dominated: the notebook comment "grid 0.002 verifies 1.81" holds only with the tight tolerances used by the evolved program's final evaluation (0.005, 0.05°) — at the quick-start tolerances (0.05, 1°) the same grid certifies 1.7701.
2. Exact zero-rotation steps make `get_rotation_bounding_box` return NaN (axis normalization), silently zeroing the certificate. `w4_staggered` carries a disclosed dither for its three pure-translation steps (≤ 0.0433°, measured zero effect); `w5_night1`, `w5_night2` and `w6_night3` have no such steps (min rotation steps 3.1e-3° / 1.9e-3° / 1.3e-3°) and need none.
Thanks for publishing the pipeline and problem set in a form that makes community follow-ups like this possible.
Contributor guide
Research direction
Start with the v5 self-contained Colab notebook and path JSONs in the linked gist, then run generate_sofa_and_evaluate_path with the listed tight tolerances. Done means reproducing the reported certified bounds for w5_night2 and w6_night3 at grids 0.002 and 0.001.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100