yzfwsf wrote:tarek wrote:This is the NoFish list that I originally posted on the old forum.

#029 have a broken wing as below

broken-wing.png

This is the most interesting thing I've seen on this forum in the past years: oddagons, as I prefer calling them (a contraction of odd(-sized) polygons) cannot be replaced by any whip, braid, g-whip, ... or any pattern covered by T&E(1) or gT&E(1).

Due to the ORs in it, Robert's presentation is a T&E(2) one.

This is not surprising, as the proof of the elimination rule has to suppose the target Z is true AND consider in turn both cases of a chosen node C being True or False (both cases leading to a contradiction): in each of the two branches, there are two hypotheses at the same time (Z and C, respect. Z and not C).

The above remark doesn't mean that the presence of an oddagon necessarily puts a puzzle in T&E(2): there may be other eliminations that short-circuit the oddagon one. This is true for the present puzzle: with or without the r2c5 ≠ 1 elimination, it is in W8.

It is also the case that, if the oddagons[k] are activated only after all the rules with less than k CSP-Variables, they will not appear at all in this puzzle.

As oddagons are meaningful in any CSP, I've decided to code them in CSP-Rules. For this puzzle, SudoRules finds the same oddagon as you:

- Code: Select all
`oddagon[7]: r1n1{c7 c1},c1n1{r1 r7},b7n1{r7c1 r9c3},r9n1{c3 c4},c4n1{r9 r6},r6n1{c4 c7},c7n1{r6 r1} ==> r2c5 ≠ 1`

A word about the extension of the nrc notation necessary to represent an oddagon:

- as usual, the whole sequence of <CSP-Variables, bivalue-pairs> is present

- however, instead of being linked to the kth rlc, the (k+1)th llc is equal to it; this is represented by a comma instead of my usual link sign ("—") between the successive parts.

The idea is to copy the natural language process of chaining composed words by repeating the last part as the first part of the next component:

- Code: Select all
`"cheval de course, course à pied, pied de biche, ..."`

(If you have a standard English equivalent, I'm interested and I'll update this example.)

Notice that the puzzle has SER = 9.0, which means it's quite hard.

- If I activate only the reversible chains coded in CSP-Rules (i.e. bivalue-chains and z-chains), the oddagon appears, but (unsurprisingly for this SER) the puzzle is not solved.

- If I activate whips, the puzzle is solved (with W=8), but the oddagon doesn't appear.

- If I activate only reversible rules and t-whips, the puzzle is solved with chains of length 9 and the oddagon appears (this is clearly my preferred solution, though the length is 1 more than with whips):

***********************************************************************************************

*** SudoRules 20.1.s based on CSP-Rules 2.1.s, config = tW+O+SFin

*** using CLIPS 6.32-r764

***********************************************************************************************

210 candidates, 1246 csp-links and 1246 links. Density = 5.68%

biv-chain[4]: r3c3{n6 n1} - b7n1{r9c3 r7c1} - r7n9{c1 c8} - c8n6{r7 r4} ==> r4c3 ≠ 6

biv-chain[4]: r7n9{c1 c8} - c8n6{r7 r4} - b4n6{r4c2 r5c3} - c3n9{r5 r8} ==> r8c1 ≠ 9

biv-chain[4]: r7n9{c8 c1} - c3n9{r8 r5} - b4n6{r5c3 r4c2} - c8n6{r4 r7} ==> r7c8 ≠ 7

whip[1]: b9n7{r9c9 .} ==> r9c5 ≠ 7

biv-chain[4]: r5c6{n4 n2} - r5c9{n2 n7} - r9n7{c9 c8} - b9n4{r9c8 r8c7} ==> r8c6 ≠ 4

biv-chain[4]: b4n6{r5c3 r4c2} - c8n6{r4 r7} - r7n9{c8 c1} - c3n9{r8 r5} ==> r5c3 ≠ 3, r5c3 ≠ 7

hidden-single-in-a-column ==> r2c3 = 7

whip[1]: r2n6{c5 .} ==> r3c4 ≠ 6, r3c5 ≠ 6

biv-chain[4]: b7n1{r7c1 r9c3} - r3c3{n1 n6} - r5c3{n6 n9} - b7n9{r8c3 r7c1} ==> r7c1 ≠ 2, r7c1 ≠ 8

z-chain[4]: r8n9{c9 c3} - r8n5{c3 c7} - r9c9{n5 n7} - r5c9{n7 .} ==> r8c9 ≠ 2

z-chain[5]: r8c6{n2 n8} - r8c1{n8 n3} - r2n3{c1 c7} - r5c7{n3 n6} - r7c7{n6 .} ==> r8c7 ≠ 2

t-whip[5]: r6n7{c1 c8} - r5c9{n7 n2} - b9n2{r9c9 r7c7} - r7c2{n2 n8} - r6n8{c2 .} ==> r6c1 ≠ 3, r6c1 ≠ 9

whip[1]: r6n9{c5 .} ==> r5c4 ≠ 9

biv-chain[5]: b9n4{r8c7 r9c8} - c8n7{r9 r6} - c1n7{r6 r5} - r5n9{c1 c3} - r5n6{c3 c7} ==> r8c7 ≠ 6

whip[1]: r8n6{c5 .} ==> r7c5 ≠ 6

hidden-pairs-in-a-column: c7{n2 n6}{r5 r7} ==> r5c7 ≠ 3

biv-chain[3]: r5n3{c4 c1} - r4c3{n3 n5} - r6n5{c2 c5} ==> r6c5 ≠ 3

