The tridagon rule

Advanced methods and approaches for solving Sudoku puzzles

Re: The tridagon rule

Postby denis_berthier » Sat Mar 26, 2022 5:48 am

.
TRIDAGON LINKS

The first post of this thread was about
- making explicit a full resolution rule (i.e. a rule that allows immediate eliminations) based on the impossible "trivalue-oddagon" pattern
- and formulating it in a way that can easily be transcribed into a logical formula or any implementation.
Notice that this modest approach has led to consider the rule as an elimination one (rather than an assertion one) and to raise a previous restriction on the target cell: it may contain more than one additional candidate.

Other applications of the impossibility pattern are known. Again, the goal of this post is not to review all of them, but only the simplest case, where two and only two different cells of the impossible pattern have one and only one additional candidate. In this case, the conclusion is that one of the additional candidates must be True - which doesn't define a resolution rule in and of itself, but can be used to build new types of Forcing Chains.
Based on the analysis of the first post, it is easy to see that there are the following cases (and only them).

By the same isomorphisms as before, we can always suppose one of the two additional candidates is in r1c1 and that the pattern of cells is as in the first post:
Code: Select all
# . . | + . .
. + . | . + .
. . + | . . +
-------------
+ . . | x x x
. + . | x x x
. . + | x x x

with the same conditions on the pattern in the third block:
Code: Select all
. . +          . + .          + . .
. + .          + . .          . . +
+ . .          . . +          . + .

(where, at this point, the last two patterns are equivalent under r2/r3, c2/c3, and r5/r6 permutations).


Now, the question is: where can the second candidate be?

First case: in the same block. Only one possible place modulo isomorphisms:
Code: Select all
# . . | + . .
. # . | . + .
. . + | . . +
-------------
+ . . | x x x
. + . | x x x
. . + | x x x


Second case: in a different block but the same band. Only two possible places modulo isomorphisms:
same row:
Code: Select all
# . . | # . .
. + . | . + .
. . + | . . +
-------------
+ . . | x x x
. + . | x x x
. . + | x x x


different row:
Code: Select all
# . . | + . .
. + . | . # .
. . + | . . +
-------------
+ . . | x x x
. + . | x x x
. . + | x x x



Third case: in a different block but the same stack. Only two possible places modulo isomorphisms (deduced from the previous two by row/column symmetry)


Fourth case: in opposite blocks. It can be almost anywhere in the 4th block (which must still satisfy one of the three patterns found in the first post).
Code: Select all
# . . | + . .
. + . | . + .
. . + | . . +
-------------
+ . . | x x x
. + . | x x x
. . + | x x x


Notice that the above four cases are possible and have real examples.
.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Mon Mar 28, 2022 6:46 am

.
As an appetiser for more formal definitions of Tridagon-Forcing-Whips, here is a solution of puzzle #39 in mith's list of 246 puzzles not in T&E(2) (http://forum.enjoysudoku.com/the-hardest-sudokus-new-thread-t6539-1190.html), for which I've already given some analyses in the next posts of the same thread.
Code: Select all
     +-------+-------+-------+
     ! . . . ! . . . ! . . 1 !
     ! . . . ! . . 2 ! 3 4 . !
     ! . . 5 ! . 1 3 ! 6 . 2 !
     +-------+-------+-------+
     ! . . . ! . 7 . ! . 3 6 !
     ! . . . ! . 8 9 ! 4 . . !
     ! . . 4 ! 6 . . ! . . . !
     +-------+-------+-------+
     ! . 1 2 ! 5 . . ! . 6 . !
     ! 4 . 3 ! 1 . . ! 5 2 . !
     ! 5 6 . ! . . . ! 1 . . !
     +-------+-------+-------+
........1.....234...5.136.2....7..36....894....46......125...6.4.31..52.56....1..;29

Code: Select all
Resolution state after Singles and whips[1]:
   +----------------------+----------------------+----------------------+
   ! 236789 234789 6789   ! 4789   4569   45678  ! 789    5789   1      !
   ! 16789  789    16789  ! 789    569    2      ! 3      4      5789   !
   ! 789    4789   5      ! 4789   1      3      ! 6      789    2      !
   +----------------------+----------------------+----------------------+
   ! 1289   2589   189    ! 24     7      145    ! 289    3      6      !
   ! 12367  2357   167    ! 23     8      9      ! 4      157    57     !
   ! 123789 235789 4      ! 6      235    15     ! 2789   15789  5789   !
   +----------------------+----------------------+----------------------+
   ! 789    1      2      ! 5      349    478    ! 789    6      34789  !
   ! 4      789    3      ! 1      69     678    ! 5      2      789    !
   ! 5      6      789    ! 234789 2349   478    ! 1      789    34789  !
   +----------------------+----------------------+----------------------+
193 candidates.

Here, only Subsets, whips[≤12] and Tridagon-Forcing-Whips are activated.
Code: Select all
hidden-pairs-in-a-column: c9{n3 n4}{r7 r9} ==> r9c9≠9, r9c9≠8, r9c9≠7, r7c9≠9, r7c9≠8, r7c9≠7
hidden-pairs-in-a-row: r1{n2 n3}{c1 c2} ==> r1c2≠9, r1c2≠8, r1c2≠7, r1c2≠4, r1c1≠9, r1c1≠8, r1c1≠7, r1c1≠6
hidden-single-in-a-block ==> r3c2=4
z-chain[4]: r6c6{n5 n1} - c8n1{r6 r5} - c8n5{r5 r6} - c5n5{r6 .} ==> r1c6≠5
whip[1]: c6n5{r6 .} ==> r6c5≠5
naked-pairs-in-a-block: b5{r5c4 r6c5}{n2 n3} ==> r4c4≠2
naked-single ==> r4c4=4
hidden-pairs-in-a-column: c4{n2 n3}{r5 r9} ==> r9c4≠9, r9c4≠8, r9c4≠7
whip[1]: b8n7{r9c6 .} ==> r1c6≠7
whip[1]: b8n8{r9c6 .} ==> r1c6≠8
whip[1]: b8n9{r9c5 .} ==> r1c5≠9, r2c5≠9
whip[6]: r2n1{c1 c3} - b1n6{r2c3 r1c3} - r5c3{n6 n7} - r5c9{n7 n5} - r2n5{c9 c5} - r2n6{c5 .} ==> r2c1≠7
whip[6]: r2n1{c1 c3} - b1n6{r2c3 r1c3} - r5c3{n6 n7} - r5c9{n7 n5} - r2n5{c9 c5} - r2n6{c5 .} ==> r2c1≠8
whip[6]: r2n1{c1 c3} - b1n6{r2c3 r1c3} - r5c3{n6 n7} - r5c9{n7 n5} - r2n5{c9 c5} - r2n6{c5 .} ==> r2c1≠9
whip[6]: r5c9{n5 n7} - r5c8{n7 n1} - r5c3{n1 n6} - c1n6{r5 r2} - r2c5{n6 n5} - c9n5{r2 .} ==> r6c8≠5
whip[8]: r2n1{c3 c1} - b1n6{r2c1 r1c3} - c6n6{r1 r8} - c5n6{r8 r2} - r2n5{c5 c9} - r5c9{n5 n7} - c3n7{r5 r9} - r8n7{c2 .} ==> r2c3≠8
whip[8]: r2n1{c3 c1} - b1n6{r2c1 r1c3} - c6n6{r1 r8} - c5n6{r8 r2} - r2n5{c5 c9} - r5c9{n5 n7} - c3n7{r5 r9} - r8n7{c2 .} ==> r2c3≠9
whip[11]: b3n5{r1c8 r2c9} - r2c5{n5 n6} - r8c5{n6 n9} - c9n9{r8 r6} - c9n8{r6 r8} - b9n7{r8c9 r7c7} - c7n9{r7 r1} - r1c4{n9 n8} - r2n8{c4 c2} - b1n9{r2c2 r3c1} - r7n9{c1 .} ==> r1c8≠7

