Scaling Sudoku as a Constraint Problem
fit text
2005 → 2026
paragraph
Mikael Z. Lagerkvist · ModRef 2026
Read each hardness tag from left to right
table
| Tag group | What it records |
|---|---|
| Val · Bnd · Dom | Base propagation: value, bounds-consistent, or domain-consistent |
| BS · DS | Shaving: bounds shaving or full-domain singleton shaving |
| Chan · Same · Cmat · Rbm | Additional redundant models and channeling constraints |
| Search | No tested propagation tag solved the instance without search |
paragraph
Example · ValBS = value propagation + bounds shaving
6×6
layout: columnsfigure
Puzzle
Instance
unordered list
- Size · 6×6
- Cells · 36
- Hardness · ValChan
- Generation · 0.302 s
9×9
layout: columnsfigure
Puzzle
Instance
unordered list
- Size · 9×9
- Cells · 81
- Hardness · DomBS
- Generation · 2.212 s
16×16
layout: columnsfigure
Puzzle
Instance
unordered list
- Size · 16×16
- Cells · 256
- Hardness · Search
- Generation · 33m 12.139s
25×25
layout: columnsfigure
Puzzle
Instance
unordered list
- Size · 25×25
- Cells · 625
- Hardness · Search
- Generation · 1h 13m 15.700s
36×36
layout: columnsfigure
Puzzle
Instance
unordered list
- Size · 36×36
- Cells · 1,296
- Hardness · Search
- Generation · 1h 27m 55.493s
A tag records the weakest scheme that finishes without search
Generation and hardness tagging answer different questions
The 9×9 corpus occupies 8 of 19 propagation schemes
Search-free coverage first breaks at 16×16
Walks: Start from generated 16×16
layout: columnsfigure
Dark ink: base hints.
Puzzle
Hardness path
unordered list
- ▶ Search · 91 hints · +0
Walks: One added hint reaches DomDS
layout: columnsfigure
Rose circle: new hint on this transition.
Puzzle
Hardness path
unordered list
- Search · 91 hints · +0
- ▶ DomDS · 92 hints · +1
Walks: A second hint reaches DomBS
layout: columnsfigure
Blue square: earlier addition · rose circle: new.
Puzzle
Hardness path
unordered list
- Search · 91 hints · +0
- DomDS · 92 hints · +1
- ▶ DomBS · 93 hints · +2
Walks: Ten more hints reach BndDS
layout: columnsfigure
Previous additions stay boxed; this transition is circled.
Puzzle
Hardness path
unordered list
- Search · 91 hints · +0
- DomDS · 92 hints · +1
- DomBS · 93 hints · +2
- ▶ BndDS · 103 hints · +12
Walks: One more hint reaches BndBS
layout: columnsfigure
The shape change identifies the newest hint without color.
Puzzle
Hardness path
unordered list
- Search · 91 hints · +0
- DomDS · 92 hints · +1
- DomBS · 93 hints · +2
- BndDS · 103 hints · +12
- ▶ BndBS · 104 hints · +13
Walks: Eleven more hints reach ValBS
layout: columnsfigure
The path is cumulative; only the newest delta is circled.
Puzzle
Hardness path
unordered list
- Search · 91 hints · +0
- DomDS · 92 hints · +1
- DomBS · 93 hints · +2
- BndDS · 103 hints · +12
- BndBS · 104 hints · +13
- ▶ ValBS · 115 hints · +24
Walks: Forty added hints finally reach Val
layout: columnsfigure
40 cumulative additions: 24 boxed earlier · 16 circled now.
Puzzle
Hardness path
unordered list
- Search · 91 hints · +0
- DomDS · 92 hints · +1
- DomBS · 93 hints · +2
- BndDS · 103 hints · +12
- BndBS · 104 hints · +13
- ValBS · 115 hints · +24
- ▶ Val · 131 hints · +40
The 434,201-instance corpus
table
| Grid | Bases | Walks | Saved variants | Exact local minimality |
|---|---|---|---|---|
| 6×6 | 10,000 | 50,000 | 49,515 | 100.0% |
| 9×9 | 10,000 | 50,000 | 92,456 | 100.0% |
| 16×16 | 10,000 | 50,000 | 167,026 | 100.0% |
| 25×25 | 1,000 | 10,000 | 46,079 | 100.0% |
| 36×36 | 1,000 | 10,000 | 47,125 | 0.2% |
Corpus total · 32,000 bases + 402,201 saved walk variants = 434,201 instances. Exact local minimality is certified for only 0.2% of the 36×36 bases.
9×9 checks the setup; 16×16 separates propagation schemes
layout: columns
9×9 · sanity check
fit text
100%
paragraph
10,000 bases
paragraph
Mostly one tag
16×16 · discriminator
fit text
84.9%
paragraph
10,000 bases
paragraph
Several tags + 15.1% Search
Consequence · Start with tagged 16×16. Add 25×25 and 36×36 when the question is size scaling or missing reasoning.
Scale changes what Sudoku benchmarks measure
fit text
9×9 is simple. 16×16 and up more interesting.
paragraph
434,201 instances to explore.