# 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.