extended tridagon for digits 7, 8 and 9 in blocks:
        b3, with cells: r2c9 (link cell), r1c7, r3c8
        b1, with cells: r2c2, r1c3 (link cell), r3c1
        b9, with cells: r8c9, r7c7, r9c8
        b7, with cells: r8c2, r7c1, r9c3
 ==> tridagon-link[12](n5r2c9, n6r1c3)

tridagon-forcing-whip-elim[13] based on tridagon-link(n6r1c3, n5r2c9)
....for n6r1c3: -
....for n5r2c9: partial-whip[1]: c5n5{r2 r1} -
 ==> r1c5≠6, r2c3≠6

biv-chain[3]: r2c3{n7 n1} - r2c1{n1 n6} - b4n6{r5c1 r5c3} ==> r5c3≠7
biv-chain[3]: r5c3{n1 n6} - c1n6{r5 r2} - b1n1{r2c1 r2c3} ==> r4c3≠1

tridagon-forcing-whip-elim[13] based on tridagon-link(n5r2c9, n6r1c3)
....for n5r2c9: -
....for n6r1c3: partial-whip[1]: r2n6{c1 c5} -
 ==> r2c5≠5
stte


Two very short chains (partial-whips[1]) are enough to allow eliminations based on the tridagon link. (Notice that the Tridagon-link is available at the start and part of the whips appearing before it in this path may not be necessary to solve the puzzle.)
I planned to post a second example showing the use of longer partial-whips, but I have no time right now.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby pjb » Tue Mar 29, 2022 2:00 am

