I made recently important changes in the solver.
I try here to summarize the situation.
Most of the changes done or to come refer to new things found and described in these threads:
Bi bi patterns in hardest puzzles
http://forum.enjoysudoku.com/viewtopic.php?t=6546More Monster Loops, Structure and Symmetry
http://forum.enjoysudoku.com/viewtopic.php?t=6556AIC’s nets equivalent to forcing nets
http://forum.enjoysudoku.com/viewtopic.php?t=6444Basically what has been done is:
1) Introduction of the bi-bi and Exocet patterns in the process,
2) Limitation of AC2 processed to virus patterns
3) Limitation of AC to 3 cells patterns
4) Direct handling of virus pattern chains
5) Introduction of UR patterns in AIC’s nets
6) Revision of the main clearing process
In fact, the code related to AC2, virus pattern, vicinity analysis, pattern with 3 super candidates has been completely reworked from nil.
2 main targets in those changes:
a) Looking for simpler solutions generally speaking,
b) Getting the best from Exocet patterns.
Results are pretty good, but after so many changes, a full test campaign has to be planned. Working on hardest puzzles, analysis of a print is a heavy task, so the final validation will take time. The easiest part, cleaning all bugs leading to false eliminations, is over,
Points 2) and 3) intend to produce shorter solutions focusing on stuff easily detected by a player. Results are pretty good with the noticeable exception of Golden Nugget and Silver Plate. Without Exocet and with the reduced lot of AC2, these two puzzles could not be solved without use of Allan Barker model.
Including Exocets, all the puzzles where solved without use of Allan Barker model, most often with a remarkable collapse in runtime and print size.(divided by 5 on both parameters for Golden Nugget).
The scan for bi bi patterns remains for the time being an exhaustive scan. Focusing on specific patterns will come later;
UR patterns handling is still far from what “ttt” and others are doing, Only simplest cases are coded;
Limiting the number of AC included in the process forced a complete revision of virus pattern chains handling. SK loop is now searched at level 4 of the process prior to tagging, in a direct processing of Virus pattern chains. Also, in the tagging process, all consequences of virus pattern chains are analyzed (formerly, there was some redundancy with the tagging process done out of all AC2 ). The virus pattern chaining is now a key process.
Vicinity analysis has been as well completely reshaped and extended to Exocet patterns scenario analysis.
Regarding Exocets patterns (at least for the forms already integrated in the process), The split of each super candidate in 2 scenario is now fully operational and again, the maximum has been done to improve the vicinity analysis.
Are missing now the last findings in the linked threads as:
1)Platinum Blonde Exocet specific pattern ,
2)Mini Row pattern found by ronk and Allan Barker,
3)And somehow some new ideas to extract from Ronk and Allan rank 0 SLGs offering a huge number of eliminations.
In that last case, may be the best way is to stick to Allan Barker model, That model is for the time being a kind of escape lane in my solver, mainly because the mix of both logics is not very easy. I will nevertheless study whether there is an equivalent process closer to the main logic in the tagging process;
Another problem to face is handling of huge lots of “hardest” puzzles.
I run thousands of puzzles mainly produced by coloin, but not only, to evaluate the difficulty as seen by the solver.
For the time being, I sort the results using the bloc-notes, which is not performing very well. I must organize the process to have a sorting capability if I want to be in a position to analyze a significant database.
Still a lot to do
champagne