The tridagon rule

Advanced methods and approaches for solving Sudoku puzzles

Re: The tridagon rule

Postby denis_berthier » Tue Jul 26, 2022 8:25 am

.
THE ANTI-TRIDAGON PATTERN

While I use the expression "trivalue oddagon pattern" for (and only for) the precise contradictory pattern (a pattern that can appear in no well-formed puzzle), let me call anti-trivalue-oddagon pattern or in short anti-tridagon pattern the following very broad set of conditions (which, in and of itself, allows no assertion or elimination, but only a big OR conclusion). It is defined to cover all the cases of any number of additional candidates in any number of cells of the "trivalue oddagon pattern".
(As such, it covers the trivalue oddagon pattern as well as the pattern of the tridagon rule in the 2st post or the patterns of the Tridagon Forcing Whips. But it covers many more cases.)

The anti-tridagon pattern
Let there be four blocks forming a rectangle in two bands and two stacks:
b11 b12
b21 b22
Let there be three digits, say 1 2 3, such that:
in each of the four blocks, there are three cells in different rows and different columns such that:
-- the same additional conditions on the 4x3 cells as in the first post of this thread are satisfied;
-- each of these 4x3 cells contains the three digits
----------notice that this doesn't cover the case where digits might be missing in some cell - but I haven't seen any such case as yet;
----------notice also the only difference with the contradictory trivalue oddagon pattern: each cell may contain any number of additional candidates


First remark: in any such case, none of the three digits can be a given in the 2 bands and 2 stacks of the 4 blocks. As a result, at least two of the three digits must be given in the uniquely defined block not in the 2 stacks and not in the 2 bands. This justifies mith's additional criterion and may provide speed improvements in some implementations.

First result: each of the 63,137 min-expand puzzles in mith's database has at least one anti-tridagon pattern (and at most one possibility for the broader pattern of blocks and digits). (Thanks mith for pointing out an error in the first version of this statement.)

Second result: classification of the number of additional candidates when Subsets, Finned-Fish, whips[≤7], Tridagons and Tridagon-Forcing-Whips(≤22) are active:
Code: Select all
1:  33,579 (including 29,356 solved in SFin+Trid+W7)
2:  19,016 (including 9089 solved in SFin+Trid+W7+TFW22 but not in SFin+Trid+W7)
3:  7,443
4:  2,201
5:  647
6:  191
7:  42
8:  7
9:  7
10: 2
11: 1
12: 1
Total: 63,137


[Edit:] I think the above results can best be appreciated if compared to the raw results after allowing only Subsets and Finned Fish:
Code: Select all
1:  23,279
2:  16,830
3:  10,851
4:  6,165
5:  3,254
6:  1,718
7:  562
8:  233
9:  121
10: 59
11: 40
12: 20
13: 1
14: 0
15: 4
Total: 63137
Last edited by denis_berthier on Wed Jul 27, 2022 1:40 am, edited 2 times in total.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby creint » Tue Jul 26, 2022 10:21 am

If you don't want to use UR it becomes very hard, but you can use the tri pattern and then its stte.
Code: Select all
.-------------------.-----------------.--------------.
| 149    23    23   | 149   56    56  | 7   8    149 |
| 149    5     6    | 7     8     149 | 19  3    2   |
| 14789  178   479  | 2     149   3   | 6   149  5   |
:-------------------+-----------------+--------------:
| 2      67    5    | 1489  1469  149 | 48  79   3   |
| 3      9     1    | 48    2     7   | 48  5    6   |
| 67     4     8    | 39    356   56  | 2   179  19  |
:-------------------+-----------------+--------------:
| 5      137   349  | 1349  37    2   | 19  6    8   |
| 1489   1378  3479 | 6     379   149 | 5   2    149 |
| 69     126   249  | 5     149   8   | 3   149  7   |
'-------------------'-----------------'--------------'

Now only a generalized definition is needed to find all patterns. Quad patterns are in larger puzzles. Or a 6 block pattern:
Hidden Text: Show
Code: Select all
.---------------------------------.---------------------------------.---------------------------------.
| 123        123456789  123456789 | 123        123456789  123456789 | 123456789  123456789  123456789 |
| 123456789  123        123456789 | 123456789  123        123456789 | 123456789  123456789  123456789 |
| 123456789  123456789  123       | 123456789  123456789  123       | 123456789  123456789  123456789 |
:---------------------------------+---------------------------------+---------------------------------:
| 123        123456789  123456789 | 123456789  123456789  123456789 | 123        123456789  123456789 |
| 123456789  123        123456789 | 123456789  123456789  123456789 | 123456789  123        123456789 |
| 123456789  123456789  123       | 123456789  123456789  123456789 | 123456789  123456789  123       |
:---------------------------------+---------------------------------+---------------------------------:
| 123456789  123456789  123456789 | 123        123456789  123456789 | 123456789  123456789  123       |
| 123456789  123456789  123456789 | 123456789  123        123456789 | 123456789  123        123456789 |
| 123456789  123456789  123456789 | 123456789  123456789  123       | 123        123456789  123456789 |
'---------------------------------'---------------------------------'---------------------------------'

The exclusions are simple if you find a valid pattern. I don't even know how to hardcode this single pattern.
I just want a generic fast way of finding exclusions using the smallest pattern without coding all those patterns.
creint
 
Posts: 393
Joined: 20 January 2018

Re: The tridagon rule

Postby denis_berthier » Tue Jul 26, 2022 11:22 am

What are you talking about?
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby mith » Tue Jul 26, 2022 9:29 pm

First result: each of the 63,137 min-expand puzzles in mith's database has one and only one anti-tridagon pattern.


