Robert's puzzles 2020-10-26

Post puzzles for others to solve here.

Robert's puzzles 2020-10-26

Postby Mauriès Robert » Mon Oct 26, 2020 11:47 am

Hi all,
What solution will you bring to this rather difficult puzzle?
Cordialy
Robert
2....65.....8....1.81....3....6.41...4..3..9...35.7....7....32.6....1.....97....6
puzzle: Show
Image
Mauriès Robert
 
Posts: 607
Joined: 07 November 2019
Location: France

Re: Robert's puzzles 2020-10-26

Postby denis_berthier » Mon Oct 26, 2020 12:31 pm

SER= 8.4, W = 6

Code: Select all
(solve "2....65.....8....1.81....3....6.41...4..3..9...35.7....7....32.6....1.....97....6")
***********************************************************************************************
***  SudoRules 20.1.s based on CSP-Rules 2.1.s, config = W+SFin
***  Using CLIPS 6.32-r774
***********************************************************************************************
singles ==> r9c8 = 1, r7c1 = 1, r6c2 = 1, r5c3 = 6, r2c2 = 6, r3c7 = 6, r6c8 = 6, r5c4 = 1, r1c5 = 1, r7c5 = 6, r4c9 = 3
165 candidates, 831 csp-links and 831 links. Density = 6.14%
whip[1]: b5n9{r6c5 .} ==> r8c5 ≠ 9, r2c5 ≠ 9, r3c5 ≠ 9
whip[1]: b4n2{r4c3 .} ==> r4c5 ≠ 2
x-wing-in-columns: n3{c1 c6}{r2 r9} ==> r9c2 ≠ 3
finned-x-wing-in-columns: n5{c8 c2}{r4 r8} ==> r8c3 ≠ 5
biv-chain[3]: c7n9{r8 r2} - b3n2{r2c7 r3c9} - c4n2{r3 r8} ==> r8c4 ≠ 9
whip[1]: r8n9{c9 .} ==> r7c9 ≠ 9
z-chain[3]: c1n3{r2 r9} - c1n4{r9 r3} - r1c3{n4 .} ==> r2c1 ≠ 7
z-chain[4]: b1n3{r2c1 r1c2} - b1n9{r1c2 r3c1} - c1n4{r3 r9} - c1n3{r9 .} ==> r2c1 ≠ 5
biv-chain[5]: r5c6{n2 n8} - r4c5{n8 n9} - c2n9{r4 r1} - c2n3{r1 r8} - b8n3{r8c4 r9c6} ==> r9c6 ≠ 2
t-whip[5]: r2n3{c1 c6} - c4n3{r1 r8} - c4n2{r8 r3} - r2n2{c6 c7} - r2n9{c7 .} ==> r2c1 ≠ 4
naked-pairs-in-a-block: b1{r1c2 r2c1}{n3 n9} ==> r3c1 ≠ 9
z-chain[5]: c1n4{r3 r9} - b7n3{r9c1 r8c2} - r1c2{n3 n9} - b3n9{r1c9 r2c7} - b3n2{r2c7 .} ==> r3c9 ≠ 4
t-whip[5]: b3n2{r2c7 r3c9} - c4n2{r3 r8} - r8n3{c4 c2} - r1c2{n3 n9} - b3n9{r1c9 .} ==> r2c7 ≠ 4, r2c7 ≠ 7
t-whip[6]: b8n3{r9c6 r8c4} - c4n2{r8 r3} - c6n2{r3 r5} - c9n2{r5 r6} - r6n4{c9 c7} - r9c7{n4 .} ==> r9c6 ≠ 8
biv-chain[3]: r8n3{c2 c4} - r9c6{n3 n5} - r9c2{n5 n2} ==> r8c2 ≠ 2
biv-chain[4]: c2n9{r1 r4} - r4c5{n9 n8} - c6n8{r5 r7} - b8n9{r7c6 r7c4} ==> r1c4 ≠ 9
t-whip-cn[5]: c3n2{r4 r8} - c4n2{r8 r3} - c6n2{r3 r5} - c6n8{r5 r7} - c3n8{r7 .} ==> r4c3 ≠ 5, r4c3 ≠ 7
whip[1]: b4n7{r5c1 .} ==> r3c1 ≠ 7
t-whip[4]: c3n5{r2 r7} - r8c2{n5 n3} - b8n3{r8c4 r9c6} - r9n5{c6 .} ==> r2c5 ≠ 5
t-whip[4]: c5n7{r3 r2} - r2c8{n7 n4} - r2c3{n4 n5} - r3c1{n5 .} ==> r3c5 ≠ 4
whip[5]: c8n5{r8 r4} - r5n5{c9 c1} - r3c1{n5 n4} - r2n4{c3 c5} - r9n4{c5 .} ==> r8c8 ≠ 4
whip[1]: c8n4{r2 .} ==> r1c9 ≠ 4
t-whip[6]: r3n7{c5 c9} - b3n2{r3c9 r2c7} - b3n9{r2c7 r1c9} - r1c2{n9 n3} - r8n3{c2 c4} - c4n2{r8 .} ==> r3c5 ≠ 2
t-whip[6]: r6n2{c9 c5} - r9n2{c5 c2} - r8n2{c3 c4} - r8n3{c4 c2} - c2n5{r8 r4} - b6n5{r4c8 .} ==> r5c9 ≠ 2
finned-x-wing-in-rows: n2{r5 r2}{c7 c6} ==> r3c6 ≠ 2
biv-chain[5]: r9c7{n8 n4} - r6n4{c7 c9} - c9n2{r6 r3} - r2c7{n2 n9} - r8n9{c7 c9} ==> r8c9 ≠ 8
z-chain[5]: r3n4{c4 c1} - b7n4{r9c1 r7c3} - c9n4{r7 r6} - c9n2{r6 r3} - c4n2{r3 .} ==> r8c4 ≠ 4
biv-chain-rc[3]: r8c4{n2 n3} - r9c6{n3 n5} - r9c2{n5 n2} ==> r9c5 ≠ 2, r8c3 ≠ 2
singles ==> r9c2 = 2, r4c3 = 2
whip[1]: c3n8{r8 .} ==> r9c1 ≠ 8
x-wing-in-columns: n5{c2 c8}{r4 r8} ==> r8c9 ≠ 5, r8c5 ≠ 5, r4c1 ≠ 5
biv-chain[2]: r9n8{c7 c5} - c6n8{r7 r5} ==> r5c7 ≠ 8
biv-chain[4]: r2c7{n9 n2} - r3n2{c9 c4} - r8c4{n2 n3} - b2n3{r1c4 r2c6} ==> r2c6 ≠ 9
whip[1]: b2n9{r3c6 .} ==> r3c9 ≠ 9
biv-chain[3]: r3c9{n7 n2} - r2c7{n2 n9} - r8n9{c7 c9} ==> r8c9 ≠ 7
biv-chain[4]: r1n8{c8 c9} - r1n9{c9 c2} - r4c2{n9 n5} - c8n5{r4 r8} ==> r8c8 ≠ 8
biv-chain[3]: c9n5{r5 r7} - r8c8{n5 n7} - c7n7{r8 r5} ==> r5c9 ≠ 7
whip[1]: c9n7{r3 .} ==> r1c8 ≠ 7, r2c8 ≠ 7
singles ==> r2c8 = 4, r1c8 = 8
whip[1]: c5n4{r9 .} ==> r7c4 ≠ 4
singles ==> r7c4 = 9, r3c6 = 9
biv-chain-rc[3]: r1c3{n4 n7} - r1c9{n7 n9} - r8c9{n9 n4} ==> r8c3 ≠ 4
naked-single ==> r8c3 = 8
biv-chain[3]: b2n5{r2c6 r3c5} - r3c1{n5 n4} - r3c4{n4 n2} ==> r2c6 ≠ 2
stte
denis_berthier
2010 Supporter
 
