My CONJECTURE is that that the puzzles that the feed the ED grid will have BACKDOORS of 5 for less asserted singles which will lead to a: singles-to-the end solution. I have already verified that for Easter Monster & Arto Inkala's 2012 puzzle. In Arto's I asserted one cell and it was just simple stuff to the end which includes a couple forcing chains perhaps. Dead EASY! Since I can assert a single with 3 digits in the RCN grid and a puzzle line can be easily trimmed from 84 chars to 64 [I think] I believe on one 80-char line a puzzle (in minlex form of course!) and its few backdoors could be listed one per line.
What I describe below could be easily programmed.
HoDoKu v.2.2.0 (Build 116) is my reference player.
- File-Edit -Appearance/Behavior - check Alternate mouse mode (one click assertion and deletion of candies)
File-Edit-Solver - Uncheck All, then only check the Naked & Hidden subsets, the Locked Candidates. Forcing Chain, Forcing Net
VIew - Solution Path Check
File-Save Configuration File as: *.cfg (somewhere where can find it easlly!
Load up your puzzle up and in HoDoKu: File - Save Puzzle As: *.hsol (just a generic one - will resuse)
File-Modify Givens, File-Play Games will be used reiteratively. If solution shows up in Solution Path, right click on last item and solve to that last point and then just Solve it. Edit-Copy Givens, Edit Copy Values, Edit-Copy Candidates to a text file. Now you have the solved puzzle in both line and grid form. So You One and Done. (If must turn on Brute Force to get a solution, do it for this first step)
Then it is Play Time! Create a Puzzle grid from the Solution grid and perhaps make a simple list of where all the holes in the puzzle are. Turn the Brute Force thing OFF. Then recursively assert the right solution of every unsolved cell, taking notes as you go, noting two things for each cell. Count of the number of initial singles, and then a count of the solved steps until It can't solve anymore.
Searching this annotated list, note if any steps solve the whole puzzle with the simplest patterns. Also note the longest intial singles from each asserted cell. Then recursively modify the givens with the steps with say the longest stream of singles. And play the new game, again looking for the longest stream of singles, etc. After doing that I found on Arto Inkala's 2012 puzzle and Easter Monster, you will accumulate a couple of asserted steps that will then allow the puzzle to be solved with just sinlges or at least just a simple set of methods. This set I call my BACKDOOR.
OK, It has been a long time ago since I built my 4-grid (ala denis_berthier) sudoku player. I used PyCharm community edition IDE. Frankly I found using PyCharm as hard to use as learning Python. But, once you got it to work - Wow! What a tool for refactoring and debugging code! The code base got biG - pun intended perhaps? So I was [thinking?] My tastes has changed somewhat with Sudoku. Much more interested in the ED stuff and creating a database with that - maybe.
So, if I am going to re-learn anyway, how about breaking that up into smaller standalone programs to do just following:
- minlex converter
codec for encoding 81-char lines to 64-char ones & back - encodes the puzzle and its solution in one string
RCN grid to the Bethier grids
Some BACKDOOR stuff - discovered this idea playing around with recursive runs using the HoDoKu app.