There are definitely puzzles where the pattern of *cells* is not unique after subsets (for example Tanngrisnir and Tanngnjóstr, ID 19252 which has two valid choices in box 4, each of which can be used to place a guardian digit as shown in marek's solution) - maybe the addition of finned fish and whips[≤7] is enough to disambiguate in all cases, I'm not sure. (Obviously the pattern of digits and boxes is unique to all of these puzzles.)

Also, I finally have a working desktop again, so I'll get my scripts merged together and get some more results out. Current count in the expanded db is over 469k.
mith
 
Posts: 950
Joined: 14 July 2020

Re: The tridagon rule

Postby denis_berthier » Wed Jul 27, 2022 1:48 am

mith wrote:
First result: each of the 63,137 min-expand puzzles in mith's database has one and only one anti-tridagon pattern.

There are definitely puzzles where the pattern of *cells* is not unique after subsets (for example Tanngrisnir and Tanngnjóstr, ID 19252 which has two valid choices in box 4, each of which can be used to place a guardian digit as shown in marek's solution) - maybe the addition of finned fish and whips[≤7] is enough to disambiguate in all cases, I'm not sure. (Obviously the pattern of digits and boxes is unique to all of these puzzles.).

OK. I corrected my first statement. (The number of occurrences was not properly counted.) Thanks.
This doesn't change the main point of my classification results: after applying rather simple rules (simple for a puzzle in T&E(3)), the number of remaining "guardians" is much less than at first sight.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Mon Aug 01, 2022 4:10 pm

.
[Added for clarity of this thread]: This post marks a new turn in the use of the anti-tridagon pattern; see the post referenced below for the definition of new ORk-chains.

Using the OR-k-Forcing-Whips introduced here http://forum.enjoysudoku.com/or-k-forcing-whips-t40189.html,
here is a solution of min-expand #339, one of the puzzles that still has 4 guardians after applying W7.
Code: Select all
     +-------+-------+-------+
     ! . . . ! 4 . 6 ! 7 8 . !
     ! . . . ! . . . ! 2 . . !
     ! . 8 . ! 2 7 . ! . . . !
     +-------+-------+-------+
     ! 2 . 8 ! 3 4 . ! . . 7 !
     ! 3 7 . ! . 6 . ! . . . !
     ! . 4 6 ! 8 . 7 ! . . . !
     +-------+-------+-------+
     ! . 6 . ! . . . ! 1 9 4 !
     ! . 3 4 ! . . . ! 5 2 . !
     ! . . . ! . . 4 ! . 7 3 !
     +-------+-------+-------+
...4.678.......2...8.27....2.834...737..6.....468.7....6....194.34...52......4.73;111;44367


Code: Select all
Resolution state after Singles and whips[1]:
   +----------------------+----------------------+----------------------+
   ! 159    1259   12359  ! 4      1359   6      ! 7      8      159    !
   ! 145679 159    13579  ! 159    13589  13589  ! 2      13456  1569   !
   ! 14569  8      1359   ! 2      7      1359   ! 3469   13456  1569   !
   +----------------------+----------------------+----------------------+
   ! 2      159    8      ! 3      4      159    ! 69     156    7      !
   ! 3      7      159    ! 159    6      1259   ! 489    145    12589  !
   ! 159    4      6      ! 8      1259   7      ! 39     135    1259   !
   +----------------------+----------------------+----------------------+
   ! 578    6      257    ! 57     2358   2358   ! 1      9      4      !
   ! 1789   3      4      ! 1679   189    189    ! 5      2      68     !
   ! 1589   1259   1259   ! 1569   12589  4      ! 68     7      3      !
   +----------------------+----------------------+----------------------+
184 candidates


Code: Select all
hidden-pairs-in-a-column: c1{n4 n6}{r2 r3} ==> r3c1≠9, r3c1≠5, r3c1≠1, r2c1≠9, r2c1≠7, r2c1≠5, r2c1≠1
hidden-single-in-a-block ==> r2c3=7
biv-chain[3]: r4c7{n9 n6} - b9n6{r9c7 r8c9} - c9n8{r8 r5} ==> r5c9≠9
z-chain[3]: c4n6{r9 r8} - r8n7{c4 c1} - r8n1{c1 .} ==> r9c4≠1
z-chain[3]: c4n6{r9 r8} - r8n7{c4 c1} - r8n9{c1 .} ==> r9c4≠9
biv-chain[4]: r4c7{n9 n6} - b9n6{r9c7 r8c9} - c9n8{r8 r5} - b6n2{r5c9 r6c9} ==> r6c9≠9
whip[1]: c9n9{r3 .} ==> r3c7≠9
biv-chain[4]: r8c9{n6 n8} - b6n8{r5c9 r5c7} - c7n4{r5 r3} - r3c1{n4 n6} ==> r3c9≠6
z-chain[5]: c1n7{r8 r7} - c1n8{r7 r9} - b9n8{r9c7 r8c9} - r8n6{c9 c4} - r8n7{c4 .} ==> r8c1≠1, r8c1≠9
whip[1]: r8n9{c6 .} ==> r9c5≠9
whip[1]: r8n1{c6 .} ==> r9c5≠1
   +-------------------+-------------------+-------------------+
   ! 159   1259  12359 ! 4     1359  6     ! 7     8     159   !
   ! 46    159   7     ! 159   13589 13589 ! 2     13456 1569  !
   ! 46    8     1359  ! 2     7     1359  ! 346   13456 159   !
   +-------------------+-------------------+-------------------+
   ! 2     159   8     ! 3     4     159   ! 69    156   7     !
   ! 3     7     159   ! 159   6     1259  ! 489   145   1258  !
   ! 159   4     6     ! 8     1259  7     ! 39    135   125   !
   +-------------------+-------------------+-------------------+
   ! 578   6     25    ! 57    2358  2358  ! 1     9     4     !
   ! 78    3     4     ! 1679  189   189   ! 5     2     68    !
   ! 1589  1259  1259  ! 56    258   4     ! 68    7     3     !
   +-------------------+-------------------+-------------------+

OR4-anti-tridagon[12] (type diag) for digits 1, 5 and 9 in blocks:
        b1, with cells: r1c1, r2c2, r3c3
        b2, with cells: r1c5, r2c4, r3c6
        b4, with cells: r6c1, r4c2, r5c3
        b5, with cells: r6c5, r4c6, r5c4
with 4 guardians: n3r1c5 n3r3c3 n3r3c6 n2r6c5

Based on this OR4 relation, several OR4-Forcing-Whips will allow an easy solution.
Code: Select all
OR4-forcing-whip-elim[4] based on OR4-anti-tridagon[12] for n3r3c6, n3r1c5, n3r3c3 and  n2r6c5:
   || n3r3c6 -
   || n3r1c5 -
   || n3r3c3 - partial-whip[1]: b3n3{r3c8 r2c8} -
   || n2r6c5 - partial-whip[2]: c6n2{r5 r7} - r7n3{c6 c5} -
 ==> r2c5≠3
t-whip[5]: c6n8{r8 r2} - r2n3{c6 c8} - r2n4{c8 c1} - r2n6{c1 c9} - r8c9{n6 .} ==> r8c5≠8
OR4-forcing-whip-elim[5] based on OR4-anti-tridagon[12] for n3r3c6, n3r3c3, n3r1c5 and  n2r6c5:
   || n3r3c6 -
   || n3r3c3 -
   || n3r1c5 - partial-whip[1]: c3n3{r1 r3} -
   || n2r6c5 - partial-whip[3]: r5n2{c6 c9} - r5n8{c9 c7} - c7n4{r5 r3} -
 ==> r3c7≠3
hidden-single-in-a-column ==> r6c7=3
naked-pairs-in-a-row: r3{c1 c7}{n4 n6} ==> r3c8≠6, r3c8≠4
z-chain[5]: c6n2{r5 r7} - r7c3{n2 n5} - r5c3{n5 n9} - r6n9{c1 c5} - b5n2{r6c5 .} ==> r5c6≠1
t-whip[6]: c5n3{r7 r1} - r2n3{c6 c8} - r2n4{c8 c1} - r2n6{c1 c9} - r8n6{c9 c4} - r9c4{n6 .} ==> r7c5≠5
OR4-forcing-whip-elim[7] based on OR4-anti-tridagon[12] for n3r3c6, n3r3c3, n3r1c5 and  n2r6c5:
   || n3r3c6 - partial-whip[1]: r2n3{c6 c8} -
   || n3r3c3 - partial-whip[1]: b3n3{r3c8 r2c8} -
   || n3r1c5 - partial-whip[1]: r2n3{c6 c8} -
   || n2r6c5 - partial-whip[3]: r5n2{c6 c9} - c9n8{r5 r8} - c9n6{r8 r2} -
 ==> r2c8≠6
hidden-single-in-a-column ==> r4c8=6
naked-single ==> r4c7=9
z-chain[7]: c6n2{r5 r7} - r7c3{n2 n5} - r5c3{n5 n1} - r4n1{c2 c6} - r8c6{n1 n8} - c9n8{r8 r5} - r5n2{c9 .} ==> r5c6≠9
whip[5]: r8c5{n1 n9} - b5n9{r6c5 r5c4} - c4n1{r5 r8} - r8c6{n1 n8} - r2n8{c6 .} ==> r2c5≠1
whip[7]: b3n4{r2c8 r3c7} - c7n6{r3 r9} - c4n6{r9 r8} - c4n1{r8 r5} - b6n1{r5c8 r6c9} - r6n2{c9 c5} - b5n9{r6c5 .} ==> r2c8≠1
whip[7]: b5n9{r6c5 r5c4} - r8n9{c4 c6} - r8c5{n9 n1} - c4n1{r8 r2} - r2c2{n1 n5} - r4n5{c2 c6} - c6n1{r4 .} ==> r2c5≠9
OR4-forcing-whip-elim[7] based on OR4-anti-tridagon[12] for n3r3c6, n3r3c3, n3r1c5 and  n2r6c5:
   || n3r3c6 - partial-whip[1]: r2n3{c6 c8} -
   || n3r3c3 - partial-whip[1]: b3n3{r3c8 r2c8} -
   || n3r1c5 - partial-whip[1]: r2n3{c6 c8} -
   || n2r6c5 - partial-whip[3]: r5n2{c6 c9} - r5n8{c9 c7} - c7n4{r5 r3} -
 ==> r2c8≠4
[Edit]: better notation for the OR-k-Forcing-Whips (their content is unchanged)

The end is easy:
Code: Select all
singles ==> r3c7=4, r3c1=6, r2c1=4, r5c7=8, r9c7=6, r8c9=8, r8c1=7, r9c4=5, r7c4=7, r2c9=6, r8c4=6, r5c8=4
finned-x-wing-in-rows: n1{r4 r2}{c2 c6} ==> r3c6≠1
biv-chain[2]: r4n1{c2 c6} - c4n1{r5 r2} ==> r2c2≠1
whip[1]: r2n1{c6 .} ==> r1c5≠1
biv-chain[3]: r4n1{c2 c6} - r5c4{n1 n9} - b4n9{r5c3 r6c1} ==> r6c1≠1
biv-chain[4]: c2n2{r1 r9} - r9c5{n2 n8} - r2c5{n8 n5} - r2c2{n5 n9} ==> r1c2≠9
biv-chain[3]: c2n9{r9 r2} - c4n9{r2 r5} - b4n9{r5c3 r6c1} ==> r9c1≠9
biv-chain[4]: b7n9{r9c3 r9c2} - r2c2{n9 n5} - r2c5{n5 n8} - r9c5{n8 n2} ==> r9c3≠2
biv-chain[3]: c1n1{r1 r9} - r9c3{n1 n9} - b4n9{r5c3 r6c1} ==> r1c1≠9
singles ==> r6c1=9, r5c4=9, r2c4=1
finned-x-wing-in-rows: n1{r5 r3}{c3 c9} ==> r1c9≠1
whip[1]: b3n1{r3c9 .} ==> r3c3≠1
biv-chain[3]: r5c3{n1 n5} - r7n5{c3 c1} - r1c1{n5 n1} ==> r1c3≠1
biv-chain[3]: c1n5{r1 r7} - r7c3{n5 n2} - b1n2{r1c3 r1c2} ==> r1c2≠5
biv-chain[3]: c3n2{r7 r1} - r1n3{c3 c5} - b8n3{r7c5 r7c6} ==> r7c6≠2
singles ==> r5c6=2, r6c9=2
finned-x-wing-in-columns: n5{c2 c6}{r4 r2} ==> r2c5≠5
singles ==> r2c5=8, r9c5=2, r7c5=3, r7c6=8, r7c1=5, r1c1=1, r1c2=2, r9c1=8, r7c3=2, r1c3=3
finned-x-wing-in-columns: n5{c3 c9}{r5 r3} ==> r3c8≠5
finned-x-wing-in-columns: n5{c8 c5}{r6 r2} ==> r2c6≠5
finned-x-wing-in-columns: n5{c6 c3}{r3 r4} ==> r4c2≠5
stte
Last edited by denis_berthier on Fri Aug 11, 2023 7:30 am, edited 2 times in total.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby yzfwsf » Mon Aug 01, 2022 5:42 pm

Hidden Text: Show
Code: Select all
Hidden Pair: 46 in r2c1,r3c1 => r2c1<>1579,r3c1<>159
Hidden Single: 7 in r2 => r2c3=7
Triplet Oddagon Forcing Chain: Each true guardian of Triplet Oddagon will all lead To: r2c1<>6
3r3c3 - 3r3c78 = 3r2c8 - (3=15896)r2c24569
3r1c5 - (3=15896)r2c24569
3r3c6 - (3=15896)r2c24569
2r6c5 - (2=1594)r5c3468 - 4r2c8 = 4r2c1
Hidden Single: 6 in c1 => r3c1=6
Hidden Single: 4 in c1 => r2c1=4
Triplet Oddagon Forcing Chain: Each true guardian of Triplet Oddagon will all lead To: r9c5<>1,r25c4,r7c56,r9c5<>5,r9c5<>9
3r3c3 - (3=14596)b3p36789 - (6=8)r8c9 - (8=16795)b8p14567
3r1c5 - (3=15896)r2c24569 - (6=8)r8c9 - (8=16795)b8p14567
3r3c6 - (3=14596)b3p36789 - (6=8)r8c9 - (8=16795)b8p14567
2r6c5 - (2=15698)r12368c9 - (8=16795)b8p14567
Naked Pair: in r2c4,r5c4 => r8c4<>19,r9c4<>19,
Locked Candidates 1 (Pointing): 1 in b8 => r8c1<>1
Locked Candidates 1 (Pointing): 9 in b8 => r8c1<>9
Naked Triple: in r7c5,r7c6,r9c5 => r8c5<>8,r8c6<>8,
Triplet Oddagon Forcing Chain: Each true guardian of Triplet Oddagon will all lead To: r2c5<>3
3r3c3 - 3r3c78 = 3r2c8
3r1c5
3r3c6
2r6c5 - (2=83)r79c5
UR Forcing Chain: Each true guardian of UR 38{r27c56} will all lead to: r2c6<>3
1r2c5 - (1=5693)r2c2489
5r2c5 - (5=1693)r2c2489
9r2c5 - (9=1563)r2c2489
1r2c6
5r2c6
9r2c6
(2-3)r7c5 = 3r7c6
2r7c6 - (2=1593)r3458c6
Hidden Single: 3 in r2 => r2c8=3
Hidden Single: 6 in r2 => r2c9=6
Hidden Single: 3 in r6 => r6c7=3
Hidden Single: 6 in r8 => r8c4=6
Hidden Single: 7 in r8 => r8c1=7
Hidden Single: 7 in r7 => r7c4=7
Hidden Single: 8 in r8 => r8c9=8
Full House: r9c7=6
Hidden Single: 6 in r4 => r4c8=6
Hidden Single: 8 in r5 => r5c7=8
Hidden Single: 4 in r5 => r5c8=4
Hidden Single: 4 in r3 => r3c7=4
Full House: r4c7=9
Hidden Single: 5 in c4 => r9c4=5
Finned X-Wing:1r24\c26 fr2c45 => r3c6<>1
Finned X-Wing:5r24\c26 fr2c5 => r3c6<>5
Finned Swordfish:1r248\c256 fr2c4 => r1c5<>1
Locked Candidates 1 (Pointing): 1 in b2 => r2c2<>1
Whip[3]: Supposing 9r1c3 would causes 3 to disappear in Row 1 => r1c3<>9
9r1c3 - r2c2(9=5) - 5b2(p6=p2) - 3r1(c5=.)
Whip[3]: Supposing 1r6c1 would causes 9 to disappear in Box 4 => r6c1<>1
1r6c1 - 1r4(c2=c6) - r5c4(1=9) - 9b4(p6=.)
Whip[4]: Supposing 9r1c2 would causes 5 to disappear in Box 2 => r1c2<>9
9r1c2 - r2c2(9=5) - r1c1(5=1) - r1c9(1=5) - 5b2(p2=.)
Whip[3]: Supposing 9r9c1 would causes 9 to disappear in Column 2 => r9c1<>9
9r9c1 - 9r6(c1=c5) - 9c4(r5=r2) - 9c2(r2=.)
Whip[4]: Supposing 5r1c9 would causes 5 to disappear in Row 5 => r1c9<>5
5r1c9 - 5r3(c8=c3) - r7c3(5=2) - 2c6(r7=r5) - 5r5(c6=.)
Locked Candidates 1 (Pointing): 5 in b3 => r3c3<>5
Whip[4]: Supposing 1r1c3 would causes 1 to disappear in Box 4 => r1c3<>1
1r1c3 - r1c9(1=9) - r1c1(9=5) - 5c2(r2=r4) - 1b4(p2=.)
Whip[4]: Supposing 1r5c6 would causes 2 to disappear in Column 6 => r5c6<>1
1r5c6 - r5c4(1=9) - r5c3(9=5) - r7c3(5=2) - 2c6(r7=.)
Whip[4]: Supposing 9r1c5 will result in all candidates in cell r2c4 being impossible => r1c5<>9
9r1c5 - r1c9(9=1) - 1r3(c8=c3) - 1r5(c3=c4) - r2c4(1=.)
Whip[3]: Supposing 5r2c6 would causes 8 to disappear in Column 6 => r2c6<>5
5r2c6 - r1c5(5=3) - 3r7(c5=c6) - 8c6(r7=.)
Locked Candidates 1 (Pointing): 5 in b2 => r6c5<>5
Whip[4]: Supposing 5r1c3 would causes 5 to disappear in Column 2 => r1c3<>5
5r1c3 - r7c3(5=2) - 2c6(r7=r5) - 5c6(r5=r4) - 5c2(r4=.)
Whip[3]: Supposing 1r9c2 would causes 1 to disappear in Column 1 => r9c2<>1
1r9c2 - r4c2(1=5) - 5b1(p5=p1) - 1c1(r1=.)
Whip[4]: Supposing 5r1c2 would causes 9 to disappear in Box 7 => r1c2<>5
5r1c2 - r2c2(5=9) - r1c1(9=1) - 1r9(c1=c3) - 9b7(p9=.)
Whip[3]: Supposing 8r7c5 would causes 3 to disappear in Column 5 => r7c5<>8
8r7c5 - r7c1(8=5) - 5r1(c1=c5) - 3c5(r1=.)
Whip[4]: Supposing 9r2c2 would causes 9 to disappear in Box 2 => r2c2<>9
9r2c2 - 5c2(r2=r4) - r4c6(5=1) - r8c6(1=9) - 9b2(p9=.)
Hidden Single: 9 in c2 => r9c2=9
Hidden Single: 2 in c2 => r1c2=2
Hidden Single: 1 in c2 => r4c2=1
Full House: r4c6=5
Full House: r2c2=5
Hidden Single: 5 in r1 => r1c5=5
Hidden Single: 3 in r1 => r1c3=3
Hidden Single: 3 in r3 => r3c6=3
Hidden Single: 3 in r7 => r7c5=3
Whip[3]: Supposing 9r2c5 will result in all candidates in cell r8c5 being impossible => r2c5<>9
9r2c5 - r2c4(9=1) - 1c6(r2=r8) - r8c5(1=.)
Whip[3]: Supposing 9r5c3 would causes 5 to disappear in Column 3 => r5c3<>9
9r5c3 - r5c6(9=2) - 2r7(c6=c3) - 5c3(r7=.)
stte

If i disable UR-Foring chain, the path will be longer.
Hidden Text: Show
Code: Select all
Hidden Pair: 46 in r2c1,r3c1 => r2c1<>1579,r3c1<>159
Hidden Single: 7 in r2 => r2c3=7
Triplet Oddagon Forcing Chain: Each true guardian of Triplet Oddagon will all lead To: r2c1<>6
3r3c3 - 3r3c78 = 3r2c8 - (3=15896)r2c24569
3r1c5 - (3=15896)r2c24569
3r3c6 - (3=15896)r2c24569
2r6c5 - (2=1594)r5c3468 - 4r2c8 = 4r2c1
Hidden Single: 6 in c1 => r3c1=6
Hidden Single: 4 in c1 => r2c1=4
Triplet Oddagon Forcing Chain: Each true guardian of Triplet Oddagon will all lead To: r9c5<>1,r25c4,r7c56,r9c5<>5,r9c5<>9
3r3c3 - (3=14596)b3p36789 - (6=8)r8c9 - (8=16795)b8p14567
3r1c5 - (3=15896)r2c24569 - (6=8)r8c9 - (8=16795)b8p14567
3r3c6 - (3=14596)b3p36789 - (6=8)r8c9 - (8=16795)b8p14567
2r6c5 - (2=15698)r12368c9 - (8=16795)b8p14567
Naked Pair: in r2c4,r5c4 => r8c4<>19,r9c4<>19,
Locked Candidates 1 (Pointing): 1 in b8 => r8c1<>1
Locked Candidates 1 (Pointing): 9 in b8 => r8c1<>9
Naked Triple: in r7c5,r7c6,r9c5 => r8c5<>8,r8c6<>8,
Triplet Oddagon Forcing Chain: Each true guardian of Triplet Oddagon will all lead To: r2c5<>3
3r3c3 - 3r3c78 = 3r2c8
3r1c5
3r3c6
2r6c5 - (2=83)r79c5
Whip[3]: Supposing 9r5c9 would causes 8 to disappear in Box 6 => r5c9<>9
9r5c9 - r4c7(9=6) - r9c7(6=8) - 8b6(p4=.)
Whip[4]: Supposing 9r3c7 would causes 4 to disappear in Box 3 => r3c7<>9
9r3c7 - r4c7(9=6) - 6c8(r4=r2) - 3b3(p5=p8) - 4b3(p8=.)
Locked Candidates 2 (Claiming): 9 in c7 => r6c9<>9
Whip[4]: Supposing 1r5c6 would causes 2 to disappear in Column 6 => r5c6<>1
1r5c6 - r5c4(1=9) - r5c3(9=5) - r7c3(5=2) - 2c6(r7=.)
Whip[4]: Supposing 9r5c6 would causes 2 to disappear in Column 6 => r5c6<>9
9r5c6 - r5c4(9=1) - r5c3(1=5) - r7c3(5=2) - 2c6(r7=.)
Whip[6]: Supposing 1r2c8 would causes 1 to disappear in Column 4 => r2c8<>1
1r2c8 - 3r2(c8=c6) - 8r2(c6=c5) - r9c5(8=2) - 2r6(c5=c9) - 1b6(p9=p6) - 1c4(r5=.)
Whip[7]: Supposing 1r2c5 will result in all candidates in cell r8c5 being impossible => r2c5<>1
1r2c5 - r2c4(1=9) - r2c2(9=5) - r2c9(5=6) - 6c8(r2=r4) - r4c7(6=9) - 9c6(r4=r8) - r8c5(9=.)
Whip[7]: Supposing 9r2c5 will result in all candidates in cell r8c5 being impossible => r2c5<>9
9r2c5 - r2c4(9=1) - r2c2(1=5) - r2c9(5=6) - 6c8(r2=r4) - 5r4(c8=c6) - 1c6(r4=r8) - r8c5(1=.)
Whip[8]: Supposing 1r1c2 will result in all candidates in cell r5c4 being impossible => r1c2<>1
1r1c2 - 2r1(c2=c3) - 3r1(c3=c5) - 3r2(c6=c8) - 6c8(r2=r4) - 1r4(c8=c6) - r8c6(1=9) - 9c5(r8=r6) - r5c4(9=.)
Whip[8]: Supposing 9r1c2 will result in all candidates in cell r9c7 being impossible => r1c2<>9
9r1c2 - 2c2(r1=r9) - r9c5(2=8) - r2c5(8=5) - r2c2(5=1) - 1c4(r2=r5) - 1r4(c6=c8) - 6r4(c8=c7) - r9c7(6=.)
Whip[8]: Supposing 2r9c2 would causes 1 to disappear in Column 2 => r9c2<>2
2r9c2 - r7c3(2=5) - 5r9(c1=c4) - 6r9(c4=c7) - r4c7(6=9) - 9c2(r4=r2) - 9c4(r2=r5) - r5c3(9=1) - 1c2(r4=.)
Hidden Single: 2 in c2 => r1c2=2
Whip[8]: Supposing 2r7c5 would causes 2 to disappear in Box 5 => r7c5<>2
2r7c5 - r7c3(2=5) - r7c4(5=7) - r7c1(7=8) - 8c6(r7=r2) - r2c5(8=5) - 5c2(r2=r4) - 5b5(p3=p6) - 2b5(p6=.)
Whip[8]: Supposing 9r1c3 would causes 3 to disappear in Row 2 => r1c3<>9
9r1c3 - 3r1(c3=c5) - r7c5(3=8) - r2c5(8=5) - r2c2(5=1) - 1c4(r2=r5) - 1r4(c6=c8) - 6c8(r4=r2) - 3r2(c8=.)
Whip[10]: Supposing 1r1c3 will result in all candidates in cell r1c1 being impossible => r1c3<>1
1r1c3 - 3r1(c3=c5) - r7c5(3=8) - r2c5(8=5) - r2c2(5=9) - r2c4(9=1) - r2c9(1=6) - r8c9(6=8) - r8c1(8=7) - r7c1(7=5) - r1c1(5=.)
Whip[10]: Supposing 5r1c3 will result in all candidates in cell r5c4 being impossible => r1c3<>5
5r1c3 - 3r1(c3=c5) - 3r2(c6=c8) - 6c8(r2=r4) - 6c7(r4=r9) - r9c4(6=5) - 5c2(r9=r4) - 1r4(c2=c6) - r8c6(1=9) - 9c5(r8=r6) - r5c4(9=.)
Naked Single: r1c3=3
Hidden Single: 3 in c5 => r7c5=3
Whip[10]: Supposing 5r2c8 would causes 5 to disappear in Row 6 => r2c8<>5
5r2c8 - r2c5(5=8) - r9c5(8=2) - 2r6(c5=c9) - 5b6(p9=p6) - 8r5(c9=c7) - 8r9(c7=c1) - r8c1(8=7) - r7c1(7=5) - 5r1(c1=c5) - 5r6(c5=.)
Whip[9]: Supposing 5r5c9 will result in all candidates in cell r5c6 being impossible => r5c9<>5
5r5c9 - 5c8(r6=r3) - 4r3(c8=c7) - 3b3(p7=p5) - 6r2(c8=c9) - 6r8(c9=c4) - r9c4(6=5) - 5c3(r9=r7) - 2r7(c3=c6) - r5c6(2=.)
Whip[6]: Supposing 5r2c6 would causes 6 to disappear in Column 8 => r2c6<>5
5r2c6 - 3r2(c6=c8) - r3c7(3=4) - 4r5(c7=c8) - 5r5(c8=c3) - 5r4(c2=c8) - 6c8(r4=.)
Whip[8]: Supposing 9r2c2 would causes 9 to disappear in Column 3 => r2c2<>9
9r2c2 - 9c4(r2=r5) - 9r4(c6=c7) - 6r4(c7=c8) - 6r2(c8=c9) - 5r2(c9=c5) - 8c5(r2=r9) - 2r9(c5=c3) - 9c3(r9=.)
Whip[5]: Supposing 5r2c5 would causes 8 to disappear in Column 5 => r2c5<>5
5r2c5 - r2c2(5=1) - 1c4(r2=r5) - 1c3(r5=r9) - 2r9(c3=c5) - 8c5(r9=.)
Naked Single: r2c5=8
Hidden Single: 8 in c6 => r7c6=8
Hidden Single: 2 in r7 => r7c3=2
Hidden Single: 2 in r9 => r9c5=2
Hidden Single: 2 in r6 => r6c9=2
Hidden Single: 2 in r5 => r5c6=2
Locked Candidates 1 (Pointing): 5 in b6 => r3c8<>5
Whip[5]: Supposing 1r2c6 would causes 1 to disappear in Column 4 => r2c6<>1
1r2c6 - 3r2(c6=c8) - r3c7(3=4) - r3c8(4=1) - 1c9(r1=r5) - 1c4(r5=.)
Whip[5]: Supposing 5r3c3 would causes 5 to disappear in Column 6 => r3c3<>5
5r3c3 - r2c2(5=1) - 1c4(r2=r5) - r5c3(1=9) - r4c2(9=5) - 5c6(r4=.)
Whip[4]: Supposing 5r4c2 would causes 1 to disappear in Column 4 => r4c2<>5
5r4c2 - r2c2(5=1) - r3c3(1=9) - r5c3(9=1) - 1c4(r5=.)
Whip[5]: Supposing 5r1c1 would causes 5 to disappear in Box 2 => r1c1<>5
5r1c1 - r2c2(5=1) - 1c4(r2=r5) - 1r4(c6=c8) - 5r4(c8=c6) - 5b2(p9=.)
Hidden Single: 5 in b1 => r2c2=5
Whip[5]: Supposing 9r5c3 would causes 9 to disappear in Column 4 => r5c3<>9
9r5c3 - 5r5(c3=c8) - 5r4(c8=c6) - 5r3(c6=c9) - 9r3(c9=c6) - 9c4(r2=.)
Whip[3]: Supposing 1r9c1 will result in all candidates in cell r1c1 being impossible => r9c1<>1
1r9c1 - r9c2(1=9) - 9c3(r9=r3) - r1c1(9=.)
Whip[6]: Supposing 1r1c5 will result in all candidates in cell r2c4 being impossible => r1c5<>1
1r1c5 - r1c1(1=9) - r1c9(9=5) - 5c5(r1=r6) - 9r6(c5=c7) - 9r5(c7=c4) - r2c4(9=.)
Whip[3]: Supposing 9r3c9 would causes 5 to disappear in Box 3 => r3c9<>9
9r3c9 - r3c3(9=1) - 1r1(c1=c9) - 5b3(p3=.)
Whip[3]: Supposing 9r4c6 will result in all candidates in cell r5c4 being impossible => r4c6<>9
9r4c6 - r8c6(9=1) - 1c5(r8=r6) - r5c4(1=.)
Whip[4]: Supposing 9r1c1 would causes 1 to disappear in Column 1 => r1c1<>9
9r1c1 - 9r3(c3=c6) - r8c6(9=1) - 1c5(r8=r6) - 1c1(r6=.)
Hidden Single: 9 in b1 => r3c3=9
Full House: r1c1=1
Whip[3]: Supposing 1r4c6 would causes 5 to disappear in Box 5 => r4c6<>1
1r4c6 - r4c2(1=9) - r6c1(9=5) - 5b5(p8=.)
Naked Single: r4c6=5
Hidden Single: 5 in r3 => r3c9=5
Hidden Single: 5 in r1 => r1c5=5
Full House: r1c9=9
X-Wing:1c49\r25  => r5c38<>1
stte
yzfwsf
 
Posts: 852
Joined: 16 April 2019

Re: The tridagon rule

Postby denis_berthier » Mon Aug 01, 2022 5:53 pm

.
Hi yzfwsf

I'm quite surprised that in the few solutions you have given based on your equivalent of my OR3 or OR4 Forcing chains, you have very long cumulated ALS-chains; e.g. for the first in your previous post:
Code: Select all
Triplet Oddagon Forcing Chain: Each true guardian of Triplet Oddagon will all lead To: r2c1<>6
3r3c3 - 3r3c78 = 3r2c8 - (3=15896)r2c24569
3r1c5 - (3=15896)r2c24569
3r3c6 - (3=15896)r2c24569
2r6c5 - (2=1594)r5c3468 - 4r2c8 = 4r2c1

Total length: 1 (for the OR4) + 6 + 5 + 5 + 5 = 22
The longest I need is 7.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby yzfwsf » Mon Aug 01, 2022 6:28 pm

Hi denis_berthier:
The algorithm of my solver is speed priority, not for rating the puzzle, so the Cell/Region Foring chain does not use the simplest strategy, but a by-product of searching for the Als chain, basically without any additional consumption.If desired, users can use the "Search all possible steps" feature to create their own solution paths.
yzfwsf
 
Posts: 852
Joined: 16 April 2019

Re: The tridagon rule

Postby denis_berthier » Mon Aug 08, 2022 7:36 am

.
A puzzle with lots of guardians: #1182 in mith's list of 63,137 min-expands.
Code: Select all
+-------+-------+-------+
! . 2 . ! 4 . . ! . . . !
! . . 7 ! . . . ! . . 6 !
! 6 . 8 ! . . . ! . 1 5 !
+-------+-------+-------+
! . . . ! 5 . 4 ! . 6 1 !
! . . . ! . 9 . ! . . 2 !
! . 6 . ! . 1 2 ! . 9 . !
+-------+-------+-------+
! . . . ! . . 5 ! 1 . . !
! 5 . . ! . . . ! . 2 4 !
! 9 . 1 ! 2 4 . ! . . . !
+-------+-------+-------+
.2.4.......7.....66.8....15...5.4.61....9...2.6..12.9......51..5......249.124....;236;29694
SER = 11.7


If we try to find an anti-tridagon pattern just after Singles, we find two, one with 9 guardians and one with 12:
Code: Select all
+----------------------+----------------------+----------------------+
! 13     2      359    ! 4      35678  136789 ! 3789   378    3789   !
! 134    13459  7      ! 1389   2358   1389   ! 23489  348    6      !
! 6      349    8      ! 379    237    379    ! 23479  1      5      !
+----------------------+----------------------+----------------------+
! 2378   3789   239    ! 5      378    4      ! 378    6      1      !
! 13478  134578 345    ! 3678   9      3678   ! 34578  34578  2      !
! 3478   6      345    ! 378    1      2      ! 34578  9      378    !
+----------------------+----------------------+----------------------+
! 23478  3478   2346   ! 36789  3678   5      ! 1      378    3789   !
! 5      378    36     ! 136789 3678   136789 ! 36789  2      4      !
! 9      378    1      ! 2      4      3678   ! 35678  3578   378    !
+----------------------+----------------------+----------------------+

OR9-anti-tridagon[12] (type diag) for digits 7, 8 and 3 in blocks:
     b5, with cells: r4c5, r5c6, r6c4
     b6, with cells: r4c7, r5c8, r6c9
     b8, with cells: r8c5, r9c6, r7c4
     b9, with cells: r8c7, r9c9, r7c8
with 9 guardians: n6r5c6 n4r5c8 n5r5c8 n6r7c4 n9r7c4 n6r8c5 n6r8c7 n9r8c7 n6r9c6

OR12-anti-tridagon[12] (type antidiag) for digits 7, 8 and 3 in blocks:
     b5, with cells: r4c5, r5c6, r6c4
     b6, with cells: r4c7, r5c8, r6c9
     b8, with cells: r7c5, r9c6, r8c4
     b9, with cells: r7c9, r9c8, r8c7
with 12 guardians: n6r5c6 n4r5c8 n5r5c8 n6r7c5 n9r7c9 n1r8c4 n6r8c4 n9r8c4 n6r8c7 n9r8c7 n6r9c6 n5r9c8


In instead of Singles, we allow Subsets + Finned Fish (IMO, the minimal reasonable thing to do before looking for any anti-tridagon), the situation is hardly better:
Code: Select all
hidden-pairs-in-a-column: c2{n1 n5}{r2 r5} ==> r5c2≠8, r5c2≠7, r5c2≠4, r5c2≠3, r2c2≠9, r2c2≠4, r2c2≠3
   +----------------------+----------------------+----------------------+
   ! 13     2      359    ! 4      35678  136789 ! 3789   378    3789   !
   ! 134    15     7      ! 1389   2358   1389   ! 23489  348    6      !
   ! 6      349    8      ! 379    237    379    ! 23479  1      5      !
   +----------------------+----------------------+----------------------+
   ! 2378   3789   239    ! 5      378    4      ! 378    6      1      !
   ! 13478  15     345    ! 3678   9      3678   ! 34578  34578  2      !
   ! 3478   6      345    ! 378    1      2      ! 34578  9      378    !
   +----------------------+----------------------+----------------------+
   ! 23478  3478   2346   ! 36789  3678   5      ! 1      378    3789   !
   ! 5      378    36     ! 136789 3678   136789 ! 36789  2      4      !
   ! 9      378    1      ! 2      4      3678   ! 35678  3578   378    !
   +----------------------+----------------------+----------------------+

OR9-anti-tridagon[12] (type diag) for digits 7, 8 and 3 in blocks:
        b5, with cells: r4c5, r5c6, r6c4
        b6, with cells: r4c7, r5c8, r6c9
        b8, with cells: r8c5, r9c6, r7c4
        b9, with cells: r8c7, r9c9, r7c8
with 9 guardians: n6r5c6 n4r5c8 n5r5c8 n6r7c4 n9r7c4 n6r8c5 n6r8c7 n9r8c7 n6r9c6

OR12-anti-tridagon[12] (type antidiag) for digits 7, 8 and 3 in blocks:
        b5, with cells: r4c5, r5c6, r6c4
        b6, with cells: r4c7, r5c8, r6c9
        b8, with cells: r7c5, r9c6, r8c4
        b9, with cells: r7c9, r9c8, r8c7
with 12 guardians: n6r5c6 n4r5c8 n5r5c8 n6r7c5 n9r7c9 n1r8c4 n6r8c4 n9r8c4 n6r8c7 n9r8c7 n6r9c6 n5r9c8


The situation is quite better is one starts with Subsets + Finned Fish + Whips[≤4]: there remains only one anti-tridagon-pattern and it has only 5 guardians:
Code: Select all
hidden-pairs-in-a-column: c2{n1 n5}{r2 r5} ==> r5c2≠8, r5c2≠7, r5c2≠4, r5c2≠3, r2c2≠9, r2c2≠4, r2c2≠3
whip[3]: r1c1{n3 n1} - r2c2{n1 n5} - c5n5{r2 .} ==> r1c5≠3
whip[4]: c5n6{r8 r1} - r1n5{c5 c3} - r2c2{n5 n1} - c4n1{r2 .} ==> r8c4≠6
whip[4]: r3n4{c7 c2} - b1n9{r3c2 r1c3} - b3n9{r1c9 r3c7} - c7n2{r3 .} ==> r2c7≠4
whip[4]: r2c2{n1 n5} - r1n5{c3 c5} - r1n6{c5 c6} - r1n1{c6 .} ==> r2c1≠1
whip[3]: c7n2{r2 r3} - r3n4{c7 c2} - r2c1{n4 .} ==> r2c7≠3
whip[4]: r2n9{c6 c7} - r3n9{c7 c2} - r3n4{c2 c7} - c7n2{r3 .} ==> r1c6≠9
whip[4]: r3n7{c6 c7} - r3n4{c7 c2} - b1n9{r3c2 r1c3} - r1n5{c3 .} ==> r1c5≠7
whip[4]: r6n5{c7 c3} - r1n5{c3 c5} - r1n6{c5 c6} - r9n6{c6 .} ==> r9c7≠5
hidden-single-in-a-block ==> r9c8=5
whip[4]: r1c1{n3 n1} - r2c2{n1 n5} - r1n5{c3 c5} - r1n6{c5 .} ==> r1c6≠3
whip[3]: r3n4{c7 c2} - r2c1{n4 n3} - b2n3{r2c6 .} ==> r3c7≠3
whip[4]: r3n4{c7 c2} - b1n9{r3c2 r1c3} - b3n9{r1c9 r2c7} - c7n2{r2 .} ==> r3c7≠7
whip[1]: r3n7{c6 .} ==> r1c6≠7
whip[4]: r2n2{c7 c5} - c5n5{r2 r1} - r1n8{c5 c6} - r1n6{c6 .} ==> r2c7≠8
whip[4]: r1n6{c6 c5} - r1n5{c5 c3} - r2c2{n5 n1} - b2n1{r2c4 .} ==> r1c6≠8
whip[4]: r2c1{n3 n4} - r2c8{n4 n8} - r1n8{c9 c5} - c5n5{r1 .} ==> r2c5≠3
whip[4]: r1n6{c5 c6} - r1n1{c6 c1} - r2c2{n1 n5} - c5n5{r2 .} ==> r1c5≠8
whip[1]: r1n8{c9 .} ==> r2c8≠8
naked-pairs-in-a-row: r2{c1 c8}{n3 n4} ==> r2c6≠3, r2c4≠3
whip[1]: b2n3{r3c6 .} ==> r3c2≠3
whip[3]: c3n2{r7 r4} - r4n9{c3 c2} - c2n3{r4 .} ==> r7c3≠3
whip[3]: r4n2{c1 c3} - c3n9{r4 r1} - b1n3{r1c3 .} ==> r4c1≠3
whip[4]: c3n6{r8 r7} - c3n2{r7 r4} - r4n9{c3 c2} - c2n3{r4 .} ==> r8c3≠3
singles ==> r8c3=6, r9c7=6
   +-------------------+-------------------+-------------------+
   ! 13    2     359   ! 4     56    16    ! 3789  378   3789  !
   ! 34    15    7     ! 189   258   189   ! 29    34    6     !
   ! 6     49    8     ! 379   237   379   ! 249   1     5     !
   +-------------------+-------------------+-------------------+
   ! 278   3789  239   ! 5     378   4     ! 378   6     1     !
   ! 13478 15    345   ! 3678  9     3678  ! 34578 3478  2     !
   ! 3478  6     345   ! 378   1     2     ! 34578 9     378   !
   +-------------------+-------------------+-------------------+
   ! 23478 3478  24    ! 36789 3678  5     ! 1     378   3789  !
   ! 5     378   6     ! 13789 378   13789 ! 3789  2     4     !
   ! 9     378   1     ! 2     4     378   ! 6     5     378   !
   +-------------------+-------------------+-------------------+

OR5-anti-tridagon[12] (type diag) for digits 7, 8 and 3 in blocks:
        b5, with cells: r4c5, r5c6, r6c4
        b6, with cells: r4c7, r5c8, r6c9
        b8, with cells: r8c5, r9c6, r7c4
        b9, with cells: r8c7, r9c9, r7c8
with 5 guardians: n6r5c6 n4r5c8 n6r7c4 n9r7c4 n9r8c7


Now, the first thing one may want to try is wether the puzzle can be solved in W4+OR5FW4. Unfortunately, the answer is negative.
From this point on, one can progressively increase the max sizes of allowed chains, independently the size of normal chains (bivalue, z-, whips...) and the size of ORk-Forcing-Whips.
For this puzzle, I found a good balance with all chains ≤ 6 and Forcing-Whips ≤ 9:
Code: Select all
hidden-pairs-in-a-column: c2{n1 n5}{r2 r5} ==> r5c2≠8, r5c2≠7, r5c2≠4, r5c2≠3, r2c2≠9, r2c2≠4, r2c2≠3
biv-chain[3]: r1c1{n3 n1} - r2c2{n1 n5} - b2n5{r2c5 r1c5} ==> r1c5≠3
biv-chain[4]: r1c1{n3 n1} - r2c2{n1 n5} - b2n5{r2c5 r1c5} - b2n6{r1c5 r1c6} ==> r1c6≠3
biv-chain[4]: r1n1{c1 c6} - b2n6{r1c6 r1c5} - b2n5{r1c5 r2c5} - r2c2{n5 n1} ==> r2c1≠1
biv-chain[3]: r2c1{n3 n4} - r3n4{c2 c7} - b3n2{r3c7 r2c7} ==> r2c7≠3
whip[3]: r3n4{c7 c2} - r2c1{n4 n3} - b2n3{r2c4 .} ==> r3c7≠3
biv-chain[4]: r1n1{c6 c1} - r2c2{n1 n5} - b2n5{r2c5 r1c5} - b2n6{r1c5 r1c6} ==> r1c6≠7, r1c6≠8, r1c6≠9
biv-chain[3]: r8n1{c4 c6} - r1c6{n1 n6} - b5n6{r5c6 r5c4} ==> r8c4≠6
z-chain[3]: r1n8{c9 c5} - c5n5{r1 r2} - r2n2{c5 .} ==> r2c7≠8
biv-chain[4]: r1n5{c5 c3} - r2c2{n5 n1} - r1n1{c1 c6} - b2n6{r1c6 r1c5} ==> r1c5≠7, r1c5≠8
whip[1]: r1n8{c9 .} ==> r2c8≠8
whip[1]: r1n7{c9 .} ==> r3c7≠7
naked-pairs-in-a-row: r2{c1 c8}{n3 n4} ==> r2c7≠4, r2c6≠3, r2c5≠3, r2c4≠3
whip[1]: b2n3{r3c6 .} ==> r3c2≠3
z-chain[3]: c2n3{r9 r4} - r4n9{c2 c3} - c3n2{r4 .} ==> r7c3≠3
z-chain[3]: b1n3{r2c1 r1c3} - c3n9{r1 r4} - r4n2{c3 .} ==> r4c1≠3
biv-chain[4]: r6n5{c7 c3} - r1n5{c3 c5} - b2n6{r1c5 r1c6} - r9n6{c6 c7} ==> r9c7≠5
hidden-single-in-a-block ==> r9c8=5
z-chain[4]: c2n3{r9 r4} - r4n9{c2 c3} - c3n2{r4 r7} - c3n6{r7 .} ==> r8c3≠3
naked-single ==> r8c3=6
hidden-single-in-a-block ==> r9c7=6
z-chain[5]: b6n5{r6c7 r5c7} - b6n4{r5c7 r5c8} - r2n4{c8 c1} - r6n4{c1 c3} - r6n5{c3 .} ==> r6c7≠3, r6c7≠8, r6c7≠7
whip[6]: r5n6{c4 c6} - r1n6{c6 c5} - r1n5{c5 c3} - r5c3{n5 n4} - r6n4{c3 c7} - r6n5{c7 .} ==> r5c4≠3
   +-------------------+-------------------+-------------------+
   ! 13    2     359   ! 4     56    16    ! 3789  378   3789  !
   ! 34    15    7     ! 189   258   189   ! 29    34    6     !
   ! 6     49    8     ! 379   237   379   ! 249   1     5     !
   +-------------------+-------------------+-------------------+
   ! 278   3789  239   ! 5     378   4     ! 378   6     1     !
   ! 13478 15    345   ! 678   9     3678  ! 34578 3478  2     !
   ! 3478  6     345   ! 378   1     2     ! 45    9     378   !
   +-------------------+-------------------+-------------------+
   ! 23478 3478  24    ! 36789 3678  5     ! 1     378   3789  !
   ! 5     378   6     ! 13789 378   13789 ! 3789  2     4     !
   ! 9     378   1     ! 2     4     378   ! 6     5     378   !
   +-------------------+-------------------+-------------------+

OR5-anti-tridagon[12] (type diag) for digits 7, 8 and 3 in blocks:
        b5, with cells: r4c5, r5c6, r6c4
        b6, with cells: r4c7, r5c8, r6c9
        b8, with cells: r8c5, r9c6, r7c4
        b9, with cells: r8c7, r9c9, r7c8
with 5 guardians: n6r5c6 n4r5c8 n6r7c4 n9r7c4 n9r8c7

OR5-forcing-whip-elim[9] based on OR5-anti-tridagon[12] for n9r8c7, n4r5c8, n9r7c4, n6r5c6 and  n6r7c4:
   || n9r8c7 -
   || n4r5c8 - partial-whip[1]: c7n4{r6 r3} -
   || n9r7c4 - partial-whip[1]: c9n9{r7 r1} -
   || n6r5c6 - partial-whip[3]: r1n6{c6 c5} - r1n5{c5 c3} - b1n9{r1c3 r3c2} -
   || n6r7c4 - partial-whip[3]: c5n6{r7 r1} - r1n5{c5 c3} - b1n9{r1c3 r3c2} -
 ==> r3c7≠9

OR5-forcing-whip-elim[9] based on OR5-anti-tridagon[12] for n9r7c4, n9r8c7, n4r5c8, n6r5c6 and  n6r7c4:
   || n9r7c4 - partial-whip[1]: c9n9{r7 r1} -
   || n9r8c7 - partial-whip[1]: c9n9{r7 r1} -
   || n4r5c8 - partial-whip[2]: r2n4{c8 c1} - r3c2{n4 n9} -
   || n6r5c6 - partial-whip[2]: r1n6{c6 c5} - r1n5{c5 c3} -
   || n6r7c4 - partial-whip[2]: c5n6{r7 r1} - r1n5{c5 c3} -
 ==> r1c3≠9

singles ==> r3c2=9, r2c1=4, r2c8=3, r3c7=4, r6c7=5, r2c7=2, r3c5=2, r5c8=4, r6c3=4, r7c3=2, r4c1=2, r7c2=4, r4c3=9
z-chain[5]: c5n6{r7 r1} - r1c6{n6 n1} - r1c1{n1 n3} - r7c1{n3 n8} - r7c8{n8 .} ==> r7c5≠7
z-chain[5]: c5n6{r7 r1} - r1c6{n6 n1} - r1c1{n1 n3} - r7c1{n3 n7} - r7c8{n7 .} ==> r7c5≠8
z-chain[4]: r7c5{n3 n6} - r1n6{c5 c6} - c6n1{r1 r2} - c6n9{r2 .} ==> r8c6≠3
z-chain[5]: r3c4{n7 n3} - r6c4{n3 n8} - r4c5{n8 n3} - r7c5{n3 n6} - c4n6{r7 .} ==> r5c4≠7
biv-chain[4]: r5c4{n8 n6} - r7n6{c4 c5} - r1c5{n6 n5} - r2c5{n5 n8} ==> r4c5≠8, r2c4≠8
biv-chain[3]: r8n1{c6 c4} - r2c4{n1 n9} - c6n9{r2 r8} ==> r8c6≠7, r8c6≠8
whip[3]: r4n8{c7 c2} - b7n8{r8c2 r7c1} - c8n8{r7 .} ==> r1c7≠8
biv-chain[3]: r7c8{n7 n8} - r1n8{c8 c9} - c9n9{r1 r7} ==> r7c9≠7
whip[6]: r4n8{c7 c2} - r9n8{c2 c6} - r5n8{c6 c4} - r5n6{c4 c6} - c6n3{r5 r3} - c6n7{r3 .} ==> r8c7≠8
whip[1]: c7n8{r5 .} ==> r6c9≠8
whip[4]: r4n8{c7 c2} - r6n8{c1 c4} - r8n8{c4 c5} - c5n7{r8 .} ==> r4c7≠7
z-chain[3]: b6n7{r5c7 r6c9} - r9n7{c9 c2} - r4n7{c2 .} ==> r5c6≠7
z-chain[3]: c5n3{r8 r4} - b5n7{r4c5 r6c4} - r3c4{n7 .} ==> r8c4≠3, r7c4≠3
whip[4]: r5n7{c1 c7} - r6c9{n7 n3} - b5n3{r6c4 r4c5} - r7n3{c5 .} ==> r5c1≠3
whip[4]: b5n7{r4c5 r6c4} - r6c9{n7 n3} - r7n3{c9 c1} - c2n3{r8 .} ==> r4c5≠3
naked-single ==> r4c5=7
whip[1]: c2n7{r9 .} ==> r7c1≠7
whip[1]: c5n3{r8 .} ==> r9c6≠3
finned-x-wing-in-rows: n3{r9 r4}{c2 c9} ==> r6c9≠3
singles ==> r6c9=7, r5c1=7, r5c2=1, r2c2=5, r1c3=3, r1c1=1, r1c6=6, r1c5=5, r5c3=5, r2c5=8, r8c5=3, r7c5=6, r5c4=6
finned-x-wing-in-rows: n8{r8 r6}{c4 c2} ==> r4c2≠8
stte
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Sun Sep 11, 2022 7:55 am

.
ORk-FW classification results for mith's 63137 min-expand puzzles in T&E(3):

Puzzles solved in SFin+Trid+Wn+ORkFWn
Code: Select all
-----------------------------------------------------------------------
        n=3                 n=5                 n=7                 n=8    
-----------------------------------------------------------------------
     8 ,196   puzzles solved by SFin+Trid (among 63 137 min-expands)   
-----------------------------------------------------------------------
k=0   8,137              17,532              21,160              22,332
     16,333       9,395  25,728       3,628  29,356       1,172  30,528
-----------------------------------------------------------------------
k=2   3,350               8,713              11,231              12,068   
     19,683      14,758  34,441       6,146  40,587       2,009  42,596   
-----------------------------------------------------------------------
k=3     428               2,255               3,471      
     20,111      16,585  36,696       7,362  44,058      
-----------------------------------------------------------------------
k=4      67                 365                 540      
     20,178      16,883  37,061       7,537  44,598      
-----------------------------------------------------------------------
k=5       2                  28                  99      
     20,180      16,909  37,089       7,608  44,697      
-----------------------------------------------------------------------
k=6       0                   4            
     20,180      16,913  37,093   
-----------------------------------------------------------------------

Lines are separated by dashes, columns are separated by large white spaces.
Each (k, n) cell has three values in it:
- the main one, in the lower right corner, is the total number of puzzles solved by SFin + Trid + Wn + ORkFWn;
- the value above it is the difference with the previous line; it shows what’s gained by increasing k by 1;
- the value on the left of the main number is the difference with the previous cell; it shows what’s gained by increasing n.

Some general conclusions can be drawn from this table:
• for fixed n, as k increases, the difference between two lines decreases quite fast; this shouldn’t be too surprising, as larger k means more chains have to converge to the same candidate;
• for fixed k, as n increases, the difference between two columns decreases quite fast; this shouldn’t be too surprising either, as it already happens with all the “classical” chains (whips…);
• starting from k=2 and n=3, at any point in the table, it is much more fruitful to increase n than to increase k;

I'll give a similar table for ORk-Contrad-Whips, but the calculations are still running.

[Edit]:added case (k=2, n=8)
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Tue Sep 13, 2022 5:10 am

.
Degenerated trivalue-oddagons: case of 1 decided value

Suppose that, instead of the standard contradictory trivlaue-oddagon pattern, with alll 3 candidates in all 12 cells, one of its cells is a decided value; say r1c1=1.
It is obvious that this pattern is still contradictory. However, it no longer requires T&E(3) to be proven contradictory: this can be done in T&E(2).


The pattern is (modulo isomorphisms):
Code: Select all
+-------------------------------+-------------------------------+-------------------------------+
! 1         123456789 123456789 ! 123       123456789 123456789 ! 123456789 123456789 123456789 !
! 123456789 123       123456789 ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123       ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
+-------------------------------+-------------------------------+-------------------------------+
! 123       123456789 123456789 ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
! 123456789 123       123456789 ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123       ! 123       123456789 123456789 ! 123456789 123456789 123456789 !
+-------------------------------+-------------------------------+-------------------------------+
! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
+-------------------------------+-------------------------------+-------------------------------+


Here is a way to prove the contradiction in T&E(2), using SudoRules.
Choose T&E(2) in the configuration file.
If you try to apply function "solve-sukaku-grid" to the above resolution state, computations will take too long.
On the other hand, if you try to use function "solve-k-digit-pattern-string" directly, the candidates n2r1c2 and n3r1c1 will not be deleted before starting.

There is a way out of this. Use the following two commands:
Code: Select all
(bind ?*simulated-eliminations* (create$ 211 311))
(solve-k-digit-pattern-string 3 "100100000010010000001001000100001000010010000001100000000000000000000000000000000")


SudoRules outputs a quick and short proof of the contradiction in T&E(2):

Hidden Text: Show
Code: Select all
***********************************************************************************************
***  SudoRules 20.1.s based on CSP-Rules 2.1.s, config = T&E(BRT, 2)
***  Using CLIPS 6.32-r823
***  Running on MacBookPro 16'' M1Max 2021, 64GB LPDDR5, MacOS 12.5
***  Download from: https://github.com/denis-berthier/CSP-Rules-V2.1
***********************************************************************************************
100100000010010000001001000100001000010010000001100000000000000000000000000000000
Simulated elimination of 311
Simulated elimination of 211
naked-single ==> r1c1=1
Resolution state after Singles:
   +-------------------------------+-------------------------------+-------------------------------+
   ! 1         23456789  23456789  ! 23        23456789  23456789  ! 23456789  23456789  23456789  !
   ! 23456789  23        23456789  ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
   ! 23456789  23456789  23        ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
   +-------------------------------+-------------------------------+-------------------------------+
   ! 23        123456789 123456789 ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
   ! 23456789  123       123456789 ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
   ! 23456789  123456789 123       ! 123       123456789 123456789 ! 123456789 123456789 123456789 !
   +-------------------------------+-------------------------------+-------------------------------+
   ! 23456789  123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
   ! 23456789  123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
   ! 23456789  123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
   +-------------------------------+-------------------------------+-------------------------------+

634 candidates, 0 csp-links and 0 links. Density = 0.0%
Starting non trivial part of solution.

*** STARTING T&E IN CONTEXT 0 at depth 1 with 1 csp-variables solved and 634 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 0 with 1 csp-variables solved and 634 candidates remaining


GENERATING CONTEXT 1 AT DEPTH 1, SON OF CONTEXT 0, FROM HYPOTHESIS n3r6c4.
naked-single ==> r1c4=2

*** STARTING T&E IN CONTEXT 1 at depth 1 with 1 csp-variables solved and 634 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 1 AT DEPTH 1, with 1 csp-variables solved and 634 candidates remaining


GENERATING CONTEXT 2 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n2r2c2.
naked-single ==> r3c3=3
naked-single ==> r3c6=1
naked-single ==> r2c5=3
naked-single ==> r4c6=2
naked-single ==> r4c1=3
naked-single ==> r5c2=1
NO POSSIBLE VALUE for csp-variable 155 IN CONTEXT 2. RETRACTING CANDIDATE n2r2c2 FROM CONTEXT 1.

BACK IN CONTEXT 1 with 1 csp-variables solved and 634 candidates remaining.

naked-single ==> r2c2=3
naked-single ==> r3c3=2
naked-single ==> r6c3=1
naked-single ==> r5c2=2
naked-single ==> r5c5=1
NO POSSIBLE VALUE for csp-variable 125 IN CONTEXT 1. RETRACTING CANDIDATE n3r6c4 FROM CONTEXT 0.

BACK IN CONTEXT 0 with 1 csp-variables solved and 633 candidates remaining.


GENERATING CONTEXT 3 AT DEPTH 1, SON OF CONTEXT 0, FROM HYPOTHESIS n2r6c4.
naked-single ==> r1c4=3

*** STARTING T&E IN CONTEXT 3 at depth 1 with 1 csp-variables solved and 633 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 3 AT DEPTH 1, with 1 csp-variables solved and 633 candidates remaining


GENERATING CONTEXT 4 AT DEPTH 2, SON OF CONTEXT 3, FROM HYPOTHESIS n2r2c2.
naked-single ==> r3c3=3
naked-single ==> r6c3=1
naked-single ==> r5c2=3
naked-single ==> r4c1=2
naked-single ==> r5c5=1
NO POSSIBLE VALUE for csp-variable 125 IN CONTEXT 4. RETRACTING CANDIDATE n2r2c2 FROM CONTEXT 3.

BACK IN CONTEXT 3 with 1 csp-variables solved and 633 candidates remaining.

naked-single ==> r2c2=3
naked-single ==> r3c3=2
naked-single ==> r3c6=1
naked-single ==> r4c6=3
naked-single ==> r5c5=1
naked-single ==> r5c2=2
NO POSSIBLE VALUE for csp-variable 141 IN CONTEXT 3. RETRACTING CANDIDATE n2r6c4 FROM CONTEXT 0.

BACK IN CONTEXT 0 with 1 csp-variables solved and 632 candidates remaining.

naked-single ==> r6c4=1

GENERATING CONTEXT 5 AT DEPTH 1, SON OF CONTEXT 0, FROM HYPOTHESIS n3r6c3.
naked-single ==> r3c3=2
naked-single ==> r2c2=3
naked-single ==> r4c1=2
naked-single ==> r5c2=1
naked-single ==> r4c6=3
naked-single ==> r5c5=2
naked-single ==> r2c5=1
NO POSSIBLE VALUE for csp-variable 136 IN CONTEXT 5. RETRACTING CANDIDATE n3r6c3 FROM CONTEXT 0.

BACK IN CONTEXT 0 with 2 csp-variables solved and 612 candidates remaining.

naked-single ==> r6c3=2
naked-single ==> r3c3=3
naked-single ==> r2c2=2
naked-single ==> r4c1=3
naked-single ==> r4c6=2
naked-single ==> r3c6=1
naked-single ==> r2c5=3

PUZZLE 0 HAS NO SOLUTION : NO CANDIDATE FOR RC-CELL r5c5
MOST COMPLEX RULE TRIED = NS
Puzzle 100100000010010000001001000100001000010010000001100000000000000000000000000000000 :
init-time = 0.0s, solve-time = 0.11s, total-time = 0.11s

.
Last edited by denis_berthier on Wed Sep 28, 2022 3:22 am, 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 Sep 13, 2022 5:16 am

.
Degenerated trivalue-oddagons: case of 1 missing candidate

Suppose that, instead of the standard contradictory trivlaue-oddagon pattern, with alll 3 candidates in all 12 cells, one of these candidates is missing; say n3r1c1.
It is obvious that this pattern is still contradictory. However, it no longer requires T&E(3) to be proven contradictory: this can be done in T&E(2).


The pattern is (modulo isomorphisms):
Code: Select all
+-------------------------------+-------------------------------+-------------------------------+
! 12        123456789 123456789 ! 123       123456789 123456789 ! 123456789 123456789 123456789 !
! 123456789 123       123456789 ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123       ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
+-------------------------------+-------------------------------+-------------------------------+
! 123       123456789 123456789 ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
! 123456789 123       123456789 ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123       ! 123       123456789 123456789 ! 123456789 123456789 123456789 !
+-------------------------------+-------------------------------+-------------------------------+
! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
+-------------------------------+-------------------------------+-------------------------------+


Here is a way to prove the contradiction in T&E(2), using SudoRules, in the same way as before.
Choose T&E(2) in the configuration file.
Use the following two commands:
Code: Select all
(bind ?*simulated-eliminations* (create$ 311))
(solve-k-digit-pattern-string 3 "100100000010010000001001000100001000010010000001100000000000000000000000000000000")


SudoRules still outputs a quick and short proof (though not as short as before) of the contradiction in T&E(2):

Hidden Text: Show
Code: Select all
***********************************************************************************************
***********************************************************************************************
***  SudoRules 20.1.s based on CSP-Rules 2.1.s, config = T&E(BRT, 2)
***  Using CLIPS 6.32-r823
***  Running on MacBookPro 16'' M1Max 2021, 64GB LPDDR5, MacOS 12.5
***  Download from: https://github.com/denis-berthier/CSP-Rules-V2.1
***********************************************************************************************
100100000010010000001001000100001000010010000001100000000000000000000000000000000
Simulated elimination of 311
Resolution state after Singles:
   +-------------------------------+-------------------------------+-------------------------------+
   ! 12        123456789 123456789 ! 123       123456789 123456789 ! 123456789 123456789 123456789 !
   ! 123456789 123       123456789 ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
   ! 123456789 123456789 123       ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
   +-------------------------------+-------------------------------+-------------------------------+
   ! 123       123456789 123456789 ! 123456789 123456789 123       ! 123456789 123456789 123456789 !
   ! 123456789 123       123456789 ! 123456789 123       123456789 ! 123456789 123456789 123456789 !
   ! 123456789 123456789 123       ! 123       123456789 123456789 ! 123456789 123456789 123456789 !
   +-------------------------------+-------------------------------+-------------------------------+
   ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
   ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
   ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 ! 123456789 123456789 123456789 !
   +-------------------------------+-------------------------------+-------------------------------+

656 candidates, 0 csp-links and 0 links. Density = 0.0%
Starting non trivial part of solution.

*** STARTING T&E IN CONTEXT 0 at depth 1 with 0 csp-variables solved and 656 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 0 with 0 csp-variables solved and 656 candidates remaining


GENERATING CONTEXT 1 AT DEPTH 1, SON OF CONTEXT 0, FROM HYPOTHESIS n3r6c4.

*** STARTING T&E IN CONTEXT 1 at depth 1 with 0 csp-variables solved and 656 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 1 AT DEPTH 1, with 0 csp-variables solved and 656 candidates remaining


GENERATING CONTEXT 2 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n1r1c1.
naked-single ==> r1c4=2
NO CONTRADICTION FOUND IN CONTEXT 2.
BACK IN CONTEXT 1 with 0 csp-variables solved and 656 candidates remaining.


GENERATING CONTEXT 3 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n2r1c1.
naked-single ==> r1c4=1
NO CONTRADICTION FOUND IN CONTEXT 3.
BACK IN CONTEXT 1 with 0 csp-variables solved and 656 candidates remaining.


GENERATING CONTEXT 4 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n1r1c4.
naked-single ==> r1c1=2
NO CONTRADICTION FOUND IN CONTEXT 4.
BACK IN CONTEXT 1 with 0 csp-variables solved and 656 candidates remaining.


GENERATING CONTEXT 5 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n2r1c4.
naked-single ==> r1c1=1
NO CONTRADICTION FOUND IN CONTEXT 5.
BACK IN CONTEXT 1 with 0 csp-variables solved and 656 candidates remaining.


GENERATING CONTEXT 6 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n1r2c2.
naked-single ==> r1c1=2
naked-single ==> r1c4=1
naked-single ==> r3c3=3
naked-single ==> r3c6=2
naked-single ==> r2c5=3
naked-single ==> r4c6=1
naked-single ==> r4c1=3
naked-single ==> r5c2=2
NO POSSIBLE VALUE for csp-variable 155 IN CONTEXT 6. RETRACTING CANDIDATE n1r2c2 FROM CONTEXT 1.

BACK IN CONTEXT 1 with 0 csp-variables solved and 656 candidates remaining.


GENERATING CONTEXT 7 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n2r2c2.
naked-single ==> r1c1=1
naked-single ==> r1c4=2
naked-single ==> r3c3=3
naked-single ==> r3c6=1
naked-single ==> r2c5=3
naked-single ==> r4c6=2
naked-single ==> r4c1=3
naked-single ==> r5c2=1
NO POSSIBLE VALUE for csp-variable 155 IN CONTEXT 7. RETRACTING CANDIDATE n2r2c2 FROM CONTEXT 1.

BACK IN CONTEXT 1 with 0 csp-variables solved and 656 candidates remaining.

naked-single ==> r2c2=3

GENERATING CONTEXT 8 AT DEPTH 2, SON OF CONTEXT 1, FROM HYPOTHESIS n1r2c5.
naked-single ==> r5c5=2
naked-single ==> r4c6=1
naked-single ==> r5c2=1
naked-single ==> r6c3=2
naked-single ==> r3c3=1
naked-single ==> r1c1=2
NO POSSIBLE VALUE for csp-variable 114 IN CONTEXT 8. RETRACTING CANDIDATE n1r2c5 FROM CONTEXT 1.

BACK IN CONTEXT 1 with 0 csp-variables solved and 656 candidates remaining.

naked-single ==> r2c5=2
naked-single ==> r5c5=1
naked-single ==> r5c2=2
naked-single ==> r6c3=1
naked-single ==> r4c1=3
naked-single ==> r3c3=2
naked-single ==> r1c1=1
NO POSSIBLE VALUE for csp-variable 114 IN CONTEXT 1. RETRACTING CANDIDATE n3r6c4 FROM CONTEXT 0.

BACK IN CONTEXT 0 with 0 csp-variables solved and 655 candidates remaining.


GENERATING CONTEXT 9 AT DEPTH 1, SON OF CONTEXT 0, FROM HYPOTHESIS n2r6c4.

*** STARTING T&E IN CONTEXT 9 at depth 1 with 0 csp-variables solved and 655 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 9 AT DEPTH 1, with 0 csp-variables solved and 655 candidates remaining


GENERATING CONTEXT 10 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n1r1c1.
naked-single ==> r1c4=3
NO CONTRADICTION FOUND IN CONTEXT 10.
BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.


GENERATING CONTEXT 11 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n2r1c1.
NO CONTRADICTION FOUND IN CONTEXT 11.
BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.


GENERATING CONTEXT 12 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n1r1c4.
naked-single ==> r1c1=2
NO CONTRADICTION FOUND IN CONTEXT 12.
BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.


GENERATING CONTEXT 13 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n3r1c4.
NO CONTRADICTION FOUND IN CONTEXT 13.
BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.


GENERATING CONTEXT 14 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n1r2c2.
naked-single ==> r1c1=2
naked-single ==> r3c3=3
naked-single ==> r6c3=1
naked-single ==> r4c1=3
naked-single ==> r4c6=1
naked-single ==> r3c6=2
naked-single ==> r2c5=3
NO POSSIBLE VALUE for csp-variable 155 IN CONTEXT 14. RETRACTING CANDIDATE n1r2c2 FROM CONTEXT 9.

BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.


GENERATING CONTEXT 15 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n2r2c2.
naked-single ==> r1c1=1
naked-single ==> r1c4=3
naked-single ==> r2c5=1
naked-single ==> r3c6=2
naked-single ==> r5c5=3
naked-single ==> r4c6=1
naked-single ==> r5c2=1
naked-single ==> r6c3=3
NO POSSIBLE VALUE for csp-variable 133 IN CONTEXT 15. RETRACTING CANDIDATE n2r2c2 FROM CONTEXT 9.

BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.

naked-single ==> r2c2=3

GENERATING CONTEXT 16 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n1r2c5.
naked-single ==> r5c5=3
naked-single ==> r4c6=1
naked-single ==> r1c4=3
naked-single ==> r3c6=2
naked-single ==> r3c3=1
naked-single ==> r1c1=2
naked-single ==> r4c1=3
NO POSSIBLE VALUE for csp-variable 163 IN CONTEXT 16. RETRACTING CANDIDATE n1r2c5 FROM CONTEXT 9.

BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.

naked-single ==> r2c5=2

GENERATING CONTEXT 17 AT DEPTH 2, SON OF CONTEXT 9, FROM HYPOTHESIS n1r3c3.
naked-single ==> r6c3=3
naked-single ==> r3c6=3
naked-single ==> r1c4=1
naked-single ==> r4c6=1
naked-single ==> r4c1=2
NO POSSIBLE VALUE for csp-variable 111 IN CONTEXT 17. RETRACTING CANDIDATE n1r3c3 FROM CONTEXT 9.

BACK IN CONTEXT 9 with 0 csp-variables solved and 655 candidates remaining.

naked-single ==> r3c3=2
naked-single ==> r1c1=1
naked-single ==> r1c4=3
naked-single ==> r3c6=1
naked-single ==> r4c6=3
naked-single ==> r5c5=1
naked-single ==> r5c2=2
NO POSSIBLE VALUE for csp-variable 141 IN CONTEXT 9. RETRACTING CANDIDATE n2r6c4 FROM CONTEXT 0.

BACK IN CONTEXT 0 with 0 csp-variables solved and 654 candidates remaining.

naked-single ==> r6c4=1

GENERATING CONTEXT 18 AT DEPTH 1, SON OF CONTEXT 0, FROM HYPOTHESIS n3r6c3.

*** STARTING T&E IN CONTEXT 18 at depth 1 with 1 csp-variables solved and 633 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 18 AT DEPTH 1, with 1 csp-variables solved and 633 candidates remaining


GENERATING CONTEXT 19 AT DEPTH 2, SON OF CONTEXT 18, FROM HYPOTHESIS n1r1c1.
naked-single ==> r4c1=2
naked-single ==> r4c6=3
naked-single ==> r5c5=2
naked-single ==> r5c2=1
naked-single ==> r3c3=2
naked-single ==> r2c2=3
naked-single ==> r2c5=1
NO POSSIBLE VALUE for csp-variable 136 IN CONTEXT 19. RETRACTING CANDIDATE n1r1c1 FROM CONTEXT 18.

BACK IN CONTEXT 18 with 1 csp-variables solved and 633 candidates remaining.

naked-single ==> r1c1=2
naked-single ==> r4c1=1
naked-single ==> r5c2=2
naked-single ==> r5c5=3
naked-single ==> r4c6=2
naked-single ==> r3c3=1
naked-single ==> r3c6=3
NO POSSIBLE VALUE for csp-variable 114 IN CONTEXT 18. RETRACTING CANDIDATE n3r6c3 FROM CONTEXT 0.

BACK IN CONTEXT 0 with 1 csp-variables solved and 632 candidates remaining.

naked-single ==> r6c3=2

GENERATING CONTEXT 20 AT DEPTH 1, SON OF CONTEXT 0, FROM HYPOTHESIS n3r5c5.
naked-single ==> r4c6=2
naked-single ==> r5c2=1
naked-single ==> r4c1=3

*** STARTING T&E IN CONTEXT 20 at depth 1 with 2 csp-variables solved and 612 candidates remaining ***

        STARTING PHASE 1 IN CONTEXT 20 AT DEPTH 1, with 2 csp-variables solved and 612 candidates remaining


GENERATING CONTEXT 21 AT DEPTH 2, SON OF CONTEXT 20, FROM HYPOTHESIS n1r1c1.
naked-single ==> r3c3=3
naked-single ==> r2c2=2
naked-single ==> r2c5=1
NO POSSIBLE VALUE for csp-variable 136 IN CONTEXT 21. RETRACTING CANDIDATE n1r1c1 FROM CONTEXT 20.

BACK IN CONTEXT 20 with 2 csp-variables solved and 612 candidates remaining.

naked-single ==> r1c1=2
naked-single ==> r2c2=3
naked-single ==> r3c3=1
naked-single ==> r3c6=3
NO POSSIBLE VALUE for csp-variable 114 IN CONTEXT 20. RETRACTING CANDIDATE n3r5c5 FROM CONTEXT 0.

BACK IN CONTEXT 0 with 2 csp-variables solved and 611 candidates remaining.

naked-single ==> r5c5=2
naked-single ==> r4c6=3
naked-single ==> r4c1=1
naked-single ==> r1c1=2
naked-single ==> r1c4=3
naked-single ==> r2c5=1
naked-single ==> r2c2=3

PUZZLE 0 HAS NO SOLUTION : NO CANDIDATE FOR RC-CELL r5c2
MOST COMPLEX RULE TRIED = NS
Puzzle 100100000010010000001001000100001000010010000001100000000000000000000000000000000 :
init-time = 0.0s, solve-time = 0.25s, total-time = 0.25s
s

.
Last edited by denis_berthier on Wed Sep 28, 2022 3:23 am, edited 1 time in total.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Fri Sep 16, 2022 4:19 pm

.
ORk-CW classification results for mith's 63137 min-expand puzzles in T&E(3):

Here are results for ORk-Contrad-Whips similar to those for ORk-Forcing-Whips in the first post of this page.

Puzzles solved in SFin+Trid+Wn+ORkCWn
Code: Select all
-----------------------------------------------------------------------
        n=3                 n=5                 n=7                 n=8    
-----------------------------------------------------------------------
     8 ,196   puzzles solved by SFin+Trid (among 63 137 min-expands)   
-----------------------------------------------------------------------
k=0   8,137              17,532              21,160              22,332
     16,333       9,395  25,728       3,628  29,356       1,172  30,528
-----------------------------------------------------------------------
k=2   1,700               6,276               8,863               9,944   
     18,033      13,971  32,004       6,215  38,219       2,253  40,472   
-----------------------------------------------------------------------
k=3     286               1,379               2,413      
     18,319      15,064  33,383       7,249  40,632      
-----------------------------------------------------------------------
k=4      49                 319                 478      
     18,368      15,534  33,702       7,408  41,110      
-----------------------------------------------------------------------
k=5       6                  25                 111      
     18,374      15,353  33,727       7,494  41,221      
-----------------------------------------------------------------------

Same conventions as above:
Lines are separated by dashes, columns are separated by large white spaces.
Each (k, n) cell has three values in it:
- the main one, in the lower right corner, is the total number of puzzles solved by SFin + Trid + Wn + ORkFWn;
- the value above it is the difference with the previous line; it shows what’s gained by increasing k by 1;
- the value on the left of the main number is the difference with the previous cell; it shows what’s gained by increasing n.

And also same general conclusions:
• for fixed n, as k increases, the difference between two lines decreases quite fast; this shouldn’t be too surprising, as larger k means more chains have to converge to the same candidate;
• for fixed k, as n increases, the difference between two columns decreases quite fast; this shouldn’t be too surprising either, as it already happens with all the “classical” chains (whips…);
• starting from k=2 and n=3, at any point in the table, it is much more fruitful to increase n than to increase k;

Plus a new one:
For any fixed k and n, ORk-Forcing-Whips are more powerful than ORk-Contrad-Whips
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

Re: The tridagon rule

Postby denis_berthier » Wed Oct 26, 2022 7:14 am

.
ORk-W classification results for mith's 63137 min-expand puzzles in T&E(3):

I've almost completed calculations similar to the above ones, for the classification of the 63137 min-expand database:
1) using ORk-whips instead of ORk-forcing-whips or ORk-contrad-whips;
2) using all the ORk-chains together.