Posts: 4238
Joined: 19 June 2007
Location: Paris

Re: Robert's puzzles 2020-10-26

Postby Mauriès Robert » Wed Oct 28, 2020 11:42 pm

Hi all,
Here is my 3-step solution after simplifying the puzzle with the basic techniques (TB).
Preliminary remark.
Let us recall for this purpose that a track (or anti-track) is a network of candidates (ou group of candidats) constructed by using the TBs recursively, i.e. the nth candidate composing the track is determined by taking into account the n-1 other candidates already determined, therefore with a "memory effect".
Thus I will represent a track in the following way P(E)={N1, N2, N3, ..., Nn, ...} where the candidates are arranged in the order of marking that I made on the puzzle, which should make it easy to understand how the track was constructed.


Step 1
P'(5r2c3) = {-5r2c3, 47r12c3, 47r2c38, 25r2c5, 4r9c1, 8r9c7, 25r9c5, 2r5c6, 24r6c79, 5r23c1, 5r5c9, 8r4c8,...}
At this stage the UR(47r12c38) appears, which is sufficient to affirm that the sequence leads to impossibility if one admits the uniqueness of the solution, thus that r2c3=5.
However, if the uniqueness is not used, the sequence can be continued, which becomes :
P'(5r2c3) = {-5r2c3, 47r12c3, 47r2c38, 25r2c5, 4r9c1, 8r9c7, 25r9c5, 2r5c6, 5r23c1, 5r5c9, 8r4c8, 47r12c38, 7r3c5, 4r3c4, 4r7c9, 2r6c9, 2r2c7,. ..} with an impossibility to have a 2 in B2 for P', so that r2c3=5.
puzzle1: Show
Image

