SilverSight/docs/research/bawim_mutation_engine_results.md
allaun 0426673d1f
Some checks failed
Anti-Smuggle Gate / gate (push) Waiting to run
Doc Sync Check / check (push) Waiting to run
Lean Check / build (push) Waiting to run
Python Check / test (push) Waiting to run
Q16_16 Roundtrip / roundtrip (push) Waiting to run
AVM ISA Cross-Port CI / c (push) Has been cancelled
AVM ISA Cross-Port CI / python (push) Has been cancelled
AVM ISA Cross-Port CI / go (push) Has been cancelled
AVM ISA Cross-Port CI / rust (push) Has been cancelled
AVM ISA Cross-Port CI / cpp (push) Has been cancelled
AVM ISA Cross-Port CI / julia (push) Has been cancelled
AVM ISA Cross-Port CI / r (push) Has been cancelled
AVM ISA Cross-Port CI / wolfram-verify (push) Has been cancelled
AVM ISA Cross-Port CI / cross-verify (push) Has been cancelled
docs(bawim): document mutation engine exploration results
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.
2026-07-07 10:14:31 -05:00

3.7 KiB
Raw Permalink Blame History

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:

  1. Finds trivial minima (Sudoku: all spins down)
  2. Performs identically to greedy (MAX-CUT, NPP at small scale)
  3. 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.