in 10-cell list (among 31 patterns): none
in 12-cell list (among 38 patterns): none
in 13-cell list (among 290 patterns): 207 211 217 218 219
in 14-cells list (among 159 patterns): 23 33 36 73 92 112 113
in 15-cells list (among 102 patterns: 11 16 18 30 32 36 38 40 42 45 47 49 51 53 56 57 66 68 69 80 83 85 100 101
in 16-cells list (among 10 patterns): 9 10
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . . ! . . X ! . . X !
! . . . ! X X . ! . X . !
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . X ! . . . ! X X . !
! X X . ! . . X ! . . . !
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . . . ! . . . ! . . . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
........X.....X..X...XX..X.........X..X...XX.XX...X..............................
0 cells free for pattern digits
3 rows with no cell in the pattern
4 blocks with no-cell in the pattern
0 columns with no-cell in the pattern
denis_berthier wrote:.
The current coding is far from perfect:
- patterns with diagonal symmetry happen to be coded twice (which cannot hurt, except slowing resolution);
- the logical output of the rules (i.e. the ORk relations they assert) is complete but their printed output (i.e. the printed information about these ORk relations) is still sketchy (which doesn't put any restriction on the output of the ORk-chains based on these ORk relations).
For programmers, about the second point, I don't remember too much about C, but the problem is to have some print function within a print function. I've never been in love with print functions. I think it's easier for me than in C (I've written the rule generator in CLIPS of course), but it's still terribly boring.
DEFISE wrote:denis_berthier wrote:.
The current coding is far from perfect:
- patterns with diagonal symmetry happen to be coded twice (which cannot hurt, except slowing resolution);
- the logical output of the rules (i.e. the ORk relations they assert) is complete but their printed output (i.e. the printed information about these ORk relations) is still sketchy (which doesn't put any restriction on the output of the ORk-chains based on these ORk relations).
For programmers, about the second point, I don't remember too much about C, but the problem is to have some print function within a print function. I've never been in love with print functions. I think it's easier for me than in C (I've written the rule generator in CLIPS of course), but it's still terribly boring.
Hi Denis,
I don't understand what you mean. The "Simplest-First" program I wrote in Java, using ORk-chains for the Tridaggon, works for any
"3 digits impossible pattern" and it would be the same thing in C or C++
+----------------------+----------------------+----------------------+
! 12489 249# 3 ! 249# 5 6 ! 7 128 149 !
! 249# 5 7 ! 1 8 249# ! 2469#@ 23 3469 !
! 12489 6 2489 ! 3 249# 7 ! 5 128 149 !
+----------------------+----------------------+----------------------+
! 249# 8 1 ! 6 249# 3 ! 249# 7 5 !
! 56 249# 56 ! 249 7 8 ! 1249 123 1349 !
! 7 3 249# ! 5 1249#@ 1249 ! 249# 6 8 !
+----------------------+----------------------+----------------------+
! 35689 7 5689 ! 89 169 159 ! 136 4 2 !
! 2469 249 2469 ! 7 3 1249 ! 8 5 16 !
! 234568 1 24568 ! 248 246 245 ! 36 9 7 !
+----------------------+----------------------+----------------------+
+-------+-------+-------+
! . . . ! . . X ! . . X !
! . . . ! . X . ! . X . !
! . . . ! X . . ! X . . !
+-------+-------+-------+
! . . . ! X . . ! . . X !
! . . . ! . X . ! . X . !
! . . . ! . . X ! X . . !
+-------+-------+-------+
! o o o ! . . . ! . . . !
! o o o ! . . . ! . . . !
! o o o ! . . . ! . . . !
+-------+-------+-------+
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . X ! . . X ! . X . !
! . . X ! . X . ! X . . !
+-------+-------+-------+
! . . . ! . . X ! X . . !
! . . . ! . X . ! . X . !
! . . X ! . . . ! . . X !
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . . . ! . . . ! . . . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
........X..X..X.X...X.X.X.......XX......X..X...X.....X...........................
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . X ! . . X ! . X . !
! . . X ! . X . ! X . . !
+-------+-------+-------+
! . . X ! . . . ! . . X !
! . . . ! . X . ! . X . !
! . . . ! . . X ! X . . !
+-------+-------+-------+
! o o . ! o . . ! . . . !
! o o . ! o . . ! . . . !
! o o . ! o . . ! . . . !
+-------+-------+-------+
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . . ! . . X ! . X . !
! . . X ! . . . ! X . . !
+-------+-------+-------+
! . . . ! . . X ! X . . !
! . . X ! . . X ! . . X !
! . . X ! . X . ! . X . !
+-------+-------+-------+
! o o . ! o . . ! . . . !
! o o . ! o . . ! . . . !
! o o . ! o . . ! . . . !
+-------+-------+-------+
........X.....X.X...X...X.......XX....X..X..X..X.X..X............................
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . . ! . . X ! . X . !
! . . X ! . . . ! X . . !
+-------+-------+-------+
! . . X ! . . X ! . . X !
! . . X ! . X . ! . X . !
! . . . ! . . X ! X . . !
+-------+-------+-------+
! o o . ! o . . ! . . . !
! o o . ! o . . ! . . . !
! o o . ! o . . ! . . . !
+-------+-------+-------+
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . . . ! . . . ! . . . !
! . . X ! . . X ! . . X !
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . . ! . . X ! X X . !
! . . X ! X X . ! . . . !
+-------+-------+-------+
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
+-------+-------+-------+
....................X..X..X........X.....XXX...XXX...............................
isomorphic to:
+-------+-------+-------+
! . . . ! . . . ! . . X !
! . . . ! . . X ! X X . !
! . . X ! X X . ! . . . !
+-------+-------+-------+
! . . X ! . . X ! . . X !
! . . . ! . . . ! . . . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
+-------+-------+-------+
.....X..X..X....X..X..X.X......X...X..X..XX...X.X...X............................
+-------+-------+-------+
! . . . ! . . X ! . . X !
! . . X ! . . . ! . X . !
! . X . ! . X . ! X . . !
+-------+-------+-------+
! . . . ! . X . ! . . X !
! . . X ! . . X ! X . . !
! . X . ! X . . ! . X . !
+-------+-------+-------+
! o . . ! . . . ! . . . !
! o . . ! . . . ! . . . !
! o . . ! . . . ! . . . !
+-------+-------+-------+
It can be morphed to a form much closer to the tridagon. Only one cell of the tridagon is missing (possibly solved); this cell is a member of the unique rectangle made by the 12 tridagon cells; 4 cells are added. Note that there are very few free cells (3):
+-------+-------+-------+
! . . . ! . . X ! . . X !
! . . X ! . . . ! . X . !
! . X . ! X . . ! X . . !
+-------+-------+-------+
! . . . ! X . . ! . . X !
! . X . ! . X . ! . X . !
! . . X ! . . X ! X . . !
+-------+-------+-------+
! o . . ! . . . ! . . . !
! o . . ! . . . ! . . . !
! o . . ! . . . ! . . . !
+-------+-------+-------+
..............X..X..X..X.X...X........X.......X...X..X...........................
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . . . ! . . X ! . . X !
! . . X ! . . X ! . X . !
+-------+-------+-------+
! . . X ! . . . ! . . . !
! . . X ! . . . ! . . . !
! . X . ! . . X ! . . X !
+-------+-------+-------+
! o . . ! o o . ! o . . !
! o . . ! o o . ! o . . !
! o . . ! o o . ! o . . !
+-------+-------+-------+
can be morphed to (which doesn't show much relation with the tridagon):
+-------+-------+-------+
! . . . ! . . . ! . X . !
! . . . ! . . . ! . X . !
! . . X ! X . . ! X . . !
+-------+-------+-------+
! . . X ! X . . ! . . . !
! . . . ! . . . ! . . . !
! . . X ! . . X ! . X . !
+-------+-------+-------+
! o o . ! . o . ! . . o !
! o o . ! . o . ! . . o !
! o o . ! . o . ! . . o !
+-------+-------+-------+
76 L99 --> L8
101 L99 --> L7
111 L99 --> L7
113 L99 --> L7
116 L99 --> L7
117 L99 --> L7
146 L99 --> L6
156 L99 --> L4
183 L99 --> L4
237 L99 --> L3
241 L99 --> L3
242 L99 --> L5
257 L99 --> L3
262 L7 --> L5
270 L8 --> L5
271 L8 --> L5
280 L99 --> L6
..............X..X..X..X.X......X..X..X.X..X...XX..X.............................
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . . . ! . . X ! . . X !
! . . X ! . . X ! . X . !
+-------+-------+-------+
! . . . ! . . X ! . . X !
! . . X ! . X . ! . X . !
! . . X ! X . . ! X . . !
+-------+-------+-------+
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
+-------+-------+-------+
isomorphic to:
+-------+-------+-------+
! . . . ! . . X ! . . X !
! . . X ! . X . ! . X . !
! . . X ! X . . ! X . . !
+-------+-------+-------+
! . . . ! . . X ! . . X !
! . . X ! . . X ! . X . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
! o o . ! . . . ! . . . !
+-------+-------+-------+
ryokousha wrote:Concerning the classification of those patterns, there are some easy things to be said if we view them as graphs (subgraphs of the sudoku graph, induced by the restricted cells, to be precise):
ryokousha wrote:First of all, there exist impossible patterns of k digits that are k-chromatic as graph. In these cases, either the sudoku grid can't be completed for the restricted digits (as is for example the case for the "sausage roll" pattern found in the "chromatic patterns" thread) or the restricted digits can be completely filled in, but the other digits can not (examples for higher k in the same thread). I don't have a good name for the first category ("pseudo-chromatic" might work?), but for the second one Marek came up with "co-chromatic", which is very appropriate.
ryokousha wrote:The first obvious thing to do is to check for graph-isomorphism; the following patterns are graph-isomorphic:
ryokousha wrote:(note: There is a mistake in the 10c list. The pattern in line 11 has 4 cells in box 6, the removal of neither of which results in an impossible pattern. So I ignored this one, but kept the numbering for the following 10c patterns)
ryokousha wrote:Two patterns that are graph-isomorphic can well behave slightly differently in a puzzle context. But they have identical proofs of k-chromaticity, so they should, in my opinion, belong to the same class in any pattern classification. (I'm not saying the isomorphy-classes should be the classes)
ryokousha wrote:Going further than that, I did have the idea a while ago of searching for the critical subgraphs within those patterns (these are graphs such that any removal of an edge or vertex results in a smaller chromatic number).
The idea was to find a small set of critical subgraphs which cover all the patterns and can be used for classification. So if some pattern belongs in the class of some critical subgraph, then it is at most as hard to prove as this subgraph (which could be measured in something like T&E depth or its Hajós number).
ryokousha wrote:The drawback is that the patterns can be a lot easier to prove (due to extra edges) than the critical subgraph they are classified by.
Also finding those critical subgraphs is rather expensive computationally. I have done it only for the smaller patterns in (a previous version of) eleven's list.
denis_berthier wrote:.ryokousha wrote:Concerning the classification of those patterns, there are some easy things to be said if we view them as graphs (subgraphs of the sudoku graph, induced by the restricted cells, to be precise):
To be still more precise, you're talking of the full subgraph of the sudoku graph for the candidates in the pattern (i.e. it inherits all the sudoku links between candidates in the pattern). Which of course keeps all this very sudoku-specific. This will be useful to remember when we come to your last point.
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . X . ! . X . ! X . . !
! . . . ! . . . ! . X . !
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . X . ! . X . ! . X . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . X . ! . X . ! . X . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
+-------+-------+-------+
! . . . ! . X . ! . . . !
! . X . ! . . . ! X . . !
! . . . ! . . . ! . X . !
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . X . ! . X . ! . X . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
! . . . ! . . . ! . . . !
! . X . ! . X . ! . X . !
! . . . ! . . . ! . . . !
+-------+-------+-------+
Return to Advanced solving techniques
Users browsing this forum: No registered users and 1 guest