I rewrote my puzzle minlexer to speed it up. For a test file, I randomly scrambled the digits, bands/rows, stacks/columns and randomly transposed each of the 49,158 17C puzzles. It can now minlex this test file in 9 seconds on a 2.80 GHz laptop.
The only SuDoKu-based assumption the routine uses is it assumes no stack permutations are possible past row 4. Otherwise, it will minlex any 9x9 grid containing digits 0 to 9, valid SuDoKu or not (I think). For example, provide no clues and it makes 3,359,232 possible minimum tests and provides a zero array as the minlex form. An example of a valid 20 clues might take 45 tests to identify the minlex. Another example with a full grid set of clues (all 81 cells filled in) the routine minlexes it with 54 tests (this might be faster than my Grid minlexer). The number of tests required varies depending on the particular arrangement of the clues.
I would like to test this routine on a wider set of cases, 18s and larger and covering more patterns. If anyone can provide me with a reference for suitable set of puzzles, I'd appreciate it.
Also, how does the 9 second processing time stack up against fast minlexers?
Also, if anyone knows of a valid puzzle with all zeros in stacks 1 and 2 through row 4, please let me know and I'll remove that assumption.