Anti-backdoors
If T is a resolution theory with the confluence property, one can easily define the notion of a T-anti-backdoor: a candidate Z is a T-anti-backdoor if eliminating Z allows to obtain a solution in T.
This concept may be useful for finding "single-step" solutions, as I have illustrated with a puzzle from Mith: http://forum.enjoysudoku.com/post300763.html#p300763
In SudoRules, the way of finding anti-backdoors is very similar to the way of finding backdoors:
1) choose the following settings in the configuration file:
- Code: Select all
(bind ?*T* TRUE)
(bind ?*Anti-Backdoors* TRUE)
Where ?*T* stands for the the resolution theory you have chosen, which will generally be ?*Whips[1]* or ?*Subsets* or nothing is you want the simplest anti-backdoors (i.e. BRT-anti-backdoors).
2) type the folloiwing command
- Code: Select all
(find-sudoku-anti-backdoors ?string)
where ?string is the puzzle of interest, e.g.
- 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....")
In this example, the result is
- Code: Select all
13 W1-ANTI-BACKDOORS FOUND: (892 388 985 982 182 979 879 968 865 944 843 834 818)
For an example of how this can be used to find one-step solutions, see the above-mentioned thread. In this example, 12 of the 13 anti-backdoors give rise to a single-step solution.