dobrichev wrote:At the point before Kite elimination, we can investigate the still existing two UR patterns, where, in order to avoid a secondary solution, one of the additional candidates in the pattern cells must be true.
For pattern values 2,3 in rows 2,3 and columns 3,4 the remaining candidates are 1,9 in r2c3 and 7 in r3c4. One of them must be true, but this doesn't contribute to the further solving process.
Similarly, for pattern values 1,3 in rows 1,2 columns 3,7 the remaining candidates are 8 in r1c3 and 2,9 in r2c3. One of them must be true, but this doesn't contribute to the further solving process too.
In short, the two URs "after basics" allow to conclude that there are two ORk-relations: respectively OR3(n1r2c3, n9r2c3, n7r3c4) and OR3(n8r1c3, n2r2c3, n9r2c3).
Can they contribute to a solution? It all depends on how you deal with ORk-relations.
If you consider that ORk-relations are persistent (once proven, they remain true forever) and/or ultra-persistent (splitting rules can be applied to them in order to reduce the number of candidates) and if you use ORk-chains, they may indeed allow later eliminations (see * below).
I originally introduced ORk-chains to deal with ORk-relations deduced from exotic patterns, in particular impossible patterns, but they can be used more extensively. As I'm not very interested in uniqueness, I've not done it in this context, but it'd be totally valid.
In the present case, what does the UR7 allow to conclude? Only that OR5(n1r2c3, n9r2c3, n7r3c4, n8r1c3, n2r2c3), which is much weaker than the previous two conclusions. My conclusion: only minimal UAs are useful if the ORk relations they allow to assert are considered as persistent.
(*) Starting from the resolution state "after basics"
- Code: Select all
(init-sukaku-grid
+---------------+------------+----------+
! 47 18 138 ! 9 47 5 ! 13 2 6 !
! 349 6 1239 ! 23 34 8 ! 13 5 7 !
! 37 5 23 ! 237 1 6 ! 9 8 4 !
+---------------+------------+----------+
! 39 2 6 ! 8 39 1 ! 4 7 5 !
! 1 7 35 ! 35 6 4 ! 2 9 8 !
! 8 49 459 ! 57 79 2 ! 6 1 3 !
+---------------+------------+----------+
! 5 14 14 ! 6 2 7 ! 8 3 9 !
! 6 89 89 ! 1 5 3 ! 7 4 2 !
! 2 3 7 ! 4 8 9 ! 5 6 1 !
+---------------+------------+----------+
)
I forced the 2 ORk-relations into SudoRules, as follows:
- Code: Select all
(assert
(ORk-relation
(OR-name UR2)
(OR-complexity 4)
(OR-size 3)
(OR-candidates 123 923 734)
)
)
(assert
(ORk-relation
(OR-name UR2)
(OR-complexity 4)
(OR-size 3)
(OR-candidates 813 223 923)
)
)
and I did get a solution based on an OR2-whip:
finned-x-wing-in-rows: n3{r5 r3}{c4 c3} ==> r2c3≠3, r1c3≠3
singles ==> r1c7=3, r2c7=1
At least one candidate of a previous UR2-OR3-relation between candidates n1r2c3 n9r2c3 n7r3c4 has just been eliminated.
There remains an UR2-OR2-relation between candidates: n9r2c3 n7r3c4
UR2-OR2-whip[2]: OR2{{n7r3c4 | n9r2c3}} - r2n2{c3 .} ==> r3c4≠2stte
(This is useless in this example, as the OR2-whip could be replaced by a bivalue-chain[3]:
biv-chain[3]: r2c4{n2 n3} - r5n3{c4 c3} - r3c3{n3 n2} ==> r3c4≠2, r2c3≠2
but it shows the principle.)
[Edit]: if you have a list of UAs in some uniform readable format, I can easily write the program that will transform it into rules for asserting the corresponding ORk-relations, exactly as I did with eleven's 630 impossible 3-digit patterns.
.