Aller au contenu

MOSAIC

Découper le plateau en petits blocs, résoudre chacun jusqu'à l'optimum prouvé, puis les recoller en payant les coutures au lieu de les interdire. En partant de zéro, sans record à recopier, la méthode atteint 448.

par Raphaël Anjou

expériencesolveurmesuréplafonné448/480arêtes appariéesMéthodes exactesMis à jour 2026-07-21
Reproduiredéterministe — se reproduit à l'octet prèsrelance la recherche (Voir ci-dessous)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

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

  2. 2
    queue exacte

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

Complexité
Temps
per 4×4 block ~30 s to MaxSAT optimum (3×3 ~11 s); 16 block levels with backtracking
Espace
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.

Matériel & exécution
Exécution nativeCPU seul
0.067cœurs·heure
Cœurs
8
RAM
16 GiB
GPU
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)
Départ
stochastic; see the run's repro command

Reproduire ce résultat: déterministe — se reproduit à l'octet près

Continuer l'exploration

Cité par

Source de la pageVersion Markdown