The Sudoku Hierarchical Classifier (SHC)

Programs which generate, solve, and analyze Sudoku puzzles

Re: The Sudoku Hierarchical Classifier (SHC)

Postby denis_berthier » Wed Dec 04, 2024 12:12 pm

.
François has extended the SHC so as to allow sukakus as inputs any time sudokus were allowed. In both cases, the standard 81- or 729- character format is used.
Moreover, a sukaku grid can be copied into a file from almost any grid on the forum, with (almost) any "markings" of the candidates (except a single quote or a paragraph sign, for technical reasons apparently related to java portability).
Allowed markers on candidates: upper and lower cases letters (with no accent) plus the following signs: #&@$(=+-*^%)_,;/
Allowed separators between cells on a line: space | ! : (at least one separator between two cells is mandatory).
See the README.md file for details.

In the README.md file, I've rewritten the command line syntax in such a way that:
- any consistent command that worked before still works (example of an inconsistent command: java -jar SHC.jar B -examples -puzzle);
- one doesn't have to specify the game is sudoku, only the sukaku keyword must be added after the <classif>.

Let us know if this is a useful addition for you.
.
denis_berthier
2010 Supporter
 
Posts: 4572
Joined: 19 June 2007
Location: Paris

Re: The Sudoku Hierarchical Classifier (SHC)

Postby yzfwsf » Sat Aug 30, 2025 11:39 am

Code: Select all
.1.2.....3...4......5..67..7..1..5...8.....3...6..9..2..25..6......8..4......7..5