denis_berthier wrote:
Here is one more example (#2 in mith 246-list the-hardest-sudokus-new-thread-t6539-1190.html)
Code: Select all
     +-------+-------+-------+
     ! . . . ! . . . ! . . 1 !
     ! . . . ! . . 2 ! . 3 . !
     ! . . . ! . 4 . ! 5 6 . !
     +-------+-------+-------+
     ! . . . ! . . 7 ! . . . !
     ! . . 4 ! 8 1 . ! 2 . . !
     ! 1 9 . ! . 2 4 ! 8 . . !
     +-------+-------+-------+
     ! . 8 9 ! . . 1 ! . . 7 !
     ! 4 2 . ! . 7 8 ! . . 9 !
     ! 7 . 1 ! . 9 . ! . . . !
     +-------+-------+-------+
........1.....2.3.....4.56......7.....481.2..19..248...89..1..742..78..97.1.9....;28



This actually solves in a single step after basics:
Code: Select all
 235689  34567   235678 | 35679  3568   3569   | 479    2489   1     
 5689    14567   5678   | 15679  568    2      | 479    3      48     
 2389    137     2378   | 1379   4      39     | 5      6      28     
------------------------+----------------------+---------------------
 28     *356     28     | 3569  *356    7      | 13469  1459   3456   
*356     3567C   4      | 8      1     *356+9A | 2      57-9D  356   
 1       9      *356+7B |*356    2      4      | 8      57     356   
------------------------+----------------------+---------------------
*356     8       9      | 24    *356    1      | 346    245    7     
 4       2      *356    |*356    7      8      | 136    15     9     
 7      *356     1      | 24     9     *356    | 346    2458   234568


(9)r5c6 = (7)r6c3 - (7)r5c2 = (7-9)r5c8 => -9 r5c8; btte

Phil
pjb
2014 Supporter
 
Posts: 2568
Joined: 11 September 2011
Location: Sydney, Australia

Re: The tridagon rule

Postby denis_berthier » Tue Mar 29, 2022 4:10 am

.
Hi pjb
It depends on which order you apply the rules.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Tue Mar 29, 2022 4:24 am

.
Here is now the promised example using longer partial-whips.
It's #217 in the same list as above:
Code: Select all
+-------+-------+-------+
! . . . ! . . . ! . . 1 !
! . . . ! . . 1 ! 2 3 . !
! . . 1 ! . 2 4 ! 5 . 6 !
+-------+-------+-------+
! . . 3 ! . . . ! 6 . . !
! . 6 . ! . 5 2 ! . . . !
! 7 . 8 ! . . 6 ! . . . !
+-------+-------+-------+
! . 1 . ! . 6 5 ! 4 . 3 !
! . 3 . ! 2 4 . ! 1 5 . !
! . 4 . ! 1 . 3 ! . 6 2 !
+-------+-------+-------+
........1.....123...1.245.6..3...6...6..52...7.8..6....1..654.3.3.24.15..4.1.3.62;32
SER = 11.6

Code: Select all
Resolution state after Singles and whips[1]:
   +----------------------+----------------------+----------------------+
   ! 234569 25789  24569  ! 356789 3789   789    ! 789    4789   1      !
   ! 4569   5789   4569   ! 56789  789    1      ! 2      3      4789   !
   ! 39     789    1      ! 3789   2      4      ! 5      789    6      !
   +----------------------+----------------------+----------------------+
   ! 12459  259    3      ! 4789   1789   789    ! 6      124789 45789  !
   ! 149    6      49     ! 34789  5      2      ! 3789   14789  4789   !
   ! 7      259    8      ! 349    139    6      ! 39     1249   459    !
   +----------------------+----------------------+----------------------+
   ! 289    1      279    ! 789    6      5      ! 4      789    3      !
   ! 689    3      679    ! 2      4      789    ! 1      5      789    !
   ! 589    4      579    ! 1      789    3      ! 789    6      2      !
   +----------------------+----------------------+----------------------+
179 candidates.

Here also, a trigon-link is available at the start, but let's so as previously and apply it only at its place in the complexity hierarchy.
Code: Select all
hidden-pairs-in-a-column: c4{n5 n6}{r1 r2} ==> r2c4≠9, r2c4≠8, r2c4≠7, r1c4≠9, r1c4≠8, r1c4≠7, r1c4≠3
whip[7]: b4n4{r5c3 r4c1} - r1n4{c1 c3} - c3n2{r1 r7} - c1n2{r7 r1} - r1n6{c1 c4} - r1n5{c4 c2} - b4n5{r4c2 .} ==> r5c8≠4
whip[11]: c5n3{r1 r6} - r6c7{n3 n9} - r6c4{n9 n4} - c4n3{r6 r3} - r3c1{n3 n9} - r9n9{c1 c3} - b4n9{r5c3 r4c2} - r2n9{c2 c9} - r6c9{n9 n5} - r4n5{c9 c1} - r9n5{c1 .} ==> r1c5≠9

extended tridagon for digits 7, 8 and 9 in blocks:
        b2, with cells: r3c4 (link cell), r2c5, r1c6
        b3, with cells: r3c8, r2c9 (link cell), r1c7
        b8, with cells: r7c4, r9c5, r8c6
        b9, with cells: r7c8, r9c7, r8c9
 ==> tridagon-link[12](n3r3c4, n4r2c9)

whip[12]: c5n3{r1 r6} - r6n1{c5 c8} - r6n2{c8 c2} - r6n5{c2 c9} - r6n4{c9 c4} - c4n3{r6 r3} - r3c1{n3 n9} - c2n9{r3 r4} - r4n5{c2 c1} - r9c1{n5 n8} - c7n8{r9 r5} - r5n3{c7 .} ==> r1c5≠8

tridagon-forcing-whip-elim[15] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[3]: r5n3{c4 c7} - r6c7{n3 n9} - r6c4{n9 n4} -
 ==> r6c9≠4

t-whip[5]: r6n4{c4 c8} - c8n2{r6 r4} - c8n1{r4 r5} - c1n1{r5 r4} - r4n4{c1 .} ==> r5c4≠4
t-whip[6]: r5n7{c9 c4} - r5n3{c4 c7} - r6c7{n3 n9} - r6c9{n9 n5} - r6c2{n5 n2} - c8n2{r6 .} ==> r4c8≠7
t-whip[6]: r5n8{c9 c4} - r5n3{c4 c7} - r6c7{n3 n9} - r6c9{n9 n5} - r6c2{n5 n2} - c8n2{r6 .} ==> r4c8≠8
whip[6]: c8n2{r4 r6} - r6n1{c8 c5} - r4n1{c5 c1} - r4n2{c1 c2} - r4n5{c2 c9} - r6c9{n5 .} ==> r4c8≠9

tridagon-forcing-whip-elim[17] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[5]: r5n3{c4 c7} - r6n3{c7 c5} - r1c5{n3 n7} - c7n7{r1 r9} - c7n8{r9 r1} -
 ==> r2c9≠8

tridagon-forcing-whip-elim[19] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[7]: r5n3{c4 c7} - r6n3{c7 c5} - r1c5{n3 n7} - c7n7{r1 r9} - c7n8{r9 r1} - r3n8{c8 c2} - c2n7{r3 r2} -
 ==> r2c9≠7

The end of the path is in W9 and has nothing noticeable: Show
hidden-pairs-in-a-row: r2{n7 n8}{c2 c5} ==> r2c5≠9, r2c2≠9, r2c2≠5
whip[5]: r2n4{c3 c9} - r5n4{c9 c1} - r5c3{n4 n9} - r2n9{c3 c1} - b7n9{r7c1 .} ==> r1c3≠4
whip[9]: c8n2{r6 r4} - c8n1{r4 r5} - c1n1{r5 r4} - r4n4{c1 c4} - c9n4{r4 r2} - c3n4{r2 r5} - r5c1{n4 n9} - r2n9{c1 c3} - b7n9{r7c3 .} ==> r6c8≠4
hidden-single-in-a-row ==> r6c4=4
t-whip[6]: r2c9{n9 n4} - c3n4{r2 r5} - r4n4{c1 c8} - c8n2{r4 r6} - c8n1{r6 r5} - r5c1{n1 .} ==> r5c9≠9, r2c1≠9
whip[5]: r2n9{c9 c3} - r3c1{n9 n3} - c4n3{r3 r5} - b5n9{r5c4 r6c5} - c2n9{r6 .} ==> r4c9≠9
whip[5]: r2n9{c9 c3} - r3c1{n9 n3} - c4n3{r3 r5} - r5n9{c4 c1} - b7n9{r7c1 .} ==> r6c9≠9
naked-single ==> r6c9=5
t-whip[5]: c8n2{r4 r6} - r6c2{n2 n9} - r5c3{n9 n4} - r5c1{n4 n1} - c8n1{r5 .} ==> r4c8≠4
singles ==> r1c8=4, r2c9=9
t-whip[6]: r5n3{c4 c7} - r6n3{c7 c5} - r1c5{n3 n7} - c7n7{r1 r9} - r8c9{n7 n8} - b6n8{r4c9 .} ==> r5c4≠8
whip[1]: r5n8{c9 .} ==> r4c9≠8
t-whip[7]: r4c9{n4 n7} - r5n7{c9 c4} - c4n3{r5 r3} - r3c1{n3 n9} - b2n9{r3c4 r1c6} - r8n9{c6 c3} - r5c3{n9 .} ==> r5c9≠4, r4c1≠4
hidden-single-in-a-row ==> r4c9=4
whip[1]: b6n7{r5c9 .} ==> r5c4≠7
whip[8]: r5c4{n9 n3} - c7n3{r5 r6} - c5n3{r6 r1} - c1n3{r1 r3} - r3n9{c1 c2} - r6n9{c2 c8} - b9n9{r7c8 r9c7} - c5n9{r9 .} ==> r4c4≠9
whip[7]: r4c4{n8 n7} - r7c4{n7 n9} - b2n9{r3c4 r1c6} - c6n7{r1 r8} - r8c9{n7 n8} - r7c8{n8 n7} - r3c8{n7 .} ==> r3c4≠8
biv-chain[3]: r2c2{n7 n8} - r3n8{c2 c8} - b3n7{r3c8 r1c7} ==> r1c2≠7
whip[7]: r5c4{n9 n3} - r3c4{n3 n7} - r3c8{n7 n8} - r7c8{n8 n7} - r8c9{n7 n8} - b8n8{r8c6 r9c5} - r2c5{n8 .} ==> r7c4≠9
naked-pairs-in-a-column: c4{r4 r7}{n7 n8} ==> r3c4≠7
naked-pairs-in-a-row: r3{c1 c4}{n3 n9} ==> r3c2≠9
naked-pairs-in-a-block: b1{r2c2 r3c2}{n7 n8} ==> r1c2≠8
z-chain[4]: b8n9{r8c6 r9c5} - b9n9{r9c7 r7c8} - b9n8{r7c8 r9c7} - r1n8{c7 .} ==> r8c6≠8
biv-chain[3]: b3n8{r3c8 r1c7} - c6n8{r1 r4} - c4n8{r4 r7} ==> r7c8≠8
biv-chain[3]: r5c9{n7 n8} - b9n8{r8c9 r9c7} - r1c7{n8 n7} ==> r5c7≠7
z-chain[2]: c7n7{r9 r1} - b2n7{r1c6 .} ==> r9c5≠7
biv-chain[3]: r7n8{c1 c4} - r9c5{n8 n9} - b9n9{r9c7 r7c8} ==> r7c1≠9
biv-chain[3]: b9n8{r8c9 r9c7} - r9c5{n8 n9} - r8c6{n9 n7} ==> r8c9≠7
singles ==> r8c9=8, r5c9=7
biv-chain[3]: r9c7{n7 n9} - b8n9{r9c5 r8c6} - r8n7{c6 c3} ==> r9c3≠7
stte


In this example, we have 3 different eliminations based on the same tridagon link, but using partial-whips of lengths 3, 5 and 7.
Same remark as before: some of the whips before these may be unnecessary.
I'm working on a functionality that provides the choice of giving some priority to exotic patterns such as tridagons.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Tue Mar 29, 2022 4:48 am

.
Here is now an example in which one of the eliminations based on the tridagon-link involves two short partial-whips (#147 in the same list):

Code: Select all
     +-------+-------+-------+
     ! . . . ! . . . ! . 1 2 !
     ! . . . ! . . . ! 3 . 4 !
     ! . . . ! . 1 5 ! 6 7 . !
     +-------+-------+-------+
     ! . . 8 ! . 9 . ! . . 6 !
     ! . 5 1 ! . 7 6 ! . . . !
     ! 6 9 . ! . . 8 ! . . . !
     +-------+-------+-------+
     ! . 7 5 ! . 8 9 ! . 6 . !
     ! 8 . . ! 6 5 . ! . 9 . !
     ! 9 . 6 ! 7 . 1 ! . . . !
     +-------+-------+-------+
.......12......3.4....1567...8.9...6.51.76...69...8....75.89.6.8..65..9.9.67.1...;31
SER = 11.7

Code: Select all
Resolution state after Singles and whips[1]:
   +-------------------+-------------------+-------------------+
   ! 3457  3468  3479  ! 3489  346   347   ! 589   1     2     !
   ! 1257  1268  279   ! 289   26    27    ! 3     58    4     !
   ! 234   2348  2349  ! 23489 1     5     ! 6     7     89    !
   +-------------------+-------------------+-------------------+
   ! 2347  234   8     ! 12345 9     234   ! 12457 2345  6     !
   ! 234   5     1     ! 234   7     6     ! 2489  2348  389   !
   ! 6     9     2347  ! 12345 234   8     ! 12457 2345  1357  !
   +-------------------+-------------------+-------------------+
   ! 1234  7     5     ! 234   8     9     ! 124   6     13    !
   ! 8     1234  234   ! 6     5     234   ! 1247  9     137   !
   ! 9     234   6     ! 7     234   1     ! 2458  23458 358   !
   +-------------------+-------------------+-------------------+
176 candidates

Code: Select all
hidden-pairs-in-a-column: c4{n1 n5}{r4 r6} ==> r6c4≠4, r6c4≠3, r6c4≠2, r4c4≠4, r4c4≠3, r4c4≠2

extended tridagon for digits 2, 3 and 4 in blocks:
        b7, with cells: r7c1 (link cell), r8c3, r9c2
        b8, with cells: r7c4, r8c6, r9c5
        b4, with cells: r5c1, r6c3 (link cell), r4c2
        b5, with cells: r5c4, r6c5, r4c6
 ==> tridagon-link(n1r7c1, n7r6c3)

tridagon-forcing-whip-elim[14] based on tridagon-link(n7r6c3, n1r7c1)
....for n7r6c3: partial-whip[1]: c9n7{r6 r8} -
....for n1r7c1: partial-whip[1]: r7c9{n1 n3} -
==> r8c9≠3

tridagon-forcing-whip-elim[14] based on tridagon-link(n1r7c1, n7r6c3)
....for n1r7c1: -
....for n7r6c3: partial-whip[2]: c1n7{r4 r1} - c1n5{r1 r2} -
==> r2c1≠1


The end is in Z4:
Code: Select all
singles ==> r2c2=1, r1c2=6, r3c2=8, r3c9=9, r5c7=9, r2c6=6, r7c1=1, r7c9=3, r5c9=8, r9c9=5
hidden-pairs-in-a-block: b9{n1 n7}{r8c7 r8c9} ==> r8c7≠4, r8c7≠2
hidden-pairs-in-a-block: b2{n8 n9}{r1c4 r2c4} ==> r2c4≠2, r1c4≠4, r1c4≠3
finned-x-wing-in-columns: n2{c6 c2}{r4 r8} ==> r8c3≠2
whip[1]: b7n2{r9c2 .} ==> r4c2≠2
z-chain[4]: r1c6{n3 n4} - r1c5{n4 n7} - b1n7{r1c1 r2c3} - c3n9{r2 .} ==> r1c3≠3
z-chain[2]: b1n3{r3c1 r3c3} - c4n3{r3 .} ==> r5c1≠3
z-chain[3]: c4n3{r5 r3} - c3n3{r3 r8} - b8n3{r8c6 .} ==> r6c5≠3
biv-chain[3]: r6c5{n4 n2} - c6n2{r4 r8} - b8n3{r8c6 r9c5} ==> r9c5≠4
biv-chain[3]: c5n4{r6 r1} - r1c6{n4 n3} - b5n3{r4c6 r5c4} ==> r5c4≠4
biv-chain[3]: r5c4{n3 n2} - r5c1{n2 n4} - r4c2{n4 n3} ==> r4c6≠3
hidden-single-in-a-block ==> r5c4=3
whip[1]: r3n3{c3 .} ==> r1c1≠3
biv-chain[3]: r2c1{n2 n5} - r1c1{n5 n7} - b2n7{r1c5 r2c5} ==> r2c5≠2
singles ==> r2c5=7, r3c4=2, r7c4=4,  r7c7=2
whip[1]: b9n4{r9c8 .} ==> r9c2≠4
whip[1]: r3n4{c3 .} ==> r1c3≠4
naked-pairs-in-a-column: c3{r3 r8}{n3 n4} ==> r6c3≠4, r6c3≠3
hidden-single-in-a-row ==> r6c8=3
biv-chain[3]: c2n4{r4 r8} - r8n2{c2 c6} - r4c6{n2 n4} ==> r4c1≠4, r4c7≠4, r4c8≠4
biv-chain[3]: b6n2{r4c8 r5c8} - b6n4{r5c8 r6c7} - b5n4{r6c5 r4c6} ==> r4c6≠2
singles


Reducing a puzzle from SER = 11.7 to one in Z4 show how powerful the tridagon based rules are.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

TRIDAGON-FORCING-WHIPS

Postby denis_berthier » Tue Mar 29, 2022 5:41 am

.
TRIDAGON-FORCING-WHIPS

1) OR-forcing-chains in general
Whenever an OR relation OR(C1, C2) between two candidates C1 and C2 has been proven, assertions and eliminations can easily be obtained by resorting to reasoning by cases. This is not very elegant as it relies on two different streams of reasoning, but it can be useful.
More precisely, consider two different chains, one based on C1 and one based on C2. It can be concluded that:
- any candidate X that is linked to some candidate with positive valence in each chain can be eliminated,
- and any candidate that has positive valence in both chains can be asserted as a decided value.
As a special case of X having negative valence, one or two of the chains can have length 0 (which means that the corresponding Ci is linked to X).

Now, a point on the complexity assigned to such OR-forcing-chains in my approach: the OR(C1, C2) relation isn't supposed to have been proven with the use of a crystal ball. It has involved some particular pattern with its own length (e.g. a biwhip[k]). Similarly, each of the partial-chains has its own length, resp. p1 and p2.
The length of the OR-forcing-chain is thus naturally assigned value n= k + p1 + p2. Indeed, I have no choice: no other possible value would be consistent with my other ratings.
One might object that if the same OR relation is used several times in the resolution path, this is "unfair". But this would rely on a misunderstanding of the fundamental nature of all my ratings: they are ratings of the hardest elimination/assertion step and how many times this highest rating is reached in the resolution path is totally irrelevant.
One might prefer a rating of a full resolution path and I understand this, but as of now, any such proposed rating is totally inconsistent.

In my approach, the typical OR-forcing-chain[n] is a forcing-whip[n], the OR relation being a mere bivalue relation (length 1) and the length of this forcing-whip has already been defined long ago as n = 1 + p1 + p2.



2) Tridagon-Forcing-Whips
Definition:
A Tridagon-Forcing-Whip[n] is a particular type of OR forcing-chain where:
- the partial-chains involved are partial-whips, of respective lengths p1 and p2
- the OR relation involved is a Tridagon-link[12]
- n = 12 + p1 + p2


