projects skfr-fast-rating and sudoku-multi-purpose-program

Programs which generate, solve, and analyze Sudoku puzzles

Re: projects skfr-fast-rating and sudoku-multi-purpose-progr

Postby champagne » Wed Jul 08, 2026 9:59 am

Hi "yzfwsf",

all my shared code is in repositories located here

for sure I intend to open in due time a new repository for the DLL to build.

So far, I did not see enough external interest to do it, so I continue to draft the code in my last solver.
If you want to work on the clone in the range Er 1.0 to 7.5, I can change the priorities and setup a first version of the repository when this is ready.
This would give you the opportunity to see what has to be changed to use it in Sukakus rating.

The area 6.5 to 7.5 has a common property. All ratings are based on AIC (chains or cycles). I try to have a similar way to find them in all cases.
I am first checking each SE level, but the code is designed to work faster (as somehow in skfr) when a bigger ER has been seen.
champagne
2017 Supporter
 
Posts: 7943
Joined: 02 August 2007
Location: France Brittany

Y loops Y chains

Postby champagne » Fri Jul 24, 2026 6:41 am

Sudoku Explainer has one thing I intend to change in the area of AICs.

For X AICs and XY AICs, SE looks for loops and chains.
For Y AICs, SE looks only for loops, but cleans all side effects similar to a chain elimination.

Here is an example

Code: Select all
|1  8   5  |2   9  7  |3  6  4 |
|6  2   7  |8   4  3  |9  5  1 |
|9  3   4  |15  15*6  |2  8  7 |
+++++++++++++++++++++++++++++++
|2  16  16*|45  7  45 |8  9  3 |
|3  5   8  |9   6  1  |4  7  2 |
|47 47  9  |3   8  2  |5  1  6 |
+++++++++++++++++++++++++++++++
|8  46  36*|7   35*45 |1  2  9 |
|47 9   13*|146 2  8  |67 34*5 |
|5  147 2  |146 13*9  |67 34*8 |


To clean 1r8c4, 19c2 SE uses the loop of the cells r9c5 r9c8 r8c8 r8c3 r4c3 r7c3 r7c5 r3c5 r9c5
8 cells with the indirect effect that ~1r9c5 -> 1r8c3

This is easier and shorter to see using only the first four cells r9c5 r9c8 r8c3 r8c3

~1r9c5=3r9c5 ~3r9c8=4r8c8 ~4r8c8=3r8c8 ~3r8c3=1r8c3

IMO, it makes sense here to apply the same rule for X AICs, Y AICs, XY AICs.

To stay in line with other choices, I’ll apply a 0.1 penalty to chain against loop.

This often will not change the rating, but can lower by 0.1 the new rating, and more (switch form XY chain to Y chain if we have no Y loop) in some cases


I Hope to close this area in the next days.
champagne
2017 Supporter
 
Posts: 7943
Joined: 02 August 2007
Location: France Brittany

Previous

Return to Software