My solver's path:
Code: Select all
Braid[28]: => r6c5<>7
7r6c5 - 7b6{r6c8=r5c9} - 7r1{r1c5=r1c3} - 7r8{r8c3=r8c2} - 5b7{r8c2=r8c1} - 5b4{r5c1=r6c2} - 6r8{r8c1=r8c4} - 3r6{r6c2=r6c4} - r5c4{n6=n4} - 6r5{r5c4=r5c5} - 8b5{r6c4=r4c6} - 5b5{r5c5=r5c6} - 2r5{r5c6=r5c1} - r1c6{n5=n3} - r2c6{n5=n1} - r3c5{n1=n9} - r3c4{n9=n8} - 3b3{r1c7=r3c9} - r3c1{n8=n4} - r6c1{n4=n1} - 4r6{r6c1=r6c7} - 4b3{r1c7=r1c9} - r5c3{n1=n9} - r2c3{n9=n8} - 8c9{r2c9=r7c9} - 1c9{r7c9=r8c9} - r8c3{n1=n3} - 3r7{r7c2=r7c5} - 1r7{r7c5=.}
Braid[7]: => r6c4<>3
3r6c4 - r6c5{n3=n5} - r6c2{n5=n4} - 5b4{r6c1=r5c1} - 2c1{r5c1=r3c1} - 4r3{r3c1=r3c9} - 4r4{r4c9=r4c6} - 8b5{r4c6=.}
Whip[4]: => r1c5<>3
3r1c5 - 3b5{r4c5=r4c6} - 3b4{r4c2=r6c2} - 3r7{r7c2=r7c9} - 3r3{r3c9=.}
Braid[5]: => r3c5<>3
3r3c5 - r6c5{n3=n5} - 1b2{r3c5=r2c6} - 3b5{r4c5=r4c6} - 5b2{r2c6=r1c6} - 8c6{r1c6=.}
Braid[6]: => r9c5<>1
1r9c5 - r3c5{n1=n9} - r7c5{n9=n3} - r6c5{n3=n5} - r7c6{n3=n4} - r5c6{n4=n2} - r8c6{n2=.}
Braid[10]: => r1c5<>9
9r1c5 - 7c5{r1c5=r5c5} - 5c5{r5c5=r6c5} - 5b4{r6c1=r5c1} - 2b4{r5c1=r4c2} - 2b1{r2c2=r3c1} - 2c5{r4c5=r9c5} - 2c8{r9c8=r2c8} - 5b3{r2c8=r1c8} - 6c8{r1c8=r4c8} - 6c5{r4c5=.}
Braid[13]: => r9c5<>3
3r9c5 - r6c5{n3=n5} - 2b8{r9c5=r8c6} - 3b5{r4c5=r4c6} - 3c3{r4c3=r8c3} - r5c6{n2=n4} - 3c7{r8c7=r1c7} - 4c7{r1c7=r6c7} - r6c1{n4=n1} - r5c3{n1=n9} - r5c7{n9=n1} - 1r8{r8c7=r8c9} - 7r8{r8c9=r8c2} - 5c2{r8c2=.}
Braid[13]: => r9c4<>3
3r9c4 - 3b2{r3c4=r1c6} - 4b8{r9c4=r7c6} - 3c7{r1c7=r8c7} - 2r8{r8c7=r8c6} - 1c6{r8c6=r2c6} - 5b2{r2c6=r1c5} - r3c5{n1=n9} - 7r1{r1c5=r1c3} - 9b8{r7c5=r8c4} - r8c3{n9=n1} - r8c9{n1=n7} - 7b7{r8c2=r7c2} - 3r7{r7c2=.}
Braid[11]: => r2c8<>9
9r2c8 - 5b3{r2c8=r1c8} - r1c5{n5=n7} - r2c4{n7=n8} - r1c6{n8=n3} - r2c3{n8=n7} - 3c4{r3c4=r8c4} - 3b3{r1c7=r3c9} - 3r7{r7c9=r7c2} - 7b7{r7c2=r8c2} - 5b7{r8c2=r8c1} - 6r8{r8c1=.}
Braid[17]: => r7c5<>3
3r7c5 - r6c5{n3=n5} - 1c5{r7c5=r3c5} - 3r6{r6c5=r6c2} - 5b4{r6c1=r5c1} - 9c5{r3c5=r9c5} - r8c4{n9=n6} - r9c4{n6=n4} - r7c6{n4=n1} - r8c6{n1=n2} - 2r5{r5c6=r5c5} - 6r5{r5c5=r5c9} - 7b6{r5c9=r6c8} - r9c2{n4=n6} - 6r2{r2c2=r2c8} - 1c8{r2c8=r9c8} - 2c8{r9c8=r3c8} - 2c1{r3c1=.}
Whip[1]: => r4c6<>3
3r4c6 - 3c5{r4c5=.}
Whip[2]: => r9c5<>9
9r9c5 - r3c5{n9=n1} - r7c5{n1=.}
Whip[9]: => r5c5<>2
2r5c5 - r9c5{n2=n6} - r4c5{n6=n3} - r6c5{n3=n5} - 5c2{r6c2=r8c2} - 6c2{r8c2=r2c2} - 7c2{r2c2=r7c2} - 7b9{r7c8=r8c9} - 7r5{r5c9=r5c4} - 6c4{r5c4=.}
Braid[8]: => r5c1<>1
1r5c1 - 2c1{r5c1=r3c1} - 2r5{r5c1=r5c6} - 2b8{r8c6=r9c5} - 2c8{r9c8=r2c8} - 5b3{r2c8=r1c8} - 6c8{r1c8=r4c8} - 6c5{r4c5=r5c5} - 5r5{r5c5=.}
Braid[8]: => r5c1<>9
9r5c1 - 2c1{r5c1=r3c1} - 2r5{r5c1=r5c6} - 2b8{r8c6=r9c5} - 2c8{r9c8=r2c8} - 5b3{r2c8=r1c8} - 6c8{r1c8=r4c8} - 6c5{r4c5=r5c5} - 5r5{r5c5=.}
Braid[8]: => r5c1<>4
4r5c1 - 2c1{r5c1=r3c1} - 2r5{r5c1=r5c6} - 2b8{r8c6=r9c5} - 2c8{r9c8=r2c8} - 5b3{r2c8=r1c8} - 6c8{r1c8=r4c8} - 6c5{r4c5=r5c5} - 5r5{r5c5=.}
Braid[11]: => r7c2<>9
9r7c2 - 9c5{r7c5=r3c5} - 1b2{r3c5=r2c6} - 9c1{r3c1=r1c1} - 5r2{r2c6=r2c8} - 6b1{r1c1=r2c2} - 2r2{r2c2=r2c7} - 2b9{r8c7=r9c8} - r9c5{n2=n6} - 6b7{r9c1=r8c1} - 5b7{r8c1=r8c2} - 7c2{r8c2=.}
Braid[15]: => r6c8<>1
1r6c8 - 1b4{r6c1=r5c3} - 7b6{r6c8=r5c9} - 7b9{r7c9=r7c8} - 7b5{r5c4=r6c4} - 7b2{r2c4=r1c5} - 8r6{r6c4=r6c7} - 9r5{r5c9=r5c7} - 4b6{r5c7=r4c9} - 4b3{r1c9=r1c7} - 4c3{r1c3=r9c3} - r7c2{n4=n3} - 3r6{r6c2=r6c5} - 5c5{r6c5=r5c5} - 6r5{r5c5=r5c4} - 4c4{r5c4=.}
Braid[11]: => r7c9<>1
1r7c9 - 1b8{r7c5=r8c6} - 1b2{r2c6=r3c5} - 2b8{r8c6=r9c5} - 1c8{r3c8=r2c8} - 5b3{r2c8=r1c8} - 5b2{r1c5=r2c6} - 2c8{r2c8=r3c8} - 2c1{r3c1=r5c1} - 5r5{r5c1=r5c5} - 6c5{r5c5=r4c5} - 6c8{r4c8=.}
Braid[11]: => r2c8<>8
8r2c8 - r6c8{n8=n7} - 5b3{r2c8=r1c8} - r1c5{n5=n7} - 6c8{r1c8=r4c8} - 7b5{r5c5=r5c4} - 6b5{r5c4=r5c5} - r9c5{n6=n2} - 2c8{r9c8=r3c8} - 2c1{r3c1=r5c1} - 5r5{r5c1=r5c6} - 5r2{r2c6=.}
Braid[14]: => r1c8<>6
6r1c8 - 5b3{r1c8=r2c8} - 6b1{r1c1=r2c2} - 2r2{r2c2=r2c7} - 2r8{r8c7=r8c6} - r9c5{n2=n6} - 2r5{r5c6=r5c1} - 6b7{r9c1=r8c1} - 5b7{r8c1=r8c2} - 5b4{r6c2=r6c1} - 1b4{r6c1=r5c3} - 1b6{r5c7=r6c7} - 1r8{r8c7=r8c9} - 7r8{r8c9=r8c3} - 7c2{r7c2=.}
Braid[10]: => r7c8<>9
9r7c8 - r7c5{n9=n1} - 1b2{r3c5=r2c6} - 5r2{r2c6=r2c8} - r1c8{n5=n8} - r6c8{n8=n7} - 8c6{r1c6=r4c6} - r6c4{n8=n4} - 4b8{r9c4=r7c6} - r7c1{n4=n8} - 8c9{r7c9=.}
Braid[8]: => r1c8<>8
8r1c8 - r6c8{n8=n7} - 5b3{r1c8=r2c8} - r7c8{n7=n1} - 1b8{r7c5=r8c6} - r2c6{n1=n8} - 8b5{r4c6=r6c4} - 8c7{r6c7=r9c7} - 8c3{r9c3=.}
Braid[10]: => r1c3<>9
9r1c3 - r1c8{n9=n5} - 9b4{r4c3=r4c2} - 5b2{r1c5=r2c6} - 2b4{r4c2=r5c1} - r5c6{n2=n4} - r5c3{n4=n1} - 1b6{r5c7=r6c7} - 4b6{r6c7=r4c9} - 4c3{r4c3=r9c3} - 4r7{r7c1=.}
Whip[4]: => r3c9<>9
9r3c9 - 9r1{r1c7=r1c1} - 6r1{r1c1=r1c9} - 3b3{r1c9=r1c7} - 4b3{r1c7=.}
Braid[10]: => r2c9<>9
9r2c9 - 9r1{r1c7=r1c1} - 6b1{r1c1=r2c2} - 9r7{r7c1=r7c5} - 9b2{r3c5=r3c4} - 3c4{r3c4=r8c4} - 3r3{r3c4=r3c9} - 3r7{r7c9=r7c2} - 6r8{r8c4=r8c1} - 5b7{r8c1=r8c2} - 7c2{r8c2=.}
Braid[11]: => r2c7<>9
9r2c7 - r1c8{n9=n5} - r1c5{n5=n7} - r2c4{n7=n8} - r1c6{n8=n3} - r2c3{n8=n7} - 3b8{r7c6=r8c4} - 3b3{r1c7=r3c9} - 3r7{r7c9=r7c2} - 7b7{r7c2=r8c2} - 5b7{r8c2=r8c1} - 6r8{r8c1=.}
Braid[14]: => r8c2<>9
9r8c2 - 5b7{r8c2=r8c1} - 5b4{r5c1=r6c2} - 6r8{r8c1=r8c4} - r6c5{n5=n3} - r9c5{n6=n2} - r4c5{n2=n6} - 6c8{r4c8=r2c8} - 2c8{r2c8=r3c8} - 5b3{r2c8=r1c8} - r3c2{n2=n4} - r1c5{n5=n7} - r1c3{n7=n8} - r1c6{n8=n3} - 3c4{r3c4=.}
Braid[14]: => r1c1<>4
4r1c1 - 4b3{r1c7=r3c9} - 6b1{r1c1=r2c2} - 6b3{r2c8=r1c9} - 3b3{r1c9=r1c7} - 9r1{r1c7=r1c8} - 5b3{r1c8=r2c8} - 2r2{r2c8=r2c7} - 2r8{r8c7=r8c6} - r9c5{n2=n6} - 3c6{r8c6=r7c6} - 4r7{r7c6=r7c2} - 7c2{r7c2=r8c2} - 5b7{r8c2=r8c1} - 6r8{r8c1=.}
Braid[13]: => r9c1<>6
6r9c1 - r9c5{n6=n2} - 6b8{r9c4=r8c4} - 6b1{r1c1=r2c2} - 6b3{r2c8=r1c9} - 3c4{r8c4=r3c4} - 3b3{r3c9=r1c7} - 4r1{r1c7=r1c3} - 7b1{r1c3=r2c3} - 8c3{r2c3=r9c3} - 3r9{r9c3=r9c2} - 3b4{r4c2=r4c3} - r4c5{n3=n6} - 6r5{r5c5=.}
Braid[8]: => r1c1<>9
9r1c1 - 6b1{r1c1=r2c2} - 6b7{r8c2=r8c1} - 9r2{r2c2=r2c4} - r8c4{n9=n3} - 3r3{r3c4=r3c9} - 3r7{r7c9=r7c2} - 7c2{r7c2=r8c2} - 5r8{r8c2=.}
Whip[1]: => r3c8<>9
9r3c8 - 9r1{r1c7=.}
Braid[10]: => r9c8<>8
8r9c8 - r6c8{n8=n7} - r7c8{n7=n1} - r3c8{n1=n2} - 1b8{r7c5=r8c6} - 2c1{r3c1=r5c1} - 2c6{r5c6=r4c6} - 8b5{r4c6=r6c4} - 8b6{r6c7=r4c9} - 8r3{r3c9=r3c1} - 8r7{r7c1=.}
Braid[10]: => r7c1<>1
1r7c1 - 1b8{r7c5=r8c6} - 1b4{r6c1=r5c3} - 1b6{r5c7=r6c7} - 2r8{r8c6=r8c7} - 1b9{r9c7=r9c8} - r2c7{n2=n8} - r2c6{n8=n5} - 5b3{r2c8=r1c8} - 9c8{r1c8=r4c8} - 9r5{r5c7=.}
Braid[12]: => r9c3<>9
9r9c3 - 9b4{r4c3=r4c2} - 2b4{r4c2=r5c1} - 9c8{r4c8=r1c8} - 9r2{r2c2=r2c4} - 5b3{r1c8=r2c8} - 7b2{r2c4=r1c5} - 5b2{r1c5=r1c6} - 3b2{r1c6=r3c4} - 5r5{r5c6=r5c5} - r8c4{n3=n6} - 6b5{r5c4=r4c5} - 6c8{r4c8=.}
Braid[14]: => r8c2<>3
3r8c2 - 3b8{r8c4=r7c6} - 5b7{r8c2=r8c1} - 6r8{r8c1=r8c4} - r9c5{n6=n2} - r8c6{n2=n1} - 1r7{r7c5=r7c8} - r9c8{n1=n9} - r1c8{n9=n5} - r1c5{n5=n7} - 9r8{r8c7=r8c3} - r1c6{n5=n8} - 7c3{r8c3=r2c3} - 8b1{r2c3=r3c1} - 9c1{r3c1=.}
Braid[14]: => r2c8<>1
1r2c8 - 1b2{r2c6=r3c5} - 5b3{r2c8=r1c8} - 5b2{r1c5=r2c6} - 6c8{r2c8=r4c8} - r7c5{n1=n9} - 9c8{r4c8=r9c8} - 2c8{r9c8=r3c8} - 2c1{r3c1=r5c1} - 5r5{r5c1=r5c5} - 6c5{r5c5=r9c5} - r8c4{n6=n3} - 3b2{r3c4=r1c6} - 3c7{r1c7=r9c7} - 2r9{r9c7=.}
Braid[14]: => r8c1<>1
1r8c1 - 1r6{r6c1=r6c7} - 5b7{r8c1=r8c2} - 6b7{r8c2=r9c2} - r9c5{n6=n2} - r8c6{n2=n3} - 3b2{r1c6=r3c4} - 2b9{r9c7=r8c7} - r2c7{n2=n8} - 8b2{r2c4=r1c6} - 8c3{r1c3=r9c3} - 3b7{r9c3=r7c2} - 7c2{r7c2=r2c2} - r2c3{n7=n9} - r2c4{n9=.}
Braid[15]: => r4c8<>8
8r4c8 - r6c8{n8=n7} - 6c8{r4c8=r2c8} - r7c8{n7=n1} - 5r2{r2c8=r2c6} - r1c5{n5=n7} - 8c6{r2c6=r1c6} - r1c3{n8=n4} - 4b3{r1c7=r3c9} - 8r3{r3c9=r3c1} - 2c1{r3c1=r5c1} - r5c6{n2=n4} - 4b6{r5c7=r6c7} - 1r6{r6c7=r6c1} - 1r9{r9c1=r9c3} - 8c3{r9c3=.}
Braid[12]: => r4c9<>6
6r4c9 - 6b3{r1c9=r2c8} - 8r4{r4c9=r4c6} - 5r2{r2c8=r2c6} - r1c6{n5=n3} - 3b3{r1c7=r3c9} - 3r7{r7c9=r7c2} - 3b4{r4c2=r4c3} - r4c5{n3=n2} - r5c6{n2=n4} - 4b8{r7c6=r9c4} - 4c9{r5c9=r1c9} - 4c3{r1c3=.}
Braid[12]: => r8c7<>9
9r8c7 - 2r8{r8c7=r8c6} - r9c5{n2=n6} - r8c4{n6=n3} - 6r4{r4c5=r4c8} - 3b2{r3c4=r1c6} - 3c7{r1c7=r9c7} - 2b9{r9c7=r9c8} - r2c8{n2=n5} - 5b2{r2c6=r1c5} - 7r1{r1c5=r1c3} - r8c3{n7=n1} - 1r9{r9c1=.}
Braid[12]: => r9c7<>1
1r9c7 - 1b6{r5c7=r5c9} - 1b3{r2c9=r3c8} - 1b2{r3c5=r2c6} - 7b6{r5c9=r6c8} - 5r2{r2c6=r2c8} - 2b3{r2c8=r2c7} - r8c7{n2=n3} - 3b8{r8c4=r7c6} - 4b8{r7c6=r9c4} - r6c4{n4=n8} - 8b2{r2c4=r1c6} - 8c7{r1c7=.}
Braid[15]: => r3c9<>1
1r3c9 - 1b2{r3c5=r2c6} - 1b8{r7c6=r7c5} - 5r2{r2c6=r2c8} - 1c8{r7c8=r9c8} - r1c8{n5=n9} - r4c8{n9=n6} - 1b7{r9c1=r8c3} - 1r5{r5c3=r5c7} - 2c8{r9c8=r3c8} - 2c1{r3c1=r5c1} - 9c7{r5c7=r9c7} - 2r9{r9c7=r9c5} - r4c5{n2=n3} - r6c5{n3=n5} - 5r5{r5c5=.}
Braid[11]: => r9c4<>9
9r9c4 - 9b2{r2c4=r3c5} - 1r3{r3c5=r3c8} - r9c8{n1=n2} - r9c5{n2=n6} - r8c4{n6=n3} - r3c4{n3=n8} - r8c7{n3=n1} - r2c4{n8=n7} - 7b1{r2c2=r1c3} - r8c3{n7=n9} - 9c1{r7c1=.}
Braid[9]: => r3c4<>8
8r3c4 - 3c4{r3c4=r8c4} - 8b5{r6c4=r4c6} - 9b8{r8c4=r7c5} - r3c5{n9=n1} - r3c8{n1=n2} - 2c1{r3c1=r5c1} - 2c6{r5c6=r8c6} - r8c7{n2=n1} - 1c8{r7c8=.}
Whip[2]: => r2c9<>8
8r2c9 - 8b2{r2c4=r1c6} - 8r4{r4c6=.}
Braid[5]: => r9c2<>9
9r9c2 - 9c1{r7c1=r3c1} - r3c4{n9=n3} - 9b2{r3c4=r2c4} - r8c4{n9=n6} - 6r9{r9c4=.}
Braid[9]: => r1c9<>8
8r1c9 - 8r4{r4c9=r4c6} - 8r3{r3c8=r3c1} - 2c1{r3c1=r5c1} - 2b5{r5c6=r4c5} - r9c5{n2=n6} - r9c4{n6=n4} - r6c4{n4=n7} - r6c8{n7=n8} - 8r7{r7c8=.}
Braid[9]: => r2c2<>6
6r2c2 - r2c9{n6=n1} - 6b7{r8c2=r8c1} - 1b2{r2c6=r3c5} - r7c5{n1=n9} - r8c4{n9=n3} - 3r3{r3c4=r3c9} - 3r7{r7c9=r7c2} - 7c2{r7c2=r8c2} - 5r8{r8c2=.}
Hidden Single: 6 in b1 => r1c1=6
Braid[7]: => r6c4<>4
4r6c4 - r9c4{n4=n6} - r9c5{n6=n2} - 6b7{r9c2=r8c2} - 5b7{r8c2=r8c1} - r5c1{n5=n2} - 2b5{r5c6=r4c6} - 8b5{r4c6=.}
Whip[2]: => r6c7<>8
8r6c7 - r6c4{n8=n7} - r6c8{n7=.}
Whip[4]: => r5c9<>4
4r5c9 - 4b5{r5c4=r4c6} - 4b8{r7c6=r9c4} - 4c3{r9c3=r1c3} - 4r3{r3c1=.}
Braid[7]: => r1c6<>3
3r1c6 - 3b8{r7c6=r8c4} - 9b8{r8c4=r7c5} - 3c7{r8c7=r9c7} - 6r8{r8c4=r8c2} - r9c2{n6=n4} - r7c1{n4=n8} - 8r9{r9c1=.}
Hidden Single: 3 in b2 => r3c4=3
Whip[4]: => r5c3<>4
4r5c3 - 4b5{r5c4=r4c6} - 8r4{r4c6=r4c9} - r3c9{n8=n4} - 4r1{r1c7=.}
Whip[3]: => r5c9<>1
1r5c9 - r5c3{n1=n9} - r5c7{n9=n4} - r6c7{n4=.}
Whip[1]: => r2c7<>1
1r2c7 - 1b6{r5c7=.}
Whip[1]: => r8c7<>1
1r8c7 - 1b6{r5c7=.}
Whip[3]: => r2c8<>2
2r2c8 - 5r2{r2c8=r2c6} - 1r2{r2c6=r2c9} - 6r2{r2c9=.}
Whip[3]: => r9c8<>9
9r9c8 - r1c8{n9=n5} - r2c8{n5=n6} - r4c8{n6=.}
Braid[3]: => r3c1<>2
2r3c1 - 2b4{r5c1=r4c2} - 2c8{r3c8=r9c8} - 2c5{r9c5=.}
Hidden Single: 2 in c1 => r5c1=2
Whip[1]: => r6c5<>5
5r6c5 - 5r5{r5c5=.}
Naked Single: r6c5=3
Whip[2]: => r5c5<>6
6r5c5 - r4c5{n6=n2} - r9c5{n2=.}
Whip[3]: => r3c2<>4
4r3c2 - r3c9{n4=n8} - r2c7{n8=n2} - 2r3{r3c8=.}
Whip[3]: => r5c7<>9
9r5c7 - r5c3{n9=n1} - 1b7{r8c3=r9c1} - 9r9{r9c1=.}
Whip[2]: => r1c7<>4
4r1c7 - r5c7{n4=n1} - r6c7{n1=.}
Whip[1]: => r4c9<>4
4r4c9 - 4c7{r5c7=.}
Braid[3]: => r7c8<>1
1r7c8 - r9c8{n1=n2} - 1b8{r7c5=r8c6} - 2r8{r8c6=.}
Whip[1]: => r8c6<>1
1r8c6 - 1r7{r7c5=.}
Whip[2]: => r8c3<>3
3r8c3 - r8c6{n3=n2} - r8c7{n2=.}
Whip[2]: => r8c9<>3
3r8c9 - r8c6{n3=n2} - r8c7{n2=.}
Whip[2]: => r3c8<>8
8r3c8 - r6c8{n8=n7} - r7c8{n7=.}
Whip[2]: => r9c1<>8
8r9c1 - 8r3{r3c1=r3c9} - 8c7{r1c7=.}
Whip[2]: => r3c1<>9
9r3c1 - 4r3{r3c1=r3c9} - 8r3{r3c9=.}
Whip[1]: => r8c3<>9
9r8c3 - 9c1{r7c1=.}
Whip[3]: => r2c3<>8
8r2c3 - 8b7{r9c3=r7c1} - 8c8{r7c8=r6c8} - 8c4{r6c4=.}
Whip[2]: => r1c3<>7
7r1c3 - 4b1{r1c3=r3c1} - 8b1{r3c1=.}
stte

