Hi all,
After years, Sudoku Explainer ratings remain the reference despite all drawbacks.
For puzzles builders, the main drawback of Sudoku Explainer is the rating time. (I am speaking of the "serate" version used in the pattern game).
skfr widely discussed in that thread produces ratings several times faster than serate (say 1:100 as an order of magnitude) and the ratings are usually close enough to "serate" to be used as an alternative.
skfr has a multi-thread potential and a dll version has been produced.
I continued to work during the last years on a new design of the code keeping as a target the general lay-out of "serate". I did that within my new version of code in a new repository
skmpp and cousins codeIn that code, I introduced the code published by zhouyundong_2012 see
hereI also changed skfr's design and worked in a mode closer to "serate's" design.
I recently prepared a move to a new version of skfr, but the design as of to-day is not ready for a multi-thread processing nor for a dll generation and has nearly no options in the command line. (and the last levels for nested chains are not yet ready but this is of no use for sk_gsplit)
I have in the repository 2 different programs
sk_serate supposed to be the future base for a new version of skfr
sk_gsplit a pre-processor for puzzles specially designed for the pattern game.
I made a comparison on a lot of 2 million puzzles out of the game 232 and I got the following results:
sk_serate is nearly 5 times faster than skfr (less than 6 hours versus more than 25 hours to rate the entire file)
sk_gsplit is about 2 times faster than sk_serate.the split made by sk_gsplit is the following (chains give only one rating per level in serate):
-puzzles rating below serate ER=62
-puzzles "diamond" with the rating done
-puzzles pearl with the rating done
-puzzles passing the dynamic plus mode
-other puzzles
this is a quite useful tool in the pattern game.
No print is given in these programs, but the same process can be done in skmpp with outputs explaining the path followed
the 2 programs share files starting by the prefix V2 in the repository.
- Code: Select all
V2bitfields a modified version of the same file in skfr
V2sk_tables collecting nearly all tables in use in the program. Most tables are currently created at the start of the program
V2skfrtype short file with maily #define and typedef
V2Solver_step the main file for the process
V2t_128 basically the file supplied by mladen dobrichev for skfr processing 128 bits fields
V2utilities general functions or classes compiled in a separate run
V2ZhouSolver all the code derived from zhouyundong_2012's code
The ratings I got in that run deviate at most by 0.2 from skfr ratings.
I have 7400 such puzzles to check in a triple comparison serate;skfr;sk_rating
The results will come in a separate post