Step 2
On the puzzle simplified by this placement,
P(2r4c2) = {2r4c2, 2r8c3, 2r3c4, 2r2c7, 9r8c7, 9r1c2, 3r8c2, 4r8c4, 9r3c9, 5r3c6, 5r7c9, 4r9c7, 4r6c9, 2r5c9, 2r6c5, ...}.
with the impossibility for P to have a 2 in B8, so 2r4c2 is eliminated => r4c3=2, r1c3=7
puzzle2: Show
Image

Step 3
On the puzzle simplified by this placements,
P(5r4c2) = {5r4c2, 5r5c9, 5r7c6, 5r3c5, 7r2c5, 4r2c8, 8r1c8, 9r1c9, ...}
with the impossibility for P to have a 9 in c2, so 5r4c2 is eliminated => r4c2=9, stte.
puzzle3: Show
Image

Robert
Last edited by Mauriès Robert on Fri Oct 30, 2020 7:32 pm, edited 5 times in total.
Mauriès Robert
 
Posts: 607
Joined: 07 November 2019
Location: France

Re: Robert's puzzles 2020-10-26

Postby denis_berthier » Thu Oct 29, 2020 4:02 am

Mauriès Robert wrote:...which should make it easy to understand how the track was constructed.[...]
P'(5r2c3) = {-5r2c3, 47r12c3, 25r2c5, 4r9c1, 8r9c7, 25r9c5, 2r5c6, 5r23c1, 5r5c9, 8r4c8,...}


Your track gives me no idea how to reach 4r9c1.
denis_berthier
2010 Supporter
 
Posts: 4238
Joined: 19 June 2007
Location: Paris

Re: Robert's puzzles 2020-10-26

Postby Mauriès Robert » Thu Oct 29, 2020 8:15 am

Hi Denis,
denis_berthier wrote:
Mauriès Robert wrote:...which should make it easy to understand how the track was constructed.[...]
P'(5r2c3) = {-5r2c3, 47r12c3, 25r2c5, 4r9c1, 8r9c7, 25r9c5, 2r5c6, 5r23c1, 5r5c9, 8r4c8,...}

Your track gives me no idea how to reach 4r9c1.

Here's how: -5r2c3->47r12c3->4r9c1
I wrote in the introduction the principle of building a track in general. It is therefore the last set in a chain of sets of candidates (or groups of candidates) obtained by applying the basic techniques (TB) from a starting hypothesis. It can be written like this for this anti-track whose starting hypothesis is -5r2c3 :
(-5r2c3)+TB=>{47r12c3}+TB=>{47r12c3, 25r2c5}+TB=>{-47r12c3, 25r2c5, 4r9c1}+TB=>{47r12c3, 25r2c5, 4r9c1, 8r9c7}... etc =>{47r12c3, 25r2c5, 4r9c1, 8r9c7, 25r9c5, 2r5c6, 5r23c1, 5r5c9, 8r4c8}
The order of the elements of the final set indicates how the set was constructed on the puzzle (colour marking).
This way of representing a track (or anti-track) is easier for me than making a graph showing all the implications.
Cordialy
Robert
Last edited by Mauriès Robert on Thu Oct 29, 2020 8:39 am, edited 2 times in total.
Mauriès Robert
 
Posts: 607
Joined: 07 November 2019
Location: France

Re: Robert's puzzles 2020-10-26

Postby denis_berthier » Thu Oct 29, 2020 8:31 am