SHC's path
Code: Select all
braid[28]: r1n7{c5 c3}- r5n7{c5 c9}- r8n7{c9 c2}- r8n5{c2 c1}- r6n5{c1 c2}- r6n3{c2 c4}- r8n6{c1 c4}- r5c4{n6 n4}- r5n6{c4 c5}- r5n5{c5 c6}- r5n2{c6 c1}- b5n8{r
6c4 r4c6}- r1c6{n8 n3}- r2c6{n8 n1}- r3c5{n1 n9}- r3c4{n9 n8}- r3c1{n8 n4}- r6c1{n4 n1}- r5c3{n1 n9}- r2c3{n9 n8}- r3n3{c4 c9}- r6n4{c1 c7}- r1n4{c7 c9}- c9n8{r
1 r7}- c9n1{r7 r8}- r8c3{n1 n3}- r7n1{c9 c5}- r7n3{c5 .} => -7r6c5
braid[10]: c5n7{r1 r5}- c5n5{r5 r6}- r5n5{c5 c1}- r5n2{c1 c6}- c1n2{r5 r3}- c5n2{r5 r9}- c5n6{r9 r4}- c8n2{r9 r2}- c8n5{r2 r1}- c8n6{r1 .} => -9r1c5
braid[7]: r6c5{n3 n5}- r6c2{n5 n4}- r5n5{c5 c1}- c1n2{r5 r3}- r3n4{c1 c9}- r4n4{c9 c6}- b5n8{r4c6 .} => -3r6c4
braid[4]: r3n3{c5 c9}- r6n3{c5 c2}- r4n3{c2 c6}- r7n3{c6 .} => -3r1c5
braid[5]: r6c5{n3 n5}- b2n1{r3c5 r2c6}- c6n5{r2 r1}- c6n8{r1 r4}- b5n3{r4c6 .} => -3r3c5
braid[6]: r3c5{n1 n9}- r7c5{n9 n3}- r6c5{n3 n5}- r7c6{n3 n4}- r5c6{n4 n2}- r8c6{n2 .} => -1r9c5
braid[13]: r6c5{n3 n5}- r5n5{c5 c1}- c1n2{r5 r3}- b5n3{r6c5 r4c6}- b5n8{r4c6 r6c4}- r6n7{c4 c8}- b8n2{r9c5 r8c6}- r5c6{n2 n4}- r7c6{n4 n1}- r7c5{n1 n9}- r7c8{n9
 n8}- r3n8{c8 c9}- r4n8{c9 .} => -3r9c5
