Skip to content

MOSAIC

Tile the board into small blocks, solve each one to proven optimality, and glue them together, paying for the seams instead of forbidding them. From scratch, with no record to copy, it reaches 448.

by Raphaël Anjou

experimentsolvermeasuredplateaued448/480matched edgesExact methodsUpdated 2026-07-21
Reproducedeterministic — reproduces byte-for-bytereruns the search (See below)Budget: ~30 s per block × 16 blocks (exploratory run, not the standardized single-core bench)
Pipeline
  1. 1
    MaxSAT

    Solve each 4×4 block to a provable optimum with core-guided weighted MaxSAT; shared edges are soft clauses

    carries: Scarcity reservation: hold back the ~8% globally scarcest pieces to fight piece theft

  2. 2
    exact tail

    Coarse backtracking over the per-block MaxSAT solution enumerators composes the blocks into a full board

Complexity
Time
per 4×4 block ~30 s to MaxSAT optimum (3×3 ~11 s); 16 block levels with backtracking
Space
one MaxSAT solution enumerator per block level held on the backtrack stack

Each block is exact (MaxSAT-optimal), but composing 16 of them is a coarse 16-level backtracking search, exponential in the worst case, tractable because each node is a whole provably-optimal block.

Hardware & run
Native runCPU only
0.067core-hours
Cores
8
RAM
16 GiB
GPUs
0
CPU
Apple M1
Machine
MacBook (Apple M1, 8 cores)
Budget
~30 s per block × 16 blocks (exploratory run, not the standardized single-core bench)
Start
stochastic; see the run's repro command

Reproduce this result: deterministic — reproduces byte-for-byte

Keep exploring

Referenced by

Page sourceView as Markdown