JPF wrote:Earlier in this thread, Ruud made the same comment, that I still have in mind :Ruud wrote:Have you considered that simultaneous permutation of rows 1-3 & 7-9 and columns 1-3 & 7-9 allow you to reduce the number of patterns that you need to find?
Actually there are (a very few) more equivalences than that available..
The simultaneous permutations as outlined above gives 6 operations that all have the property that the number of orbits of each size are preserved in the 6 equivalent patterns. So if the original has 1 orbits of length 8, 2 of length 4 and 1 of length 1, then so will all the 5 others.
But this is not necessary.... in some circumstances it is possible to use a different type of operation that "splits" an orbit of length 8 into two orbits of length 4 or "merges" two of length 4 to give one of length 8, yet still gives an equivalent puzzle.
Here is an example:
Take this pattern: 16-8-4-0-0
- Code: Select all
x.. ... ..x
.x. ... .x.
..x ... x..
... ... ...
... ... ...
... ... ...
..x ... x..
.x. ... .x.
x.. ... ..x
If we apply the permutation C2 <-> C3 and C7 <-> C8 then we get 16-4-0-0-0
- Code: Select all
x.. ... ..x
..x ... x..
.x. ... .x.
... ... ...
... ... ...
... ... ...
.x. ... .x.
..x ... x..
x.. ... ..x
In fact, we end up with 4 equivalent configurations
16-8-4-0-0 16-4-0-0-0 8-0-4-0-0 4-8-0-0-0
Anyway, here is a list of all the 20-clue S-equivalence classes.. one per line. Of course, some of these can immediately be seen to be impossible patterns for a valid puzzle, so there are slightly fewer again to check.
- Code: Select all
20: 16-13-0-0-0 16-4-5-0-0 25-0-4-0-0 21-8-0-0-0 8-9-4-0-0 4-8-5-0-0
20: 16-12-4-0-0 24-8-4-0-0 20-8-4-0-0
20: 16-12-1-0-0 16-5-4-0-0 24-1-4-0-0 20-8-1-0-0 9-8-4-0-0 5-8-4-0-0
20: 16-12-0-2-0 16-4-4-2-0 24-0-4-2-0 20-8-0-2-0 8-8-4-2-0 4-8-4-2-0
20: 16-12-0-1-0 16-4-4-1-0 24-0-4-1-0 20-8-0-1-0 8-8-4-1-0 4-8-4-1-0
20: 16-11-0-0-0 16-0-7-0-0 19-8-0-0-0 19-0-4-0-0 0-11-4-0-0 0-8-7-0-0
20: 16-10-4-0-0 16-8-6-0-0 18-8-4-0-0 18-4-0-0-0 8-0-6-0-0 4-10-0-0-0
20: 16-10-1-0-0 16-1-6-0-0 18-8-1-0-0 18-1-4-0-0 1-10-4-0-0 1-8-6-0-0
20: 16-10-0-2-0 16-0-6-2-0 18-8-0-2-0 18-0-4-2-0 0-10-4-2-0 0-8-6-2-0
20: 16-10-0-1-0 16-0-6-1-0 18-8-0-1-0 18-0-4-1-0 0-10-4-1-0 0-8-6-1-0
20: 16-9-5-0-0 16-5-1-0-0 17-9-4-0-0 17-8-5-0-0 9-1-4-0-0 5-8-1-0-0
20: 16-9-4-2-0 16-8-5-2-0 17-8-4-2-0 17-4-0-2-0 8-0-5-2-0 4-9-0-2-0
20: 16-9-4-1-0 16-8-5-1-0 17-8-4-1-0 17-4-0-1-0 8-0-5-1-0 4-9-0-1-0
20: 16-9-2-0-0 16-2-5-0-0 17-8-2-0-0 17-2-4-0-0 2-9-4-0-0 2-8-5-0-0
20: 16-9-1-2-0 16-1-5-2-0 17-8-1-2-0 17-1-4-2-0 1-9-4-2-0 1-8-5-2-0
20: 16-9-1-1-0 16-1-5-1-0 17-8-1-1-0 17-1-4-1-0 1-9-4-1-0 1-8-5-1-0
20: 16-9-0-3-0 16-0-5-3-0 17-8-0-3-0 17-0-4-3-0 0-9-4-3-0 0-8-5-3-0
20: 16-8-4-3-0 16-4-0-3-0 8-0-4-3-0 4-8-0-3-0
20: 16-8-3-0-0 16-3-4-0-0 8-0-3-0-0 4-3-0-0-0 3-8-4-0-0 3-4-0-0-0
20: 16-8-2-2-0 16-2-4-2-0 8-0-2-2-0 4-2-0-2-0 2-8-4-2-0 2-4-0-2-0
20: 16-8-2-1-0 16-2-4-1-0 8-0-2-1-0 4-2-0-1-0 2-8-4-1-0 2-4-0-1-0
20: 16-8-1-3-0 16-1-4-3-0 8-0-1-3-0 4-1-0-3-0 1-8-4-3-0 1-4-0-3-0
20: 16-6-0-0-0 16-4-2-0-0 8-2-4-0-0 10-0-4-0-0 4-8-2-0-0 6-8-0-0-0
20: 16-5-0-2-0 16-4-1-2-0 8-1-4-2-0 9-0-4-2-0 4-8-1-2-0 5-8-0-2-0
20: 16-5-0-1-0 16-4-1-1-0 8-1-4-1-0 9-0-4-1-0 4-8-1-1-0 5-8-0-1-0
20: 24-9-0-0-0 25-8-0-0-0 20-0-5-0-0 21-0-4-0-0 0-13-4-0-0 0-12-5-0-0
20: 24-8-1-0-0 20-1-4-0-0 1-12-4-0-0
20: 24-8-0-2-0 20-0-4-2-0 0-12-4-2-0
20: 24-8-0-1-0 20-0-4-1-0 0-12-4-1-0
20: 24-4-0-0-0 20-4-0-0-0 8-4-4-0-0 12-8-0-0-0 12-0-4-0-0 4-12-0-0-0
20: 24-2-0-0-0 20-0-2-0-0 0-12-2-0-0 0-6-4-0-0 10-8-0-0-0 6-0-4-0-0
20: 24-1-1-0-0 20-1-1-0-0 9-8-1-0-0 5-1-4-0-0 1-12-1-0-0 1-5-4-0-0
20: 24-1-0-2-0 20-0-1-2-0 0-12-1-2-0 0-5-4-2-0 9-8-0-2-0 5-0-4-2-0
20: 24-1-0-1-0 20-0-1-1-0 0-12-1-1-0 0-5-4-1-0 9-8-0-1-0 5-0-4-1-0
20: 24-0-5-0-0 20-9-0-0-0 17-12-0-0-0 17-4-4-0-0 8-8-5-0-0 4-9-4-0-0
20: 24-0-2-0-0 20-2-0-0-0 8-8-2-0-0 4-2-4-0-0 2-12-0-0-0 2-4-4-0-0
20: 24-0-1-2-0 20-1-0-2-0 8-8-1-2-0 4-1-4-2-0 1-12-0-2-0 1-4-4-2-0
20: 24-0-1-1-0 20-1-0-1-0 8-8-1-1-0 4-1-4-1-0 1-12-0-1-0 1-4-4-1-0
20: 28-0-0-0-0 8-12-0-0-0 4-4-4-0-0
20: 24-0-0-3-0 20-0-0-3-0 0-12-0-3-0 0-4-4-3-0 8-8-0-3-0 4-0-4-3-0
20: 26-0-0-0-0 22-0-0-0-0 0-14-0-0-0 0-4-6-0-0 8-10-0-0-0 4-0-6-0-0
20: 25-1-0-0-0 21-0-1-0-0 0-13-1-0-0 0-5-5-0-0 9-9-0-0-0 5-0-5-0-0
20: 25-0-1-0-0 21-1-0-0-0 8-9-1-0-0 4-1-5-0-0 1-13-0-0-0 1-4-5-0-0
20: 25-0-0-2-0 21-0-0-2-0 0-13-0-2-0 0-4-5-2-0 8-9-0-2-0 4-0-5-2-0
20: 25-0-0-1-0 21-0-0-1-0 0-13-0-1-0 0-4-5-1-0 8-9-0-1-0 4-0-5-1-0
20: 16-3-1-0-0 16-1-3-0-0 3-8-1-0-0 3-1-4-0-0 1-8-3-0-0 1-3-4-0-0
20: 16-3-0-2-0 16-0-3-2-0 0-8-3-2-0 0-3-4-2-0 3-8-0-2-0 3-0-4-2-0
20: 16-3-0-1-0 16-0-3-1-0 0-8-3-1-0 0-3-4-1-0 3-8-0-1-0 3-0-4-1-0
20: 16-2-2-0-0 2-8-2-0-0 2-2-4-0-0
20: 16-2-1-2-0 16-1-2-2-0 2-8-1-2-0 2-1-4-2-0 1-8-2-2-0 1-2-4-2-0
20: 16-2-1-1-0 16-1-2-1-0 2-8-1-1-0 2-1-4-1-0 1-8-2-1-0 1-2-4-1-0
20: 16-2-0-3-0 16-0-2-3-0 0-8-2-3-0 0-2-4-3-0 2-8-0-3-0 2-0-4-3-0
20: 16-1-1-3-0 1-8-1-3-0 1-1-4-3-0
20: 18-9-0-0-0 18-0-5-0-0 17-10-0-0-0 17-0-6-0-0 0-10-5-0-0 0-9-6-0-0
20: 18-2-0-0-0 18-0-2-0-0 0-10-2-0-0 0-2-6-0-0 2-10-0-0-0 2-0-6-0-0
20: 18-1-1-0-0 1-10-1-0-0 1-1-6-0-0
20: 18-1-0-2-0 18-0-1-2-0 0-10-1-2-0 0-1-6-2-0 1-10-0-2-0 1-0-6-2-0
20: 18-1-0-1-0 18-0-1-1-0 0-10-1-1-0 0-1-6-1-0 1-10-0-1-0 1-0-6-1-0
20: 18-0-0-3-0 0-10-0-3-0 0-0-6-3-0
20: 19-1-0-0-0 19-0-1-0-0 0-11-1-0-0 0-1-7-0-0 1-11-0-0-0 1-0-7-0-0
20: 19-0-0-2-0 0-11-0-2-0 0-0-7-2-0
20: 19-0-0-1-0 0-11-0-1-0 0-0-7-1-0
20: 17-9-1-0-0 17-1-5-0-0 9-1-1-0-0 5-1-1-0-0 1-9-5-0-0 1-5-1-0-0
20: 17-9-0-2-0 17-0-5-2-0 0-9-5-2-0 0-5-1-2-0 9-1-0-2-0 5-0-1-2-0
20: 17-9-0-1-0 17-0-5-1-0 0-9-5-1-0 0-5-1-1-0 9-1-0-1-0 5-0-1-1-0
20: 17-5-0-0-0 17-4-1-0-0 8-1-5-0-0 9-0-5-0-0 4-9-1-0-0 5-9-0-0-0
20: 17-3-0-0-0 17-0-3-0-0 0-9-3-0-0 0-3-5-0-0 3-9-0-0-0 3-0-5-0-0
20: 17-2-1-0-0 17-1-2-0-0 2-9-1-0-0 2-1-5-0-0 1-9-2-0-0 1-2-5-0-0
20: 17-2-0-2-0 17-0-2-2-0 0-9-2-2-0 0-2-5-2-0 2-9-0-2-0 2-0-5-2-0
20: 17-2-0-1-0 17-0-2-1-0 0-9-2-1-0 0-2-5-1-0 2-9-0-1-0 2-0-5-1-0
20: 17-1-1-2-0 1-9-1-2-0 1-1-5-2-0
20: 17-1-1-1-0 1-9-1-1-0 1-1-5-1-0
20: 17-1-0-3-0 17-0-1-3-0 0-9-1-3-0 0-1-5-3-0 1-9-0-3-0 1-0-5-3-0
20: 0-7-0-0-0 0-4-3-0-0 8-3-0-0-0 11-0-0-0-0 4-0-3-0-0 7-0-0-0-0
20: 0-6-1-0-0 0-5-2-0-0 10-1-0-0-0 9-2-0-0-0 6-0-1-0-0 5-0-2-0-0
20: 0-6-0-2-0 0-4-2-2-0 8-2-0-2-0 10-0-0-2-0 4-0-2-2-0 6-0-0-2-0
20: 0-6-0-1-0 0-4-2-1-0 8-2-0-1-0 10-0-0-1-0 4-0-2-1-0 6-0-0-1-0
20: 0-5-0-3-0 0-4-1-3-0 8-1-0-3-0 9-0-0-3-0 4-0-1-3-0 5-0-0-3-0
20: 8-5-0-0-0 13-0-0-0-0 4-4-1-0-0
20: 8-4-1-0-0 12-1-0-0-0 12-0-1-0-0 9-4-0-0-0 4-5-0-0-0 5-4-0-0-0
20: 8-4-0-2-0 12-0-0-2-0 4-4-0-2-0
20: 8-4-0-1-0 12-0-0-1-0 4-4-0-1-0
20: 8-2-1-0-0 10-0-1-0-0 4-1-2-0-0 6-1-0-0-0 1-6-0-0-0 1-4-2-0-0
20: 8-1-2-0-0 9-0-2-0-0 4-2-1-0-0 5-2-0-0-0 2-5-0-0-0 2-4-1-0-0
20: 8-1-1-2-0 9-0-1-2-0 4-1-1-2-0 5-1-0-2-0 1-5-0-2-0 1-4-1-2-0
20: 8-1-1-1-0 9-0-1-1-0 4-1-1-1-0 5-1-0-1-0 1-5-0-1-0 1-4-1-1-0
20: 0-3-2-0-0 0-2-3-0-0 2-3-0-0-0 2-0-3-0-0 3-2-0-0-0 3-0-2-0-0
20: 0-3-1-2-0 0-1-3-2-0 3-1-0-2-0 3-0-1-2-0 1-3-0-2-0 1-0-3-2-0
20: 0-3-1-1-0 0-1-3-1-0 3-1-0-1-0 3-0-1-1-0 1-3-0-1-0 1-0-3-1-0
20: 0-3-0-3-0 0-0-3-3-0 3-0-0-3-0
20: 0-2-2-2-0 2-2-0-2-0 2-0-2-2-0
20: 0-2-2-1-0 2-2-0-1-0 2-0-2-1-0
20: 0-2-1-3-0 0-1-2-3-0 2-1-0-3-0 2-0-1-3-0 1-2-0-3-0 1-0-2-3-0
20: 2-2-1-0-0 2-1-2-0-0 1-2-2-0-0
20: 2-1-1-2-0 1-2-1-2-0 1-1-2-2-0
20: 2-1-1-1-0 1-2-1-1-0 1-1-2-1-0
20: 3-1-1-0-0 1-3-1-0-0 1-1-3-0-0
20: 1-1-1-3-0
Cheers
Gordon