Mauriès Robert wrote:Hi Denis,
denis_berthier wrote:
Mauriès Robert wrote:...which should make it easy to understand how the track was constructed.[...]
P'(5r2c3) = {-5r2c3, 47r12c3, 25r2c5, 4r9c1, 8r9c7, 25r9c5, 2r5c6, 5r23c1, 5r5c9, 8r4c8,...}

Your track gives me no idea how to reach 4r9c1.

Here's how: -5r2c3->47r12c3->4r9c1
I wrote in the introduction the principle of building a track in general. It is therefore the last set in a chain of sets of candidates (or groups of candidates) obtained by applying the basic techniques (TB) from a starting hypothesis. It can be written like this for this anti-track whose starting hypothesis is -5r2c3 :
(-5r2c3)+TB=>{47r12c3}+TB=>{47r12c3, 25r2c5}+TB=>{-47r12c3, 25r2c5, 4r9c1}+TB=>{47r12c3, 25r2c5, 4r9c1, 8r9c7}... etc =>{47r12c3, 25r2c5, 4r9c1, 8r9c7, 25r9c5, 2r5c6, 5r23c1, 5r5c9, 8r4c8}
The order of the elements of the final set indicates how the set was constructed on the puzzle (colour marking).
This way of presentation is easier for me than making a graph showing all the implications.
Cordialy
Robert

Sorry, but this makes it still more obscure as to how 4r9c1 is deduced from the previous steps. Or do you mean it is NOT deduced from the previous steps?
denis_berthier
2010 Supporter
 
Posts: 4238
Joined: 19 June 2007
Location: Paris

Re: Robert's puzzles 2020-10-26

Postby Mauriès Robert » Thu Oct 29, 2020 8:57 am

Hi,
denis_berthier wrote:Sorry, but this makes it still more obscure as to how 4r9c1 is deduced from the previous steps. Or do you mean it is NOT deduced from the previous steps?

It's hard to explain the simple things!
I build this anti-track step by step starting from the elimination (hypothesis) of the 5r2c3. This highlights the 47r12c3 doublet, so on the one hand that the 47r2c38 doublet indicates that 25r2c5 is part of the anti-track, but also that 4r1c9 is part of the anti-track.
Don't forget that I reason like a sudokist who does pencil marking, so you have to work on the puzzle physically!
Robert
Mauriès Robert
 
Posts: 607
Joined: 07 November 2019
Location: France

Re: Robert's puzzles 2020-10-26

Postby denis_berthier » Thu Oct 29, 2020 9:54 am

Mauriès Robert wrote:Hi,
denis_berthier wrote:Sorry, but this makes it still more obscure as to how 4r9c1 is deduced from the previous steps. Or do you mean it is NOT deduced from the previous steps?

It's hard to explain the simple things!
I build this anti-track step by step starting from the elimination (hypothesis) of the 5r2c3. This highlights the 47r12c3 doublet, so on the one hand that the 47r2c38 doublet indicates that 25r2c5 is part of the anti-track, but also that 4r1c9 is part of the anti-track.
Don't forget that I reason like a sudokist who does pencil marking, so you have to work on the puzzle physically!
Robert


My remarks are based on your PM, so saying you're a Sudokuist doesn't help much, as we start from the same situation:
Image
I have no problem with the start: P'(5r2c3) = {-5r2c3, 47r12c3,
The problem is just after: I can see no way 4r9c1 can be deduced by "TB" from the preceding steps.
Obviously, some steps are missing before n4r9c1 can be highlighted.
denis_berthier
2010 Supporter
 
Posts: 4238
Joined: 19 June 2007
Location: Paris

Re: Robert's puzzles 2020-10-26

Postby SpAce » Thu Oct 29, 2020 12:00 pm

denis_berthier wrote:I have no problem with the start: P'(5r2c3) = {-5r2c3, 47r12c3,
The problem is just after: I can see no way 4r9c1 can be deduced by "TB" from the preceding steps.
Obviously, some steps are missing before n4r9c1 can be highlighted.

What? I'm no fan of incomplete information, but I don't see any problem with that step. Two trivial routes:

(47)r12c3 - (4)r78c3 = (4)r9c1

or:

(47)r12c3 - (4)r23c1 = (4)r9c1

Right? Many other things are much more obscure, like why the pair 47r2c38 is not listed even though it's needed to get 25r2c5? All of this wondering just highlights why I hate to read tracks and implication chains that only give the "right-linking candidates". Obviously I'm not a fan of skipping the z- and t-candidates either, but not having even the left-linking candidates is just so much worse.

