ronk wrote:Ocean, nice find. Noticed some time ago that you "sequentially normalize" the clues. Do you use a program for this?
Thanks. Glad you liked the "Coral" puzzle.
Yes, I prefer to "sequentially normalize" the clues instead of canonicalize the puzzle based on the solution grid (which does not preserve symmetry, and 'gives away' the solution).
There are four levels. First level: The program reads a puzzle, transforms it by swapping digits, and and writes the "normalized" puzzle. The "transformation rules" are created on the fly, incremented every time a "new" digit occurs. Second level: For a symmetric pattern, try all pattern-preserving operations, and select the smallest possible sequence. Third level: For a symmetric pattern, try all operations that preserve the symmetry type, and select the smallest possible sequence. (Pattern is lost, but symmetry type retained). [Alternatively, select the highest sequence, and thereafter 'level one' normalization.] Fourth level: Try all allowed row/column permutations, and select the smallest sequence. (Pattern lost, symmetry lost). Because I'm "lazy", I did not fully implement all of these. The basic "level one" of course (fast). And "third level for full symmetry" (works ok also for many patterns with less symmetry, but care has to be taken). It is slower than level one by a factor ~200, but the speed might be improved at the cost of more complex code.
ronk wrote:Also curious as to your CPU and its speed. Or do you multitask on several?
Tried to find some info about the machines I use:
* Sun-Blade 1000 (3 years old. 1 CPU)
* Windows millennium (on a 5 year old PC)
* Windows xp (on a 1 year old PC - Pentium CPU, 3 GHz)