braid[13]: r3n3{c4 c9}- r7n3{c9 c2}- r8n3{c2 c7}- r8n2{c7 c6}- b8n4{r9c4 r7c6}- c6n1{r7 r2}- r3c5{n1 n9}- r3c4{n9 n8}- r2c4{n8 n7}- r9c5{n9 n6}- c2n7{r2 r8}- r8
n5{c2 c1}- r8n6{c1 .} => -3r9c4
braid[11]: r2n5{c8 c6}- r1c5{n5 n7}- r2c4{n7 n8}- r1c6{n8 n3}- r2c3{n8 n7}- r3n3{c4 c9}- c4n3{r3 r8}- r7n3{c5 c2}- c2n7{r7 r8}- r8n5{c2 c1}- r8n6{c1 .} => -9r2c
8
braid[18]: r6c5{n3 n5}- r5n5{c5 c1}- r6n3{c5 c2}- c1n2{r5 r3}- c2n2{r3 r4}- r4c5{n2 n6}- r5n6{c5 c9}- c5n3{r4 r7}- c5n1{r7 r3}- c5n9{r3 r9}- r8c4{n9 n6}- r9c4{n
6 n4}- r7c6{n4 n1}- r9c2{n4 n6}- r2n6{c2 c8}- c8n2{r2 r9}- c8n1{r9 r6}- b6n7{r6c8 .} => -3r4c6
Box/line: 3b5c5 =>  -3r7c5
braid[2]: r3c5{n9 n1}- r7c5{n1 .} => -9r9c5
braid[9]: r9c5{n2 n6}- r4c5{n6 n3}- r6c5{n3 n5}- c2n5{r6 r8}- c2n6{r8 r2}- c2n7{r2 r7}- r8n7{c2 c9}- r5n7{c9 c4}- c4n6{r5 .} => -2r5c5
braid[8]: r5n2{c1 c6}- r5n5{c6 c5}- c1n2{r5 r3}- c5n2{r4 r9}- c5n6{r9 r4}- c8n2{r9 r2}- c8n5{r2 r1}- c8n6{r1 .} => -9r5c1
braid[11]: c5n9{r7 r3}- c1n9{r3 r1}- b1n6{r1c1 r2c2}- c2n7{r2 r8}- r8n5{c2 c1}- r8n6{c1 c4}- r9c5{n6 n2}- r8n2{c6 c7}- r2n2{c7 c8}- r2n5{c8 c6}- b2n1{r2c6 .} =>
 -9r7c2