Remarks:
In order to avoid considering special cases when p1 and/or p2 is 0, the direct link can be considered as a whip[0].
Having a well-defined length, these forcing chains have a natural place in the CSP-Rules hierarchy. However, as for any other rules, various strategies allow to change this default hierarchy. More on this later.

Examples: see my previous posts.

Notation: see my previous posts. The "-" symbol at the end of the lines for the partial-whips means as usual a direct contradiction link.

Implementation:
- the mere Tridagon elimination rule (first post of this thread) is fully implemented in SudoRules and has already been published on GitHub;
- the Tridagon-links are fully implemented in SudoRules, based on my previous analysis of all the possible cases;
- the Tridagon-Forcing-Whip[n] rules are fully implemented in SudoRules. I've applied them to the above-mentioned complete list of 246 puzzles. `
All this will be published soon on GitHub, after I've done more testing.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Tue Mar 29, 2022 7:31 am

.
After introducing into SudoRules a TRIDAGONS specific set of preferences (as defined in section 6.8.1 of the [BUM]), CSP-Rules general solve-w-preferences function easily allows to change the default order of rules application and to give priority to anything Tridagon.

The newly defined TRIDAGONS set of preferences includes:
- all the Subset and Finned Fish resolution rules,
- the Tridagon elimination rule
- the rules for finding Tridagon-link
- all the Tridagon-Forcing-Whip resolution rules

I'll take the example (#2 in mith's 246 list) I first mentioned here: http://forum.enjoysudoku.com/the-tridagon-rule-t39859-24.html.
My purpose there was to show that:
- by combining the mere tridagon resolution rule with classical whips, a solution can be found without resorting to more complicated rules based on Tridagon-links
- if whips are not activated, a tridagon-link can be obtained instead of a mere tridagon.

pjb remarked here http://forum.enjoysudoku.com/the-tridagon-rule-t39859-27.html that the latter rules could be used and the puzzle would result into a trivial one.

This can be done in SudoRules by using the solve-w-preferences function:
Code: Select all
(solve-w-preferences "........1.....2.3.....4.56......7.....481.2..19..248...89..1..742..78..97.1.9....;28" TRIDAGONS)

