Here is a new, simpler way of finding "one-step" solutions with SudoRules.
One can trivially define a
T-anti-backdoor as a candidate that leads to a solution in T if it is eliminated (where T is a resolution theory with the confluence property).
There's now a simpler possibility in SudoRules, but it's still under testing:
1) Choose the following settings in the config file:
- Code: Select all
(bind ?*Whips[1]* TRUE)
(bind ?*Anti-Backdoors* TRUE)
2) Type in the following command:
- Code: Select all
(find-sudoku-anti-backdoors "..9......8....97...7..6..5..5..4..6.9....38....2.......6..5.17.2....84......1....")
The result is as follows:
- Code: Select all
13 W1-ANTI-BACKDOORS FOUND: (892 388 985 982 182 979 879 968 865 944 843 834 818)
You can now try if one of these W1-anti-backdoors can be eliminated in one step. Launch another instance of CLIPS, load whips and type
- Code: Select all
(init-sudoku-string "..9......8....97...7..6..5..5..4..6.9....38....2.......6..5.17.2....84......1....")
(try-to-eliminate-candidates xxx), where xxx is one of the above W1-anti-backdoors.
Only two of the above anti-backdoors can't be eliminated by a single whip, which means that the following 11 candidates lead to single step solutions in W:
(892 985 982 979 879 968 865 944 843 834 818)