biv-chain[4]: r5n3{c4 c1} - r4c3{n3 n5} - r6n5{c2 c5} - r6n9{c5 c4} ==> r6c4 ≠ 3

t-whip[4]: r5n3{c4 c1} - c1n9{r5 r7} - b7n1{r7c1 r9c3} - c3n3{r9 .} ==> r8c4 ≠ 3

t-whip[5]: r5n3{c4 c1} - r4c3{n3 n5} - r6c2{n5 n8} - r7c2{n8 n2} - c7n2{r7 .} ==> r5c4 ≠ 2

t-whip[5]: c5n9{r3 r6} - r6c4{n9 n1} - r6c7{n1 n3} - b3n3{r1c7 r1c8} - r1n9{c8 .} ==> r3c4 ≠ 9

z-chain[6]: r5c4{n3 n4} - r5c6{n4 n2} - c7n2{r5 r7} - r7c2{n2 n8} - r6c2{n8 n5} - r4c3{n5 .} ==> r5c1 ≠ 3

hidden-single-in-a-row ==> r5c4 = 3

z-chain[5]: r5n4{c6 c1} - r2n4{c1 c7} - r8c7{n4 n5} - r1n5{c7 c5} - r1n7{c5 .} ==> r1c6 ≠ 4

oddagon[7]: r1n1{c7 c1},c1n1{r1 r7},b7n1{r7c1 r9c3},r9n1{c3 c4},c4n1{r9 r6},r6n1{c4 c7},c7n1{r6 r1} ==> r2c5 ≠ 1

z-chain[9]: r3n2{c5 c2} - c2n6{r3 r4} - r5n6{c3 c7} - r5n2{c7 c9} - b6n7{r5c9 r6c8} - r9c8{n7 n4} - r8c7{n4 n5} - r1n5{c7 c5} - r1n7{c5 .} ==> r1c6 ≠ 2

t-whip[9]: r8n5{c9 c3} - r4c3{n5 n3} - r9c3{n3 n1} - r7c1{n1 n9} - r7c8{n9 n6} - r4c8{n6 n8} - r4c1{n8 n4} - r5c1{n4 n7} - c9n7{r5 .} ==> r9c9 ≠ 5

whip[1]: r9n5{c3 .} ==> r8c3 ≠ 5

naked-pairs-in-a-column: c9{r5 r9}{n2 n7} ==> r4c9 ≠ 2

whip[1]: b6n2{r5c9 .} ==> r5c6 ≠ 2

naked-single ==> r5c6 = 4

biv-chain[5]: b9n2{r9c9 r7c7} - r5c7{n2 n6} - r5c3{n6 n9} - r8c3{n9 n3} - b8n3{r8c5 r9c5} ==> r9c5 ≠ 2

biv-chain[5]: b7n5{r9c2 r9c3} - b7n1{r9c3 r7c1} - c1n9{r7 r5} - r5n7{c1 c9} - c9n2{r5 r9} ==> r9c2 ≠ 2

hidden-pairs-in-a-block: b7{r7c2 r8c1}{n2 n8} ==> r8c1 ≠ 3

naked-pairs-in-a-row: r8{c1 c6}{n2 n8} ==> r8c5 ≠ 2, r8c4 ≠ 8, r8c4 ≠ 2

whip[1]: b8n8{r8c6 .} ==> r2c6 ≠ 8

biv-chain[4]: c5n6{r2 r8} - c5n3{r8 r9} - r9c2{n3 n5} - r6n5{c2 c5} ==> r2c5 ≠ 5

biv-chain[4]: r8c7{n4 n5} - c9n5{r8 r2} - r2n8{c9 c4} - c4n6{r2 r8} ==> r8c4 ≠ 4

naked-single ==> r8c4 = 6

hidden-single-in-a-block ==> r2c5 = 6

biv-chain[4]: r2c6{n1 n5} - c9n5{r2 r8} - b9n9{r8c9 r7c8} - r7c1{n9 n1} ==> r7c6 ≠ 1, r2c1 ≠ 1

biv-chain[2]: r7n1{c5 c1} - b1n1{r1c1 r3c3} ==> r3c5 ≠ 1

z-chain[3]: c6n1{r2 r4} - r4c9{n1 n8} - r2n8{c9 .} ==> r2c4 ≠ 1

z-chain[4]: c3n1{r3 r9} - r7n1{c1 c5} - r4n1{c5 c6} - r2n1{c6 .} ==> r3c9 ≠ 1

t-whip[4]: r3c9{n9 n8} - r4c9{n8 n1} - r6c7{n1 n3} - b3n3{r1c7 .} ==> r1c8 ≠ 9

whip[1]: b3n9{r3c9 .} ==> r3c5 ≠ 9

z-chain[3]: b2n9{r1c5 r1c4} - r6c4{n9 n1} - b8n1{r9c4 .} ==> r1c5 ≠ 1

z-chain[4]: r1c8{n4 n3} - r2n3{c7 c1} - r2n4{c1 c7} - r8n4{c7 .} ==> r1c5 ≠ 4

t-whip[4]: r6c7{n3 n1} - c9n1{r4 r2} - r2c6{n1 n5} - b3n5{r2c7 .} ==> r1c7 ≠ 3

biv-chain[4]: b3n3{r1c8 r2c7} - r2c1{n3 n4} - r4n4{c1 c2} - r4n6{c2 c8} ==> r4c8 ≠ 3

whip[1]: b6n3{r6c8 .} ==> r6c2 ≠ 3

z-chain[4]: r5c3{n6 n9} - r8c3{n9 n3} - b4n3{r4c3 r4c1} - r4n4{c1 .} ==> r4c2 ≠ 6

singles + a whip[1] to the end