Add results document and BAWIM paper citation (arXiv:2607.02112). Key findings: - Oscillating bath solver doesn't outperform greedy/SA on tested problems - Sudoku: backtracking is 1000× faster and exact - MAX-CUT/NPP: SA marginally better at scale, bath shows no advantage - Engine useful for hardware parameter exploration, not solver quality Conclusion: approach not competitive for Sudoku solving.
3.7 KiB
BAWIM Mutation Engine: Exploration Results
Date: 2026-07-07
Status: Concluded — approach not competitive for Sudoku solving
Paper: arXiv:2607.02112 "Bulk Acoustic Wave Ising Machine"
Summary
Explored using the BAWIM (Bulk Acoustic Wave Ising Machine) mutation engine approach for Sudoku solving. The engine systematically varies hardware parameters (feedback amplitude, Barkhausen gain, thermal stability) to optimize Ising model solutions. The approach does not work for Sudoku.
Key Findings
Sudoku (Constraint Satisfaction)
The Ising model formulation is fundamentally unsuited for Sudoku:
- Backtracking solver: 0.001s, exact solution
- Ising solvers (greedy/SA/bath): 3-50s, no solution found
- Oscillating bath: finds trivial all-spins-down minimum (81 violations)
- Cardinality problem: no hard constraint forces exactly one spin per cell
The 729-spin one-hot encoding (81 cells × 9 digits) creates a search space too large for local search methods. A simple constraint propagation + backtracking solver is 1000× faster and exact.
MAX-CUT (Optimization)
All three solvers find identical solutions at small scale:
| n | Greedy | SA | Oscillating Bath |
|---|---|---|---|
| 50 | H=-6.2M | H=-6.2M | H=-6.2M |
| 100 | H=-24.6M | H=-24.6M | H=-24.6M |
| 200 | H=-99.6M | H=-97.8M | H=-99.6M |
At n=200, SA escapes the local minimum (2% improvement). The oscillating bath shows no advantage.
NPP (Optimization)
Similar pattern — all solvers identical at small scale, SA marginally better at n=200:
| n | Greedy | SA | Oscillating Bath |
|---|---|---|---|
| 50 | E=22,043 | E=22,043 | E=22,043 |
| 100 | E=45,280 | E=45,280 | E=45,280 |
| 200 | E=95,653 | E=94,385 | E=95,653 |
SA finds 1.3% better solution at n=200. The oscillating bath shows no advantage.
Why the Oscillating Bath Doesn't Help
The BAWIM-style acoustic modulation (sinusoidal coupling variation) either:
- Finds trivial minima (Sudoku: all spins down)
- Performs identically to greedy (MAX-CUT, NPP at small scale)
- Underperforms SA (MAX-CUT at n=200)
The modulation doesn't provide enough exploration to escape local minima better than standard simulated annealing.
What the Mutation Engine Is Actually Good For
The engine is useful for exploring BAWIM hardware parameters:
- Feedback amplitude (5-30% of RF carrier)
- Barkhausen loop gain (>1 for oscillation)
- Thermal stability (BAWIM: 780 deg/°C vs CIM: 1.73×10⁷ deg/°C)
- Coupling matrix resolution (15-bit J_ij)
These parameters affect physical realizability on actual BAWIM hardware, not solver quality. The mutation engine can optimize for hardware feasibility, not solution quality.
Recommendation
Do not use the BAWIM mutation engine for Sudoku solving. Stick with constraint propagation + backtracking — it's 1000× faster and exact.
The mutation engine is useful only if you're building actual BAWIM hardware and need to tune physical parameters. For software Sudoku solving, it's a dead end.
Code Location
python/bawim_mutation_engine.py— the engine (kept for reference)python/q16_fraction.py— exact rational arithmetic (useful for other work)python/q16_canonical.py— canonical Q16_16 reference (matches Lean)
Files Modified
- Added BAWIM paper to
CITATION.cff - Created this results document
- No production code changes (engine is standalone)
Conclusion
The BAWIM mutation engine exploration was valuable for understanding the limits of Ising model approaches to constraint satisfaction. The oscillating bath solver doesn't provide meaningful advantages over standard methods. For Sudoku, traditional constraint solvers remain the right tool.