Code: Select all
Resolution state after Singles and whips[1]:
   +----------------------+----------------------+----------------------+
   ! 235689 34567  235678 ! 35679  3568   3569   ! 479    2489   1      !
   ! 5689   14567  5678   ! 15679  568    2      ! 479    3      48     !
   ! 2389   137    2378   ! 1379   4      39     ! 5      6      28     !
   +----------------------+----------------------+----------------------+
   ! 23568  356    23568  ! 3569   356    7      ! 13469  1459   3456   !
   ! 356    3567   4      ! 8      1      3569   ! 2      579    356    !
   ! 1      9      3567   ! 356    2      4      ! 8      57     356    !
   +----------------------+----------------------+----------------------+
   ! 356    8      9      ! 23456  356    1      ! 346    245    7      !
   ! 4      2      356    ! 356    7      8      ! 136    15     9      !
   ! 7      356    1      ! 23456  9      356    ! 346    2458   234568 !
   +----------------------+----------------------+----------------------+
196 candidates.


Code: Select all
hidden-pairs-in-a-column: c4{n2 n4}{r7 r9} ==> r9c4≠6, r9c4≠5, r9c4≠3, r7c4≠6, r7c4≠5, r7c4≠3
hidden-pairs-in-a-row: r4{n2 n8}{c1 c3} ==> r4c3≠6, r4c3≠5, r4c3≠3, r4c1≠6, r4c1≠5, r4c1≠3

extended tridagon for digits 3, 5 and 6 in blocks:
        b4, with cells: r6c3 (link cell), r5c1, r4c2
        b5, with cells: r6c4, r5c6 (link cell), r4c5
        b7, with cells: r8c3, r7c1, r9c2
        b8, with cells: r8c4, r7c5, r9c6
 ==> tridagon-link[12](n7r6c3, n9r5c6)

tridagon-forcing-whip-elim[13] based on tridagon-link(n9r5c6, n7r6c3)
....for n9r5c6: -
....for n7r6c3: partial-whip[1]: r5n7{c2 c8} -
 ==> r5c8≠9

singles ==> r5c6=9, r3c6=3
naked-pairs-in-a-block: b6{r5c8 r6c8}{n5 n7} ==> r6c9≠5, r5c9≠5, r4c9≠5, r4c8≠5
singles ==> r9c9=5, r8c8=1, r9c6=6, r1c6=5, r9c2=3, r9c7=4, r7c8=2, r7c4=4, r9c8=8, r9c4=2, r3c9=2, r2c9=8, r2c5=6, r1c5=8, r1c8=4
naked-single ==> r4c8=9, r2c2=4, r3c2=1, r2c4=1, r4c9=4, r4c7=1
whip[1]: r4n3{c5 .} ==> r6c4≠3
whip[1]: c2n5{r5 .} ==> r5c1≠5, r6c3≠5
naked-pairs-in-a-row: r5{c1 c9}{n3 n6} ==> r5c2≠6
naked-pairs-in-a-row: r1{c4 c7}{n7 n9} ==> r1c3≠7, r1c2≠7, r1c1≠9
stte


After the Tridagon-Forcing-Whip[13] has been applied, nothing more complex than Naked-Pairs is required. The end of the path could be replaced by a single rule as in pjb's post, but that is not my point here.

This is a case where not having whips intermingled with Tridagon-Forcing-Whips simplifies the resolution path. However beware that this will not always be the case and that this may on the contrary lead to much more complicated paths.
Last edited by denis_berthier on Tue Mar 29, 2022 3:34 pm, edited 1 time in total.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Tue Mar 29, 2022 8:07 am

.
As an example of my last remark above, consider again puzzle #217.
If absolute priority is given, to the TRIDAGONS family of rules, more tridagon-forcing-whip eliminations are obtained at the start:
Code: Select all
hidden-pairs-in-a-column: c4{n5 n6}{r1 r2} ==> r2c4≠9, r2c4≠8, r2c4≠7, r1c4≠9, r1c4≠8, r1c4≠7, r1c4≠3

extended tridagon for digits 7, 8 and 9 in blocks:
        b2, with cells: r3c4 (link cell), r2c5, r1c6
        b3, with cells: r3c8, r2c9 (link cell), r1c7
        b8, with cells: r7c4, r9c5, r8c6
        b9, with cells: r7c8, r9c7, r8c9
 ==> tridagon-link[12](n3r3c4, n4r2c9)

tridagon-forcing-whip-elim[15] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[3]: r5n3{c4 c7} - r6c7{n3 n9} - r6c4{n9 n4} -
 ==> r6c9≠4

tridagon-forcing-whip-elim[20] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[8]: r5n3{c4 c7} - r6c7{n3 n9} - r6c4{n9 n4} - r6n3{c4 c5} - r1n3{c5 c1} - r3c1{n3 n9} - c2n9{r3 r4} - r5c3{n9 n4} -
 ==> r5c9≠4

tridagon-forcing-whip-elim[20] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[8]: r5n3{c4 c7} - r6c7{n3 n9} - r6c4{n9 n4} - r6n3{c4 c5} - r1n3{c5 c1} - r3c1{n3 n9} - c2n9{r3 r4} - r5c3{n9 n4} -
 ==> r2c3≠4

However, from that point on, it becomes very slow because very long tridagon-forcing-whips are looked for.
One way out of this is to restrict global variable ?*tridagon-forcing-whips-max-length*, say to 20.

In this case, the end of the resolution path is:
Code: Select all
t-whip[5]: r6n4{c4 c8} - c8n2{r6 r4} - c8n1{r4 r5} - c1n1{r5 r4} - r4n4{c1 .} ==> r5c4≠4
t-whip[6]: r5n8{c9 c4} - r5n3{c4 c7} - r6c7{n3 n9} - r6c9{n9 n5} - r6c2{n5 n2} - r4n2{c2 .} ==> r4c8≠8
t-whip[6]: r5n7{c9 c4} - r5n3{c4 c7} - r6c7{n3 n9} - r6c9{n9 n5} - r6c2{n5 n2} - r4n2{c2 .} ==> r4c8≠7
whip[6]: c3n4{r5 r1} - c3n2{r1 r7} - c1n2{r7 r1} - r1n6{c1 c4} - r1n5{c4 c2} - b4n5{r4c2 .} ==> r4c1≠4
whip[1]: b4n4{r5c3 .} ==> r5c8≠4
whip[6]: c8n2{r4 r6} - r6n1{c8 c5} - r4n1{c5 c1} - r4n2{c1 c2} - r4n5{c2 c9} - b6n4{r4c9 .} ==> r4c8≠9
whip[11]: r2c4{n5 n6} - r2c3{n6 n9} - r5c3{n9 n4} - b1n4{r1c3 r1c1} - r1n6{c1 c3} - c3n2{r1 r7} - c1n2{r7 r4} - c8n2{r4 r6} - r6n1{c8 c5} - r4n1{c5 c8} - c8n4{r4 .} ==> r2c1≠5
whip[11]: c5n3{r1 r6} - r6c7{n3 n9} - r6c4{n9 n4} - c4n3{r6 r3} - r3c1{n3 n9} - c2n9{r3 r4} - r2n9{c2 c9} - c9n4{r2 r4} - r4n5{c9 c1} - r9n5{c1 c3} - r9n9{c3 .} ==> r1c5≠9
t-whip[12]: r1n3{c5 c1} - r3n3{c1 c4} - r5n3{c4 c7} - r6n3{c7 c5} - r6n1{c5 c8} - c8n2{r6 r4} - c1n2{r4 r7} - c3n2{r7 r1} - b1n4{r1c3 r2c1} - c1n6{r2 r8} - c1n8{r8 r9} - c7n8{r9 .} ==> r1c5≠8