braid[8]: r5n2{c1 c6}- r5n5{c6 c5}- c1n2{r5 r3}- c5n2{r4 r9}- c5n6{r9 r4}- c8n2{r9 r2}- c8n5{r2 r1}- c8n6{r1 .} => -4r5c1
braid[16]: r9c5{n6 n2}- r8n2{c6 c7}- r8n6{c1 c4}- c2n6{r8 r2}- r2n2{c2 c8}- r2n5{c8 c6}- r1c5{n5 n7}- r1n5{c5 c8}- r1n6{c8 c9}- r2n7{c4 c3}- r5n6{c9 c5}- r5n5{c
5 c1}- c1n2{r5 r3}- c4n3{r8 r3}- r1c6{n3 n8}- b1n8{r1c1 .} => -6r9c1
braid[12]: r3n4{c1 c9}- r3n3{c9 c4}- c1n6{r1 r8}- r8c4{n6 n9}- c5n9{r7 r3}- r3c2{n9 n2}- c1n2{r3 r5}- c1n5{r5 r6}- r6c5{n5 n3}- r6c2{n3 n4}- r4n4{c2 c6}- r7n4{c
6 .} => -4r1c1
braid[8]: r5n2{c1 c6}- r5n5{c6 c5}- c1n2{r5 r3}- c5n2{r4 r9}- c5n6{r9 r4}- c8n2{r9 r2}- c8n5{r2 r1}- c8n6{r1 .} => -1r5c1
braid[15]: r5n1{c7 c3}- r6n7{c8 c4}- r5n7{c4 c9}- r5n9{c9 c7}- r6n8{c4 c7}- c5n7{r5 r1}- c7n4{r6 r1}- c8n7{r6 r7}- c9n4{r1 r4}- c3n4{r4 r9}- r7c2{n4 n3}- r6n3{c
2 c5}- c4n4{r9 r5}- r5n6{c4 c5}- c5n5{r5 .} => -1r6c8
braid[11]: r6c8{n8 n7}- r2n5{c8 c6}- r1c5{n5 n7}- r1n5{c5 c8}- r5n7{c5 c4}- c8n6{r1 r4}- r5n6{c9 c5}- r9c5{n6 n2}- r5n5{c5 c1}- c1n2{r5 r3}- c8n2{r3 .} => -8r2c
8
braid[13]: r2n6{c8 c2}- c1n6{r1 r8}- r8n5{c1 c2}- c2n7{r8 r7}- r8n7{c2 c9}- c8n5{r1 r2}- r2n2{c8 c7}- r8n2{c7 c6}- r5n2{c6 c1}- c1n5{r5 r6}- r6n1{c1 c7}- r5n1{c
7 c3}- r8n1{c3 .} => -6r1c8
braid[10]: r7c5{n9 n1}- c6n1{r7 r2}- r2n5{c6 c8}- r1c8{n5 n8}- r6c8{n8 n7}- c6n8{r1 r4}- r6c4{n8 n4}- c6n4{r4 r7}- r7c1{n4 n8}- c9n8{r7 .} => -9r7c8
braid[8]: r6c8{n8 n7}- r7c8{n7 n1}- c5n1{r7 r3}- c8n5{r1 r2}- r2c6{n5 n8}- r3n8{c4 c1}- r4n8{c6 c9}- r7n8{c9 .} => -8r1c8
braid[11]: r1c8{n9 n5}- r1c5{n5 n7}- r2c4{n7 n8}- r1c6{n8 n3}- r2c3{n8 n7}- r3n3{c4 c9}- r7n3{c9 c2}- c2n7{r7 r8}- r8n5{c2 c1}- r8n6{c1 c4}- c4n3{r8 .} => -9r2c
7
braid[11]: r1c8{n9 n5}- r1c5{n5 n7}- r2c4{n7 n8}- r1c6{n8 n3}- r2c3{n8 n7}- r3n3{c4 c9}- r7n3{c9 c2}- c2n7{r7 r8}- r8n5{c2 c1}- r8n6{c1 c4}- c4n3{r8 .} => -9r2c
9
braid[8]: r2n9{c2 c4}- c1n6{r1 r8}- r8c4{n6 n3}- r3n3{c4 c9}- r7n3{c9 c2}- r8n5{c1 c2}- c2n6{r8 r2}- c2n7{r2 .} => -9r1c1
braid[10]: r1c8{n9 n5}- r2n5{c8 c6}- b4n9{r4c3 r4c2}- b4n2{r4c2 r5c1}- r5c6{n2 n4}- r5c3{n4 n1}- r6n1{c1 c7}- c4n4{r5 r9}- c3n4{r9 r4}- r6n4{c1 .} => -9r1c3
Box/line: 9r1b3 =>  -9r3c8 -9r3c9
braid[10]: r6c8{n8 n7}- r7c8{n7 n1}- r3c8{n1 n2}- r7n8{c8 c1}- c1n2{r3 r5}- b8n1{r7c5 r8c6}- c6n2{r8 r4}- r4n8{c6 c9}- r3n8{c9 c4}- r6n8{c4 .} => -8r9c8
braid[10]: r6n1{c1 c7}- r5n1{c7 c3}- r9n1{c3 c8}- r8n1{c7 c6}- r8n2{c6 c7}- r2c7{n2 n8}- r2c6{n8 n5}- r1n5{c6 c8}- c8n9{r1 r4}- r5n9{c7 .} => -1r7c1
braid[12]: c1n9{r9 r3}- r3c5{n9 n1}- c2n9{r3 r4}- c8n9{r4 r1}- c8n5{r1 r2}- r2c6{n5 n8}- r3c4{n8 n3}- c3n8{r2 r1}- c8n6{r2 r4}- r4n8{c8 c9}- r3c9{n8 n4}- r1n4{c
9 .} => -9r9c3
braid[13]: r8n5{c2 c1}- r8n6{c1 c4}- r9c5{n6 n2}- c1n9{r8 r3}- c2n5{r8 r6}- r6c5{n5 n3}- r4c5{n3 n6}- c4n3{r8 r3}- c8n6{r4 r2}- c8n2{r2 r3}- r3n8{c8 c9}- r2c7{n
8 n1}- r2c9{n1 .} => -9r8c2
braid[14]: r2n5{c8 c6}- r1n5{c6 c8}- r3n1{c8 c5}- r7c5{n1 n9}- c8n6{r2 r4}- c8n9{r4 r9}- c8n2{r9 r3}- c1n2{r3 r5}- r5n5{c1 c5}- c5n6{r5 r9}- r8c4{n6 n3}- r3n3{c
4 c9}- r9n2{c5 c7}- c7n3{r9 .} => -1r2c8
braid[2]: c5n1{r7 r3}- c8n1{r3 .} => -1r7c9
braid[14]: r6n1{c1 c7}- r8n5{c1 c2}- b7n6{r8c2 r9c2}- r9c5{n6 n2}- r8c6{n2 n3}- r8n2{c6 c7}- r2c7{n2 n8}- c4n3{r8 r3}- r3n8{c4 c1}- r9n8{c1 c3}- b7n3{r9c3 r7c2}
- c2n7{r7 r2}- r2c3{n7 n9}- r2c4{n9 .} => -1r8c1
braid[18]: r2n5{c8 c6}- r1c5{n5 n7}- c8n6{r2 r4}- b2n1{r2c6 r3c5}- r3c8{n1 n8}- r2c7{n8 n1}- r6c8{n8 n7}- r7c8{n7 n1}- r6n1{c7 c1}- r9n1{c1 c3}- r8n1{c3 c6}- b8
n2{r8c6 r9c5}- r4c5{n2 n3}- c3n3{r4 r8}- c3n7{r8 r2}- r2n8{c3 c4}- r1c6{n8 n3}- c4n3{r3 .} => -2r2c8
braid[3]: r2n2{c2 c7}- r5n2{c1 c6}- r8n2{c6 .} => -2r3c1
Single(s): 2r5c1
Box/line: 5r5b5 =>  -5r6c5
Single(s): 3r6c5
braid[2]: r4c5{n6 n2}- r9c5{n2 .} => -6r5c5
braid[4]: c8n2{r3 r9}- r8n2{c7 c6}- c8n1{r9 r7}- b8n1{r7c5 .} => -8r3c8
braid[5]: r5n6{c4 c9}- c8n6{r4 r2}- r2n5{c8 c6}- r5c6{n5 n4}- c4n4{r5 .} => -6r9c4
braid[4]: r5c6{n4 n5}- r2n5{c6 c8}- r5n6{c4 c9}- c8n6{r4 .} => -4r5c4
braid[7]: r6c2{n5 n4}- c4n4{r6 r9}- c3n4{r9 r1}- r1n7{c3 c5}- r5c5{n7 n5}- r5c6{n5 n4}- c7n4{r5 .} => -5r6c1
Single(s): 5r6c2, 5r8c1, 6r1c1
braid[7]: r6c1{n1 n4}- c4n4{r6 r9}- c3n4{r9 r1}- r1n7{c3 c5}- r5c5{n7 n5}- r5c6{n5 n4}- c7n4{r5 .} => -1r5c3
Single(s): 1r6c1
braid[8]: r1n7{c3 c5}- r5c5{n7 n5}- r5c6{n5 n4}- r5c3{n4 n9}- r2n2{c2 c7}- r3c8{n2 n1}- r3c5{n1 n9}- r2n9{c4 .} => -7r2c2
Box/line: 7c2b7 =>  -7r8c3
braid[4]: r3n3{c4 c9}- r7n3{c9 c2}- r8n6{c4 c2}- c2n7{r8 .} => -3r8c4
Single(s): 3r3c4
braid[3]: r5c6{n4 n5}- r1c6{n5 n8}- c4n8{r2 .} => -4r6c4
Single(s): 4r6c7, 4r9c4
braid[2]: r3n8{c1 c9}- c7n8{r1 .} => -8r9c1
Single(s): 9r9c1
braid[2]: r3c8{n1 n2}- r9c8{n2 .} => -1r7c8
Box/line: 1r7b8 =>  -1r8c6
braid[2]: r6c8{n8 n7}- r7c8{n7 .} => -8r4c8
braid[3]: r8c6{n3 n2}- r9c2{n3 n6}- r9c5{n6 .} => -3r8c3
Single(s): 1r8c3
braid[3]: r8c6{n3 n2}- r9c2{n3 n6}- r9c5{n6 .} => -3r8c2
braid[4]: r8c6{n3 n2}- r8c7{n2 n9}- r8c4{n9 n6}- r9c5{n6 .} => -3r8c9
braid[2]: r4n8{c9 c6}- c4n8{r6 .} => -8r2c9
braid[4]: r2c9{n6 n1}- r4n8{c9 c6}- r1c6{n8 n5}- r2c6{n5 .} => -6r4c9
braid[3]: r6c8{n7 n8}- r4c9{n8 n9}- r8c9{n9 .} => -7r7c8
Single(s): 8r7c8, 7r6c8, 8r6c4, 4r7c1, 8r3c1, 8r4c9, 8r9c3, 3r4c3
braid[2]: r2c3{n9 n7}- r2c4{n7 .} => -9r2c2
Single(s): 2r2c2, 2r3c8, 1r9c8
braid[3]: r9c7{n3 n2}- r8n2{c7 c6}- r8n3{c6 .} => -3r1c7
stte