The global results and general conclusions are similar to the above ones, with some additional conclusions:
- for any k and n, there is a large overlap between what can be solved with ORk-whips[n] and what can be solved with ORk-forcing-whips[n];
- for any k and n, ORk-whips[n] (which include ORk-contrad-whips as a special case) have a greater resolution power than ORk-forcing-whips[n];
- most of the puzzles that have a solution with ORk-forcing-whips[n] also have one with ORk-whips[n] but the converse is not true: for instance, only 96 puzzles can be solved in SFin+Trid+W5+OR5FW5 but not in SFin+Trid+W5+OR5W5; whereas 1894 can be solved in SFin+Trid+W5+OR5W5 but not in SFin+Trid+W5+ OR5FW5; and the difference is still larger for n=7;
- the difference between ORk-forcing-whips and ORk-whips is not well compensated by increasing the FW lengths: for instance, only 55 puzzles can be solved in SFin+Trid+W5+OR5FW5 but still not in SFin+Trid+W7+OR5W7; whereas 683 can be solved in SFin+Trid+W5+OR5W5 but still not in SFin+Trid+W7+OR5FW7.

It is so complicated to format a table as those I've posted before that I don't try to do it for the ORk-whips. You will find all the details in the forthcoming new version of CSP-Rules manual.

I consider these results as important when one wants to choose which kinds of rules to use.

Notice also that:
- as much as 13% of the puzzles can be solved using only SFin+Trid (Subsets + Finned Fish + the elementary tridagon elimination rule with only 1 guardian); this may give the wrong idea that puzzles with the anti-tridagon pattern can easily be reduced to easy puzzles;
- BUT, even with whips[≤8] and all the ORk-chains[≤8], a noticeable proportion of the puzzles (21%) remains unsolved.
This is to be compared with the result that +99,97% of all the Sudoku puzzles (unbiased statistics - see [PBCS]) can be solved by whips[≤8].

This should be food for thought for people who might have had the idea that finding it was all there is to the anti-tridagon pattern.

As an aside remark, the above results also show that there are several different rating systems for puzzles in T&E(3). Even in case we choose the system based on all the types of ORk-chains, k remains as a parameter.
denis_berthier
2010 Supporter
 
Posts: 3972
Joined: 19 June 2007
Location: Paris

PreviousNext

Return to Advanced solving techniques