yes, of course: it's one. more step to a full proof.
I'm not saying you should do the same, but I have ORk splitting rules that explain why an OR4 relation can be split into 2 OR3 relations.
denis_berthier wrote:
yes, of course: it's one. more step to a full proof.
I'm not saying you should do the same, but I have ORk splitting rules that explain why an OR4 relation can be split into 2 OR3 relations.
ryokousha wrote:A long form would be "the cells r2c6, r5c4, r4c6, r6c6 induce a diamond-subgraph with edges (r2c6, r4c6), (r2c6, r6c6), (r4c6,r6c6), (r4c6, r5c4), (r6c6, r5c4). In any 3-coloring of that subgraph, the nodes r2c6 and r5c4 have the same color, so they can be contracted to a single node (r2c6=r5c4)".
Probably this is still too imprecise.
But I don't want to write the Principia Sudokuka and give a quick readable coloring-proof instead.
ryokousha wrote:When all of this works satisfyingly, the next task is to find sets of cells within a puzzle (say given as candidate array) to check for chromaticity in the first place. This then also delivers potential guardian candidates. I have not thought about how to do that efficiently. Maybe it can even be stated in graph-theoretic terms, a flow-problem maybe?
ryokousha wrote:I do not plan to do anything with the guardians, other than stating the OR-k relation for now.
Trid
EL13c290
EL14c30
EL14c159
EL14c13
EL14c1
EL10c28
EL13c30
EL13c176
EL13c234
EL13c179
EL10c6
EL13c175
EL13c172
EL13c259
EL13c187
EL13c171
EL13c168
;;; 2.3.2) Use eleven's 630-38 impossible patterns
;;; Note that ?*Tridagons* and ?*Anti-Tridagons* must still be independently set to TRUE:
;;; they are given higher salience and they are not included in the following lists.
;;; Restrict all the rules that produce ORk relations between "guardians" to a maximum number of guardians:
; (bind ?*max-guardians* 6) ; default is 8
;;; Allow the use of (the most frequently found) specific impossible patterns,
;;; by order of decreasing priorities:
;;; - either all at a time:
; (bind ?*Selected-Imp630* TRUE)
;;; - or one by one:
; (bind ?*EL13c290* TRUE)
; (bind ?*EL14c30* TRUE)
; (bind ?*EL14c13* TRUE)
; (bind ?*EL14c159* TRUE)
; (bind ?*EL14c1* TRUE)
; (bind ?*EL13c176* TRUE)
; (bind ?*EL13c30* TRUE)
; (bind ?*EL10c28* TRUE)
; (bind ?*EL13c234* TRUE)
; (bind ?*EL13c179* TRUE)
; (bind ?*EL13c187* TRUE)
; (bind ?*EL13c168* TRUE)
; (bind ?*EL13c175* TRUE)
; (bind ?*EL13c259* TRUE)
; (bind ?*EL15c97* TRUE)
;;; Notice that selecting any of the above patterns will not only load the corresponding rules;
;;; it will also set their priorities higher than those of all the other Imposs630 rules
;;; (only useful when the following patterns are simultaneously activated).
;;; Allow all the rules for impossible patterns in two bands or two stacks.
; (bind ?*Imposs630-all* TRUE)
;;; Or allow independently all the rules for each sub-family with n cells.
; (bind ?*Imposs630-10c* TRUE)
; (bind ?*Imposs630-12c* TRUE)
; (bind ?*Imposs630-13c* TRUE)
; (bind ?*Imposs630-14c* TRUE)
; (bind ?*Imposs630-15c* TRUE)
; (bind ?*Imposs630-16c* TRUE)
........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 !
! . . Z ! . X . ! . X . !
! . . Z ! X . . ! X . . !
+-------+-------+-------+
! . . Z ! . . - ! . . 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 . . !
+-------+-------+-------+
! o o o ! . . . ! . . . !
! o o o ! . . . ! . . . !
! o o o ! . . . ! . . . !
+-------+-------+-------+
+-------+-------+-------+
! . . . ! . . 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 . . !
+-------+-------+-------+
! o o o ! . . . ! . . . !
! o o o ! . . . ! . . . !
! o o o ! . . . ! . . . !
+-------+-------+-------+
Imp630-Select1 =
EL13c290
EL14c30
EL14c159
EL14c13
EL14c1
Imp630-Select2 = Imp630-Select1 +
EL13c176
EL10c28
EL13c30
EL13c179
EL13c234
EL13c171
Imp630-Select3 = Imp630-Select2 +
EL10c6
EL10c8
EL13c175
EL13c259
EL10c4
EL14c19
EL13c187
EL13c172
Imp630-Select4 = Imp630-Select3 +
EL15c97
EL13c168
EL14c93
EL13c19
EL14c154
Imp630-all
Imp630-10c
Imp630-12c
Imp630-13c
Imp630-14c
Imp630-15c
Imp630-16c
Trid = 19594
Imp630-Select1:
EL13c290 = 4491
EL14c30 = 2756
EL14c159 = 1684
EL14c13 = 1352
EL14c1 = 1066
Imp630-Select2:
EL13c176 = 521
EL10c28 = 491
EL13c30 = 468
EL13c179 = 432
EL13c234 = 380
EL13c171 = 257
Imp630-Select3:
EL10c6 = 234
EL10c8 = 177
EL13c175 = 157
EL13c259 = 148
EL10c4 = 141
EL14c19 = 136
EL13c187 = 134
EL13c172 = 122
Imp630-Select4:
EL15c97 = 95
EL13c168 = 82
EL14c93 = 80
EL13c19 = 71
EL14c154 = 61
Mathimagics wrote:Hi Denis and ryokousha
I have some modest experience of Sudoku puzzle solving using graphs. I used Brendan Mckay's nauty library.
This is the first time I have noticed anyone else using graph-theoretic methods, so I'm interested to know what tools you are using.
Cheers
MM
RichardGoodrich wrote:Mathimagics wrote:Hi Denis and ryokousha
I have some modest experience of Sudoku puzzle solving using graphs. I used Brendan Mckay's nauty library.
This is the first time I have noticed anyone else using graph-theoretic methods, so I'm interested to know what tools you are using.
Hope I am NOT too late to get on this. I want to use pynauty.py in my Python Sudoku code. No anyone with experience using it. 2nd best is just to find a MinLex program I can actually run. So far I have tried only one and even though it was a jar file, I could not get it to run!