Mauriès Robert wrote:Don't forget that I reason like a sudokist who does pencil marking, so you have to work on the puzzle physically!

I don't see how that's an excuse :) Don't we all reason like sudokists? Yet some notations are understandable without consulting the grid physically and reworking the logic oneself. Yours isn't at all. It's VERY tedious to follow, especially in more complex cases. Denis' isn't perfect either for mentioned reasons, but at least the intended routing is there, and the full logic can be deciphered relatively quickly by consulting the grid, doing some coloring, and building a matrix. (Yeah, that's a lot of work too.)
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: Robert's puzzles 2020-10-26

Postby denis_berthier » Thu Oct 29, 2020 12:24 pm

SpAce wrote:
denis_berthier wrote:I have no problem with the start: P'(5r2c3) = {-5r2c3, 47r12c3,
The problem is just after: I can see no way 4r9c1 can be deduced by "TB" from the preceding steps.
Obviously, some steps are missing before n4r9c1 can be highlighted.

What? I'm no fan of incomplete information, but I don't see any problem with that step. Two trivial routes:
(47)r12c3 - (4)r78c3 = (4)r9c1

OK, thanks; I was expecting something more complicated and I failed to see that. That's the problem when the CSP-Variables one must check are not stated in the path.
denis_berthier
2010 Supporter
 
Posts: 4238
Joined: 19 June 2007
Location: Paris

Re: Robert's puzzles 2020-10-26

Postby SpAce » Thu Oct 29, 2020 3:07 pm

denis_berthier wrote:OK, thanks; I was expecting something more complicated and I failed to see that.

You're welcome. And I don't blame you. Sometimes the obvious answer is hiding in plain sight.

That's the problem when the CSP-Variables one must check are not stated in the path.

Exactly. Whatever else I've criticized about your notation, it's very straight-forward to put into a matrix and fill in the z- and t-candidates there. In fact, it has the most trivial mapping to matrices that I know (except for the missing z- and t-candidates). The same goes the other way too. That's because the CSP-variables/SISs are clearly stated and map directly to the rows (in the same order), and the links between them to the columns, and obviously vice versa. For that reason I would recommend you reconsidered this earlier comment of yours:

matrices fail to capture the essential characteristics of chains. AND they can't be drawn on the grid.

I think you have failed to capture the essence of matrices if you think so. Again, I don't necessarily blame you for that. I needed a long time and a lot of help before I learned to appreciate matrices. These days I think they're pretty much the most useful tool and the most universal notation I've encountered for sudoku.

When you learn to read and write them (which is less trivial than one might think, but well worth the effort), they actually capture the essence of almost everything better than anything else. For example, without them, I might have never really seen the difference between whips and braids. With them, it was immediately clear as a day: just look at the right edge where the core chain is clearly visible -- if it has no gaps it's a whip (or a z-chain or a biv-chain), otherwise a braid.

Matrices also make it possible to see the same pattern from multiple perspectives (contradictions, verities) simultaneously. That's why the same matrix can represent a whip/braid/Nishio, a kraken/multi-kraken, a nested/split-node AIC, or whatever perspective one prefers. Even better, they make it possible to morph the logic by rearranging the rows and columns, which can turn a braid into a whip, for example -- or to see quickly that it's not possible.

I don't think any other notation makes all that possible. That said, matrices obviously take a lot of space. That's where your notation has an edge. In fact, I've started to think that your notation might work as a compressed matrix, because they have such a direct mapping. From that point of view I can accept the missing z- and t-candidates, because they can be filled in from the grid if one needs to work with the complete matrix.

The biggest remaining problem I have with your notation is the quantum-leaping links in braids. I wish you marked them differently ('--' for example). That would be a quick fix that would remove a lot of confusion by making it clear that the link is not between adjacent nodes. That way the difference between whips and braids would also be visible in the chain itself and not just in the label, just like it is in the matrix where the gaps are obvious.
-SpAce-: Show
Code: Select all
   *             |    |               |    |    *
        *        |=()=|    /  _  \    |=()=|               *
            *    |    |   |-=( )=-|   |    |      *
     *                     \  ¯  /                   *   

"If one is to understand the great mystery, one must study all its aspects, not just the dogmatic narrow view of the Jedi."
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: Robert's puzzles 2020-10-26

Postby denis_berthier » Thu Oct 29, 2020 6:33 pm

