blue wrote:It mentioned the fact that when a (17 clue) puzzle goes to the solver, it's almost certain that the puzzle will have two or more solutions.
Since that would mean that the test grid has an unavoidable set that isn't hit by any of the clues, it suggested that it might be a good idea to identify such a set, and somehow feed it back into the algorithm that's generating the puzzles.
When I wrote it, I hadn't taken a detailed look at the (checker16) code.
The idea of forcing another "known" UA set into the list that front end code was dealing with, was not practical (for many reasons).
Hi bkue,
I think that I see your point.
I am working in another direction, but with many question marks.
I started as I already wrote with a limited group of UA's, but with so many problems that I am back to the full set generated in the mac guire process.
To see what this means, I made a preliminary test these days on my travel PC (about 2.5 Ghz) trying in priority to see what was the count of UA's in the solution grids having a known 17 and in other grids?
I got the following count 
column 1 slices of 10 UA's found (390 or more for the last row)
column 2 count for the known 17 (each 17 is first extended to the solution grid, so some solutions are redundant)
column 3 count for a lot of 1957314 (one chunk of my catalog data base with High minlex values)
- Code: Select all
 100      1
 160      1
 170 1
 180      1
 190 10   3
 200 19   9
 210 49   28
 220 94   61
 230 247  115
 240 448  274
 250 735  534
 260 1324 1150
 270 1949 2272
 280 2694 4387
 290 3579 8336
 300 4263 15169
 310 4836 26545
 320 5118 44941
 330 5063 71174
 340 4633 106110
 350 3959 147176
 360 3203 188254
 370 2470 221588
 380 1702 237240
 390 2761 881945
Distributions are very different, but my only first reaction is that a quick filter could ignore all solutions with less than 300 UA's -may be more).
One negative point is that on my small PC, the search of UA's was done at about 30 solution grids per second. 
I have to see 
. first if my code is valid
. if this code can be improved.
Regarding the existence or not of 17 in the grid, I am working on what seems a new idea, partially derived from our experience in the 4+4+27 field.
Intead of starting with one clue per UA, I try one box per UA (with small UA's, this is generally 2 clues in a mini line.) I dont use the max clique, I process UA's startting with the lowest number of cells.
This changes significantly the number of permutations but raises new problems. 
The process has some chances to be efficient if most of the permutations are killed due to the count passing 17 to reach a hint on each UA, what did not come with a reduced set of UA's
Reaching 17 with a grid having several solutions is still easy to handle, but must be a limited count. (due to the cost of the brute force)
The new problem is if the grid at the end has only one solution. Then finding how many clues are needed is requiring several brute force calls.
Still a lot of work on my side to tell if it is a good idea or not.