tridagon-forcing-whip-elim[17] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[5]: r5n3{c4 c7} - r6n3{c7 c5} - r1c5{n3 n7} - c7n7{r1 r9} - c7n8{r9 r1} -
 ==> r2c9≠8

tridagon-forcing-whip-elim[19] based on tridagon-link(n4r2c9, n3r3c4)
....for n4r2c9: -
....for n3r3c4: partial-whip[7]: r5n3{c4 c7} - r6n3{c7 c5} - r1c5{n3 n7} - c7n7{r1 r9} - c7n8{r9 r1} - r3n8{c8 c2} - c2n7{r3 r2} -
 ==> r2c9≠7

hidden-pairs-in-a-row: r2{n7 n8}{c2 c5} ==> r2c5≠9, r2c2≠9, r2c2≠5
whip[4]: r5n4{c3 c1} - r2n4{c1 c9} - r2n9{c9 c1} - b7n9{r7c1 .} ==> r5c3≠9
naked-single ==> r5c3=4
whip[5]: r6c7{n9 n3} - r5n3{c7 c4} - r5n9{c4 c1} - r2n9{c1 c3} - b7n9{r7c3 .} ==> r4c9≠9
whip[5]: r6n4{c4 c8} - c8n2{r6 r4} - c8n1{r4 r5} - r5c1{n1 n9} - b6n9{r5c9 .} ==> r6c4≠9
whip[5]: r6c7{n9 n3} - r5n3{c7 c4} - r5n9{c4 c1} - r2n9{c1 c3} - b7n9{r7c3 .} ==> r6c9≠9
naked-single ==> r6c9=5
t-whip[4]: c8n2{r4 r6} - r6c2{n2 n9} - r5c1{n9 n1} - c8n1{r5 .} ==> r4c8≠4
biv-chain[4]: r6c7{n9 n3} - r6c4{n3 n4} - b6n4{r6c8 r4c9} - r2c9{n4 n9} ==> r5c9≠9, r1c7≠9
t-whip[5]: b1n4{r2c1 r1c1} - c8n4{r1 r6} - c8n2{r6 r4} - c8n1{r4 r5} - r5c1{n1 .} ==> r2c1≠9
whip[6]: c8n4{r1 r6} - c8n2{r6 r4} - c8n1{r4 r5} - r5c1{n1 n9} - c2n9{r4 r3} - b2n9{r3c4 .} ==> r1c8≠9
whip[6]: r2c9{n9 n4} - b6n4{r4c9 r6c8} - c8n2{r6 r4} - c8n1{r4 r5} - r5c1{n1 n9} - b7n9{r7c1 .} ==> r2c3≠9
singles ==> r2c9=9, r1c8=4,  r2c1=4, r4c9=4, r6c4=4
whip[1]: b6n7{r5c9 .} ==> r5c4≠7
whip[1]: b6n8{r5c9 .} ==> r5c4≠8
whip[8]: r5c4{n9 n3} - c7n3{r5 r6} - c5n3{r6 r1} - c1n3{r1 r3} - r3n9{c1 c2} - b4n9{r4c2 r5c1} - c7n9{r5 r9} - c5n9{r9 .} ==> r4c4≠9
whip[7]: r4c4{n8 n7} - r7c4{n7 n9} - b2n9{r3c4 r1c6} - c6n7{r1 r8} - r8c9{n7 n8} - r7c8{n8 n7} - r3c8{n7 .} ==> r3c4≠8
biv-chain[3]: r2c2{n7 n8} - r3n8{c2 c8} - b3n7{r3c8 r1c7} ==> r1c2≠7
whip[7]: r5c4{n9 n3} - r3c4{n3 n7} - r3c8{n7 n8} - r7c8{n8 n7} - r8c9{n7 n8} - b8n8{r8c6 r9c5} - r2c5{n8 .} ==> r7c4≠9
naked-pairs-in-a-column: c4{r4 r7}{n7 n8} ==> r3c4≠7
naked-pairs-in-a-row: r3{c1 c4}{n3 n9} ==> r3c2≠9
naked-pairs-in-a-block: b1{r2c2 r3c2}{n7 n8} ==> r1c2≠8
z-chain[4]: b8n9{r8c6 r9c5} - b9n9{r9c7 r7c8} - b9n8{r7c8 r9c7} - r1n8{c7 .} ==> r8c6≠8
biv-chain[3]: b3n8{r3c8 r1c7} - c6n8{r1 r4} - c4n8{r4 r7} ==> r7c8≠8
biv-chain[3]: c9n7{r5 r8} - b9n8{r8c9 r9c7} - r1c7{n8 n7} ==> r5c7≠7
z-chain[2]: c7n7{r9 r1} - b2n7{r1c6 .} ==> r9c5≠7
biv-chain[3]: r7n8{c1 c4} - r9c5{n8 n9} - b9n9{r9c7 r7c8} ==> r7c1≠9
biv-chain[3]: b9n8{r8c9 r9c7} - r9c5{n8 n9} - r8c6{n9 n7} ==> r8c9≠7
singles ==> r8c9=8, r5c9=7
biv-chain[3]: r9c7{n7 n9} - b8n9{r9c5 r8c6} - r8n7{c6 c3} ==> r9c3≠7
stte


New Tridagon-Forcing-Whip eliminations appear after whips have been applied. It appears that the additional Tridagon-Forcing-Whip eliminations we got at the start before whips where allowed to apply were useless and the resulting path is globally more complicated.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Thu Mar 31, 2022 5:16 am

.
ANALYSIS OF THE FULL LIST OF 246 T&E(3) PUZZLES mentioned before: http://forum.enjoysudoku.com/the-hardest-sudokus-new-thread-t6539-1190.html