Doesn't SHC start searching from the shortest Braid at every step? Is this intentional or a bug?
yzfwsf
 
Posts: 946
Joined: 16 April 2019

Re: The Sudoku Hierarchical Classifier (SHC)

Postby denis_berthier » Sat Aug 30, 2025 12:11 pm

.
I don't see any problem. SHC computes the B rating, 28. Does your solver find anything different?

SudoRules applies the simplest-first strategy at each step. SHC doesn't have such constraints.
.
denis_berthier
2010 Supporter
 
Posts: 4572
Joined: 19 June 2007
Location: Paris

Re: The Sudoku Hierarchical Classifier (SHC)

Postby m_b_metcalf » Sat Aug 30, 2025 12:50 pm

Note: this puzzle is from Puzzles Game 390:
Code: Select all
.1.2.....3...4......5..67..7..1..5...8.....3...6..9..2..25..6......8..4......7..5 #  14    9.6/9.6/9.6 - 1to9only


Mike
User avatar
m_b_metcalf
2017 Supporter
 
Posts: 13664
Joined: 15 May 2006
Location: Berlin

Re: The Sudoku Hierarchical Classifier (SHC)

Postby denis_berthier » Sat Aug 30, 2025 1:25 pm

.
Hi Mike
Thanks for the reference.

There was a time when puzzles in T&E(1) with such a high B rating were a rarity. I've recently defined a procedure to produce many in a systematic way from T&E(3) or T&E(2) ones: http://forum.enjoysudoku.com/1-brt-expansion-paths-within-t-e-n-and-beyond-t45647-98.html

It often happens for such extreme cases that a single braid downgrades the puzzle to a much lower B rating - as appears here.
.
denis_berthier
2010 Supporter
 
Posts: 4572
Joined: 19 June 2007
Location: Paris

Previous

Return to Software