SpAce wrote:For that reason I would recommend you reconsidered this earlier comment of yours:
matrices fail to capture the essential characteristics of chains. AND they can't be drawn on the grid.

I think I understand the matrix notation pretty well. They were already discussed on the Eureka forum in 2008.
I don't see any new reason for revising my view about them: matrices are of no help for finding whips/braids... and of no help for representing them on the grid.
Apart from this, I have nothing about anyone using a matrix representation, if they find it helpful for understanding some patterns. (It's not my case, but people have different ways of understanding the same things.)
Of course, matrices themselves don't define any pattern. As you said, they can represent different types of patterns.
This is directly related to a question that was also already discussed at length in 2008: what I've always been looking for is not the most general patterns, it's the right balance between generality and efficiency. And whips are the best example of this.

SpAce wrote:I don't think any other notation makes all that possible. That said, matrices obviously take a lot of space. That's where your notation has an edge. In fact, I've started to think that your notation might work as a compressed matrix, because they have such a direct mapping. From that point of view I can accept the missing z- and t-candidates, because they can be filled in from the grid if one needs to work with the complete matrix.

OK, but I'd rather say it the other way: a matrix representation is a (straightforward) expansion of a chain.

SpAce wrote:The biggest remaining problem I have with your notation is the quantum-leaping links in braids. I wish you marked them differently ('--' for example). That would be a quick fix that would remove a lot of confusion by making it clear that the link is not between adjacent nodes. That way the difference between whips and braids would also be visible in the chain itself and not just in the label, just like it is in the matrix where the gaps are obvious.

Modifying SudoRules to allow it to make a difference between a link to the previous candidate and a link to a more distant one is much more difficult than you think and it would entail a lot of inefficiencies. I could put "--" systematically for all the links of all the braids, but that wouldn't help much more than warning it's a braid (and has to be read as such)
Anyway, you probably rarely see braids (let alone g-braids) in my resolution paths. They are rarely needed and I rarely activate them in SudoRules (except when I compute the BpB rating - but in this case, the detailed output is irrelevant).
I consider braids essentially as a fundamental theoretical tool (relationship with T&E, confluence property, ...) - but the most useful pattern in practice is the whip. And the totally unexpected miracle I fell upon (and that's totally independent of any notational system) is that their resolution powers are very close in spite of their very different computational complexities.
denis_berthier
2010 Supporter
 
Posts: 4238
Joined: 19 June 2007
Location: Paris

Re: Robert's puzzles 2020-10-26

Postby SpAce » Fri Oct 30, 2020 1:09 am

denis_berthier wrote:I think I understand the matrix notation pretty well. ... I don't see any new reason for revising my view about them

Ok. Then I don't try to sell them to you. All I know is that they've helped me in many ways.

people have different ways of understanding the same things.

Indeed. I know I sometimes forget that. Matrices have helped with that, too.

Of course, matrices themselves don't define any pattern. As you said, they can represent different types of patterns.

Yes, and exactly that has been an eye-opener for me. Matrices have taught me to look at the same patterns from multiple perspectives, and studying your system has played a key role in that. For me the native way of looking at patterns is as verities instead of contradictions. Thus I had always used triangular matrices as a mechanism to prove that at least one of the nodes in the first column must be true, which maps directly to AICs and krakens.

That's why I had a hard time thinking in terms of whips and braids and writing them as matrices at first. For a little while I thought they had to be written differently because they were contradiction patterns. That was patently false, of course.

It was a big revelation to realize that every triangular matrix could be read as a whip or a braid (or simpler) without any changes. It's in fact the most trivial way to read them, especially if the bottom row doesn't have anything in the first column, which is often the case with whips. I'd just never used that POV because I didn't normally think in terms of contradictions. That realization made it trivial to write your chains as matrices, and vice versa.

Modifying SudoRules to allow it to make a difference between a link to the previous candidate and a link to a more distant one is much more difficult than you think and it would entail a lot of inefficiencies.

Ok. I guess that's not so surprising if the programming paradigm is based on rules. That's a pity, especially if you didn't think it was a bad idea.

I could put "--" systematically for all the links of all the braids, but that wouldn't help much more than warning it's a braid (and has to be read as such)

I agree. The label already does that, so it would only be redundant and verbose.

Anyway, you probably rarely see braids (let alone g-braids) in my resolution paths.

I understand. That said, it would be nice to see a bit of variety and more advanced patterns (and their notations). Maybe not braids, but perhaps some advanced whips? Like I said earlier, it would be interesting to see what patterns SudoRules needs for shorter solutions.

I consider braids essentially as a fundamental theoretical tool (relationship with T&E, confluence property, ...) - but the most useful pattern in practice is the whip.

Ok. You may be right that there's something I haven't realized about their superiority. Robert just said that the continuity property is important for his manual solving, so perhaps there's something to it. I need to try and consciously look for whips and see if it makes a difference. I've tried (and succeeded) a couple of times, but it seems quite a bit slower than my usual methods that don't worry about continuity. It's rare that I look for direct contradictions anyway.

And the totally unexpected miracle I fell upon (and that's totally independent of any notational system) is that their resolution powers are very close in spite of their very different computational complexities.

For me a second miracle is that they have very different computational complexities, and to the whip's advantage. Why exactly is that? For me it would seem logical that you'd get many more dead-ends if you only looked for whips, because it's the more specific type.

For example, let's say I start following a promising route which activates several right-linking-candidates but then doesn't proceed. So I start another route with the same target. Now I have the option to keep the original rlcs and their effects (resulting in a braid) or to discard them and keep looking for a pure whip. I would expect the first option to find a contradiction faster. Can you explain what I'm not seeing?
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: Robert's puzzles 2020-10-26

Postby denis_berthier » Fri Oct 30, 2020 3:42 am

SpAce wrote:
Anyway, you probably rarely see braids (let alone g-braids) in my resolution paths.

I understand. That said, it would be nice to see a bit of variety and more advanced patterns (and their notations). Maybe not braids, but perhaps some advanced whips

What do you call advanced whips? There are g-whips already, but they don't shorten the resolution paths. If you mean S-whips (i.e. with Subsets allowed as rlcs), their additional resolution power is not worth the effort to code them, considering their increased computational complexity - and they are not necessary for puzzles in T&E(1), i.e. all but 1/30,000,000 puzzles.
Variety in SudoRules can better be seen in Subset rules, Oddagons, special cases of whips (bivalue-chains, z-chains, t-whips, typed versions of all the chains, ...), forcing-whips (that I never use because they are inefficient and inelegant), exotic (and very rare) patterns (sk-loops, J-Exocets), uniqueness rules (for those who like that), W*-whips for some extreme puzzles... AND anyone can extend it to code his own rules; you should give that a try.


SpAce wrote:
And the totally unexpected miracle I fell upon (and that's totally independent of any notational system) is that their resolution powers are very close in spite of their very different computational complexities.

For me a second miracle is that they have very different computational complexities, and to the whip's advantage. Why exactly is that?

No second miracle here, but something perfectly clear to me.
Before you get a whip/braid, you have to build partial-whips/braids, which have a pending rlc. Complexity arises at the time you extend them from length n to n+1.
And what counts here is the branching factor from the last rlc (i.e. the mean number of possible next llcs):
- in whips, it is constant (in the mean), i.e. independent of the partial-whip length
- in braids, it increases linearly (still in the mean) with the length of the partial braid.
As a result, the mean relative complexity of partial-braids wrt partial-whips (or, in simpler terms, their relative numbers) is exponential with length.


SpAce wrote:For me it would seem logical that you'd get many more dead-ends if you only looked for whips, because it's the more specific type.

It sounds sensible and it may play some role, but the fact is, it doesn't turn out to be as important as the branching factor.
I had (and still have) no convincing way of explaining in advance why it turns out to be that way. That's why I sometimes call it a (laïc) "miracle". It's also related (but not in a systematic way) to the fact that non-confluence is very rare for whips. Without such a gain, I would probably have given up developing SudoRules long ago.
And all this is true not only of Sudoku, but of all the other logic puzzles I've tried - in spite of their very different types of constraints. Which leads me to think there may be some general explanation, it keeps lurking in my mind, but it still eludes me.
denis_berthier
2010 Supporter
 
Posts: 4238
Joined: 19 June 2007
Location: Paris

Re: Robert's puzzles 2020-10-26

Postby Mauriès Robert » Fri Oct 30, 2020 5:52 am

Hi Denis en Space,
It is a pity that your general debate, which has nothing to do with this thread, has not been the subject of a separate thread.
The original subject is totally drowned out and I doubt it will be easy for a newcomer to find his way around!
Cordialy
Robert
Mauriès Robert
 
Posts: 607
Joined: 07 November 2019
Location: France

Next

Return to Puzzles

cron