As already reported (http://forum.enjoysudoku.com/the-hardest-sudokus-new-thread-t6539-1200.html):
- all of these puzzles are precisely in T&E(W2, 2);
- 94 of them can be solved using only Subsets + Finned-Fish + the Tridagon elimination rule (defined in the first post of this thread);
- 117 can be solved using Subsets + Finned-Fish + the Tridagon elimination rule + Whips;
(In a few cases, the Tridagon elimination rule can only be applied after a few whip eliminations. )
- 35 have no tridagon elimination rule: 2 6 7 8 13 18 29 36 37 38 39 40 41 48 51 56 60 61 63 72 80 81 102 103 106 118 121 123 126 139 146 147 177 192 217


What about those 35?
33 of them can be solved using Subsets + Finned-Fish + Whips + Tridagon-Forcing-Whips involving relatively short partial-whips.
No puzzle in the list requires any Tridagon related pattern with more than:
- either any number of additional candidates in a single cell,
- or only two additional candidates in different cells.



The two exceptions are: #63 and #123
As they behave similarly, I'll analyse only #63
Notice that both of them have Tridagon links and Tridagon-forcing-whip eliminations, so that they are not exceptions to the above remark. They are only exceptions to the capability of these Tridagon patterns to bring them down to (relatively simple) puzzles.
Notice also that they don't have the highest SER (11.6)

#63:
Code: Select all
     +-------+-------+-------+
     ! . . . ! . . . ! . . 1 !
     ! . . . ! . . . ! . 2 3 !
     ! . . . ! 2 4 5 ! 6 . . !
     +-------+-------+-------+
     ! . . . ! 7 . 4 ! . . 5 !
     ! . . 5 ! . 8 2 ! 7 . 6 !
     ! . 7 . ! 5 6 . ! 8 . . !
     +-------+-------+-------+
     ! . 8 7 ! 4 . . ! . 6 . !
     ! 4 6 . ! . . 7 ! . . . !
     ! 5 . 2 ! 6 . 8 ! . . . !
     +-------+-------+-------+
........1.......23...2456.....7.4..5..5.827.6.7.56.8...874...6.46...7...5.26.8...;30
SER = 11.6

Code: Select all
(solve-w-preferences
    "........1.......23...2456.....7.4..5..5.827.6.7.56.8...874...6.46...7...5.26.8...;30"
    TRIDAGONS
)
Resolution state after Singles and whips[1]:
   +----------------------+----------------------+----------------------+
   ! 26789  2459   4689   ! 389    379    369    ! 459    45789  1      !
   ! 6789   459    4689   ! 189    179    169    ! 459    2      3      !
   ! 13789  139    1389   ! 2      4      5      ! 6      789    789    !
   +----------------------+----------------------+----------------------+
   ! 123689 1239   13689  ! 7      139    4      ! 1239   139    5      !
   ! 139    1349   5      ! 139    8      2      ! 7      1349   6      !
   ! 1239   7      1349   ! 5      6      139    ! 8      1349   249    !
   +----------------------+----------------------+----------------------+
   ! 139    8      7      ! 4      12359  139    ! 12359  6      29     !
   ! 4      6      139    ! 139    12359  7      ! 12359  13589  289    !
   ! 5      139    2      ! 6      139    8      ! 1349   13479  479    !
   +----------------------+----------------------+----------------------+
188 candidates.

Code: Select all
hidden-pairs-in-a-column: c5{n2 n5}{r7 r8} ==> r8c5≠9, r8c5≠3, r8c5≠1, r7c5≠9, r7c5≠3, r7c5≠1
hidden-pairs-in-a-row: r4{n6 n8}{c1 c3} ==> r4c3≠9, r4c3≠3, r4c3≠1, r4c1≠9, r4c1≠3, r4c1≠2, r4c1≠1

extended tridagon for digits 1, 3 and 9 in blocks:
        b4, with cells: r4c2 (link cell), r6c3 (link cell), r5c1
        b5, with cells: r4c5, r6c6, r5c4
        b7, with cells: r9c2, r8c3, r7c1
        b8, with cells: r9c5, r8c4, r7c6
 ==> tridagon-link[12](n2r4c2, n4r6c3)

tridagon-forcing-whip-elim[13] based on tridagon-link(n4r6c3, n2r4c2)
....for n4r6c3: -
....for n2r4c2: partial-whip[1]: r6n2{c1 c9} -
 ==> r6c9≠4

singles ==> r9c9=4, r9c8=7, r3c9=7, r8c9=8
whip[1]: c7n4{r2 .} ==> r1c8≠4

tridagon-forcing-whip-elim[18] based on tridagon-link(n4r6c3, n2r4c2)
....for n4r6c3: partial-whip[1]: r5n4{c2 c8} -
....for n2r4c2: partial-whip[5]: c1n2{r6 r1} - c1n7{r1 r2} - c1n6{r2 r4} - c1n8{r4 r3} - r3c8{n8 n9} -
==> r5c8≠9

Code: Select all
Resolution state:
+-------------------+-------------------+-------------------+
! 26789 2459  4689  ! 389   379   369   ! 459   589   1     !
! 6789  459   4689  ! 189   179   169   ! 459   2     3     !
! 1389  139   1389  ! 2     4     5     ! 6     89    7     !
+-------------------+-------------------+-------------------+
! 68    1239  68    ! 7     139   4     ! 1239  139   5     !
! 139   1349  5     ! 139   8     2     ! 7     134   6     !
! 1239  7     1349  ! 5     6     139   ! 8     1349  29    !
+-------------------+-------------------+-------------------+
! 139   8     7     ! 4     25    139   ! 12359 6     29    !
! 4     6     139   ! 139   25    7     ! 12359 1359  8     !
! 5     139   2     ! 6     139   8     ! 139   7     4     !
+-------------------+-------------------+-------------------+ 


As I had restricted the max length of Tridagon-Forcing-Whips to 18, that's all we get with the TRIDAGONS preference space, before we start using whips.
However, if I set it to 20, there are long computations but no other elimination seems to appear.


Code: Select all
whip[3]: c9n9{r6 r7} - r8n9{c8 c4} - r5n9{c4 .} ==> r6c3≠9
t-whip[6]: r6c9{n9 n2} - c1n2{r6 r1} - c1n7{r1 r2} - c1n6{r2 r4} - c1n8{r4 r3} - r3c8{n8 .} ==> r6c8≠9, r4c8≠9
hidden-pairs-in-a-block: b6{n2 n9}{r4c7 r6c9} ==> r4c7≠3, r4c7≠1
whip[1]: c7n1{r9 .} ==> r8c8≠1
whip[1]: c7n3{r9 .} ==> r8c8≠3
biv-chain[3]: r7n5{c5 c7} - r8c8{n5 n9} - r7c9{n9 n2} ==> r7c5≠2
naked-single ==> r7c5=5
naked-single ==> r8c5=2
PUZZLE 0 IS NOT SOLVED. 45 VALUES MISSING.

Code: Select all
Final resolution state:

+-------------------+-------------------+-------------------+
! 26789 2459  4689  ! 389   379   369   ! 459   589   1     !
! 6789  459   4689  ! 189   179   169   ! 459   2     3     !
! 1389  139   1389  ! 2     4     5     ! 6     89    7     !
+-------------------+-------------------+-------------------+
! 68    1239  68    ! 7     139   4     ! 29    13    5     !
! 139   1349  5     ! 139   8     2     ! 7     134   6     !
! 1239  7     134   ! 5     6     139   ! 8     134   29    !
+-------------------+-------------------+-------------------+
! 139   8     7     ! 4     5     139   ! 1239  6     29    !
! 4     6     139   ! 139   2     7     ! 1359  59    8     !
! 5     139   2     ! 6     139   8     ! 139   7     4     !
+-------------------+-------------------+-------------------+


At this point, I applied gT&E(1), which allowed no more eliminations.

Conclusion: after applying Subsets + Finned Fish + gBraids + the above tridagon-forcing-whip-eliminations, puzzle #63 is not solved.
The final resolution state is indeed in B2B.

The Tridagon-Forcing-Whips were enough to simplify the puzzle form T&E(W2, 2) to T&E(W2, 1) but not enough to solve it.

A similar analysis is valid for puzzle #123.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby mith » Thu Mar 31, 2022 5:01 pm

For #63, there is this deduction:

4r6c3 = 2r4c2 (trivalue oddagon)
4r5c2 = 2r4c2 (ALS 12349r3459c2)
=> +2r4c2

Still not quite trivial after this, though it does give a bunch of singles. (SER 6.6, but that's with a uniqueness step.)
mith
 
Posts: 950
Joined: 14 July 2020

Re: The tridagon rule

Postby denis_berthier » Fri Apr 01, 2022 1:26 am

mith wrote:For #63, there is this deduction:
4r6c3 = 2r4c2 (trivalue oddagon)
4r5c2 = 2r4c2 (ALS 12349r3459c2)
=> +2r4c2
Still not quite trivial after this, though it does give a bunch of singles. (SER 6.6, but that's with a uniqueness step.)

Hi mith,
I didn't find this because this ALS can't be re-interpreted as a partial-whip.

Finally, all the 246 puzzles are solved.
Now, I may want to consider your full list of 972, but I fear there'll be nothing really new to report, unless you have used new seeds. I've already checked they all are in T&E(W2, 2).
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby ghfick » Fri Apr 01, 2022 6:29 am

For #63, I tried pjb's solver. It turns out, one can use the strong link twice:

type 2 Tridagon with SL between 2 at r6c3 and 4 at r4c2
Simple discontinuous loop: (4)r6c3 = (2)r4c2 - (2)r1c2 = (2)r1c1 - (2)r6c1 = (2-4)r6c9 => -4 r6c9
4s at r12c7 only ones in row/column => -4 r1c8.
Type 4 unique rectangle of 25 at r78c57, eliminating 2 from r8c7
Hidden unique rectangle of 45 at r12c27, eliminating 4 from r2c2
type 2 Tridagon with SL between 2 at r4c2 and 4 at r6c3
Simple discontinuous loop: (2)r4c2 = (4)r6c3 - (4)r5c2 = (4-2)r1c2 => -2 r1c2
ghfick
 
Posts: 232
Joined: 06 April 2016
Location: Calgary, Alberta, Canada youtube.com/@gordonfick

Re: The tridagon rule

Postby denis_berthier » Fri Apr 01, 2022 6:56 am

.
Once r4c2=2 is established, uniqueness is not needed.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Sat Apr 02, 2022 4:49 am

.
Here is a quick survey of the full list of 972 non-T&E(2) puzzles https://docs.google.com/spreadsheets/d/1t-PsJT-pKGQEWjSbbNBXzLcxb5Inmooszntu9ZVCW_M/edit#gid=0 introduced by mith here: http://forum.enjoysudoku.com/the-hardest-sudokus-new-thread-t6539-1231.html
It includes the previous list of 246.
Here, I'm using the new IDs given them by mith.

For completeness, let me first recall that all of them are in T&E(W2, 2), which has become the new frontier.

Using only (Naked + Hidden + Super-HIdden) Subsets + Finned Fish + the Tridagon elimination rule defined in the 1st post of this thread, 216 puzzles can be solved:
Code: Select all
4 5 9 21 22 23 25 29 30 35 36 37 38 51 52 53 54 55 56 57 58 71 73 83 84 85 86 87 88 91 92 101 106 107 108 109 112 121 122 123 124 130 134 135 136 139 140 141 154 157 163 166 167 171 177 178 179 180 192 193 194 195 198 199 200 201 204 205 206 207 208 209 228 233 247 248 249 250 251 252 253 272 273 274 300 301 302 303 304 305 306 307 320 323 324 325 326 327 328 329 330 331 332 344 345 346 347 348 349 372 375 376 388 389 390 391 392 401 403 404 405 406 438 439 443 453 455 461 463 464 465 466 467 468 469 470 501 502 507 508 525 526 527 530 531 561 568 571 572 573 598 599 631 632 633 636 644 664 665 667 668 670 671 673 679 681 697 698 699 700 701 705 707 714 716 720 721 722 723 728 729 736 737 742 743 751 752 790 795 861 862 864 865 866 867 873 874 875 876 877 895 902 904 905 906 907 908 918 921 929 941 946 949 950 954 955



Adding whips of length ≤ 12, 505 more puzzles can be solved. Notice that the Tridagon elimination rule may apply before any whip is actually used or after.
Code: Select all
1 2 3 6 7 10 11 13 14 15 16 17 18 19 24 26 27 28 31 32 33 34 39 40 41 42 43 44 45 46 47 48 49 50 59 60 61 62 63 64 65 66 67 68 69 70 72 74 75 78 79 81 82 93 94 95 96 97 98 99 100 102 103 104 105 110 111 113 114 115 116 117 118 119 120 125 126 127 129 131 132 133 137 138 142 143 144 145 146 147 148 149 150 151 152 153 158 159 160 161 162 170 172 174 175 176 181 182 183 184 185 186 187 188 189 190 191 196 197 202 203 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 227 229 230 231 238 239 240 241 242 243 244 245 246 254 255 256 257 258 259 260 261 262 263 264 268 270 271 275 276 277 278 279 280 281 282 283 284 285 286 287 292 293 294 295 313 314 315 316 317 318 319 321 322 353 354 355 356 357 362 363 364 368 369 370 371 373 374 377 378 382 383 384 402 411 412 413 414 415 416 420 429 430 433 437 440 441 444 445 446 447 448 449 450 462 479 484 503 504 505 506 509 510 511 512 513 514 516 523 528 529 559 560 562 569 574 575 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 634 635 637 638 639 640 641 642 643 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 666 669 672 674 675 676 677 678 680 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 702 703 704 706 708 709 710 711 712 713 715 717 718 719 724 725 726 727 730 731 732 733 734 735 738 739 740 741 744 745 746 747 748 749 750 753 754 755 756 757 758 759 760 761 762 763 765 767 768 769 770 771 772 773 774 775 776 777 778 782 783 784 785 786 787 788 789 791 792 793 794 796 797 798 799 800 801 802 803 809 810 811 813 814 816 817 819 820 821 822 823 824 830 831 833 835 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 863 868 869 870 871 872 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 896 897 898 899 900 901 903 909 910 911 912 913 914 916 917 919 920 922 923 924 925 926 927 928 930 931 934 935 936 938 939 940 943 944 951 961

Until now, that makes a total of 721 puzzles solved without using Tridagon links.


Adding tridagon-links and Tridagon-Forcing-Whips of length ≤ 15, 41 more puzzles can be solved, pushing the total to 762:
Code: Select all
8 12 20 76 77 80 89 90 155 156 164 165 168 169 173 226 232 234 235 236 237 265 266 267 442 459 518 522 524 563 564 565 567 570 595 596 597 932 933 945 948



Having a Tridagon-link and being solvable by Tridagon-Forcing-Whips is not equivalent: among the 972-721=251 puzzles that are not solved with the Tridagon elimination rule, only 3 puzzles don't have a tridagon-link:
Code: Select all
#827:
+-------------------+-------------------+-------------------+
! 1     23    348   ! 248   5     6     ! 7     248   9     !
! 2478  25    4578  ! 1248  248   9     ! 1248  3     6     !
! 6     29    489   ! 3     7     1248  ! 1248  5     248   !
+-------------------+-------------------+-------------------+
! 23489 2359  34589 ! 59    6     248   ! 248   7     1     !
! 248   16    1468  ! 12478 3     12478 ! 9     248   5     !
! 2489  7     14589 ! 59    248   1248  ! 3     6     248   !
+-------------------+-------------------+-------------------+
! 379   16    13679 ! 24678 248   2478  ! 5     12489 23478 !
! 5     8     167   ! 2467  9     3     ! 246   124   247   !
! 379   4     2     ! 678   1     5     ! 68    89    378   !
+-------------------+-------------------+-------------------+

#828
+-------------------+-------------------+-------------------+
! 1     248   3     ! 248   5     6     ! 24789 278   49    !
! 248   5     7     ! 1     248   9     ! 23468 238   346   !
! 6     9     248   ! 3     2478  2478  ! 5     128   14    !
+-------------------+-------------------+-------------------+
! 248   6     1     ! 5     3     248   ! 248   9     7     !
! 59    23478 59    ! 248   6     2478  ! 12348 1238  134   !
! 2478  23478 248   ! 9     2478  1     ! 2348  6     5     !
+-------------------+-------------------+-------------------+
! 3     17    2569  ! 26    29    25    ! 17    4     8     !
! 45789 1478  45689 ! 468   489   3458  ! 13679 137   2     !
! 2489  248   24689 ! 7     1     2348  ! 369   5     369   !
+-------------------+-------------------+-------------------+

#836
+-------------------+-------------------+-------------------+
! 1     248   3     ! 248   5     6     ! 24789 278   49    !
! 248   5     7     ! 1     248   9     ! 23468 238   346   !
! 6     9     248   ! 3     2478  2478  ! 5     128   14    !
+-------------------+-------------------+-------------------+
! 248   6     1     ! 5     3     248   ! 248   9     7     !
! 59    23478 59    ! 248   6     12478 ! 12348 1238  134   !
! 2478  23478 248   ! 9     2478  12478 ! 12348 6     5     !
+-------------------+-------------------+-------------------+
! 3     17    2569  ! 26    29    25    ! 17    4     8     !
! 45789 1478  45689 ! 468   489   3458  ! 13679 137   2     !
! 2489  248   24689 ! 7     1     2348  ! 369   5     369   !
+-------------------+-------------------+-------------------+


It is easy to see that these 3 puzzles have a more general pattern, with 1 (or even 2) additional candidate(s) in 3 cells. I'm curious to see if anyone can use such OR3 or OR4 relations in any smart way.

(Note. I'm making no statistical claim: due to the way it is built, the collection can only be strongly biased.)
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

PreviousNext

Return to Advanced solving techniques