## January 23, 2018

Post puzzles for others to solve here.

### Re: January 23, 2018

SteveG48 wrote:
SpAce wrote:As a memory chain:

(9=4*)r4c1 - (r4c7 | r5c3) = ((3)r4c7 & (6)r5c3) - (3|6=7)r4c2 - (*4|7=6)r4c8

This is what I prefer.

Me too, definitely -- in this case. The other style is quite obviously a poor match for this situation. Took me a while to even figure out how to do it, and the end result is a bit weird. I still think it might have its uses in other situations when split-nodes or a memory chain aren't sufficient. Then again, I have very little experience with nets in general, so I can't say anything for sure. For example, I said earlier that memory chains aren't bidirectional, but at least this one is. Perhaps I've just been looking at them the wrong way.
Code: Select all
`   *             |    |               |    |    *        *        |=()=|    /  _  \    |=()=|               *            *    |    |   |-=( )=-|   |    |      *     *                     \  ¯  /                   *    `
SpAce

Posts: 912
Joined: 22 May 2017

### Re: January 23, 2018

Would this work for Eureka purists?

(9=4)r4c1 - ((9)r4c1 | (4)r4c7 | (4)r5c3) = ((4)r4c1 & (3)r4c7 & (6)r5c3) - ((9)r4c1 | (3|6)r4c2) = ((4)r4c1 & (7)r4c2) - (4|7=6)r4c8

Code: Select all
`   *             |    |               |    |    *        *        |=()=|    /  _  \    |=()=|               *            *    |    |   |-=( )=-|   |    |      *     *                     \  ¯  /                   *    `
SpAce

Posts: 912
Joined: 22 May 2017

### Re: January 23, 2018

The previous one was a joke, of course. If we really want to avoid a memory chain, how about this style:

(9)r4c1 = ((4)r4c1 & [(4)r4c1 - (r4c7 | r5c3) = ((3)r4c7 & (6)r5c3) - (3|6)r4c2 =] (7)r4c2) - (4|7=6)r4c8

If you externalize the explanatory part inside the square brackets, you get a simple AIC without further ado:

(9)r4c1 = ((4)r4c1 & [*] (7)r4c2) - (4|7=6)r4c8

[*]: [(4)r4c1 - (r4c7 | r5c3) = ((3)r4c7 & (6)r5c3) - (3|6)r4c2 =]

It's a slight variation of eleven's suggestions here:

http://forum.enjoysudoku.com/nishio-vs-aics-when-is-it-considered-cheating-t34342-30.html#p262213
Code: Select all
`   *             |    |               |    |    *        *        |=()=|    /  _  \    |=()=|               *            *    |    |   |-=( )=-|   |    |      *     *                     \  ¯  /                   *    `
SpAce

Posts: 912
Joined: 22 May 2017

### Re: January 23, 2018

My intervention might be considered off-topic, as I am proposing no solution for writing nets in Eureka. My own preference is clarity. So for the example above of "200e200w's nighmare#2" the clearest demo of the derived strong link 9d1==6d8 is the TM (Triangular matrix):

Code: Select all
`9r4c1 4r4c1      4r4c7 3r4c7      4r5c3       6r5c3            3r4c2 6r4c2 7r4c26r4c8 4r4c8             7r4c8`

which demonstrates 9r4c1=6r4c8, while showing every native weak link and every native strong link used in the demo.
BTW, this matrix shows that this net is a rather simple DK (Double Kraken)

3r4c2 - (3=4)r4c7 - 4r4c1
6r4c2 - (6=4)r5c3 - 4r4c1
7r4c2
=>!7r4c2-4r4c1 (where !7r4c2 stands for NOT(7r4c2))

6r4c8
4r4c8 - (4=9)r4c1
7r4c8 - 7r4c2=!7r4c2-(4=9)r4c1
=>6r4c8=9r4c1, qed

Similarly, for dan's puzzle of January 23, SteveG48's chain (that was full OK to me) can be developed as a TM:

Code: Select all
`4r2c8 38r2c78       3r2c2  2r2c2              2r2c3 5r2c3                    5r2c1 5r4c1              2r4c2             8r4c234b6p26                   5r4c8 8r4c8 => -4 r6c8`

I would have presented such a solution as follows:
Almost almost naked pair (actually kraken cell (3458)r4c8):
Code: Select all
`NP(34)r4c8,r5c9(5)r4c8 - r4c1 = r2c1 - (5=2)r2c3 - (2=3)r2c2 - (38=4)r2c78(8)r4c8 - (8=2)r4c2         -       (2=3)r2c2 - (38=4)r2c78=> -4 r6c8`

I am not saying it should be presented this way. It is nothing but my own preference for netty solutions. Matrices bring the highest clarity, but I know they are not much liked, they are cumbersome and hard to write, and maybe hard to read as they are little used. To me, they avoid complex arrangements about places of brackets, stars, symbols & and |. Just my opinion...
Cenoman
Cenoman

Posts: 886
Joined: 21 November 2016
Location: Paris, France

### Re: January 23, 2018

Cenoman wrote:Matrices bring the highest clarity, but I know they are not much liked, they are cumbersome and hard to write, and maybe hard to read as they are little used. To me, they avoid complex arrangements about places of brackets, stars, symbols & and |. Just my opinion...

Cenoman, thanks for bringing up this option, too! Your examples were simple enough that even I finally started to grasp this matrix stuff I think accepting the claim for "the highest clarity" depends on what format one is used to reading and writing. While you're correct that matrices avoid those extra symbols, they also provide no clues about how to interpret them. For a chain-oriented person it's not necessarily obvious (though possible to figure out), which might surprise you. It's also surprisingly difficult to find simple instructions for reading and writing them. The simplest I've found on this forum was this:

denis_berthier wrote:
Steve K wrote:Tri-angular matrix definition:
nxn
Each row contains at least one truth
The top entry of each column is in conflict with each item below it.
For row i, items i+2 and greater are empty. This can be translated, in Booleans, as False.

http://forum.enjoysudoku.com/the-concept-of-a-resolution-rule-and-its-applications-t5600-105.html#p59865

That was somewhat helpful. Unfortunately the link to Steve K's original definitions doesn't work, but I guess it's now here:

http://sudoku.com.au/sudokutips.aspx?Go=U3-1-1992

Is that the authoritative source on this stuff?

JC also provided great examples here:

http://forum.enjoysudoku.com/continuous-loops-with-als-nodes-t34306.html#p261523
Code: Select all
`   *             |    |               |    |    *        *        |=()=|    /  _  \    |=()=|               *            *    |    |   |-=( )=-|   |    |      *     *                     \  ¯  /                   *    `
SpAce

Posts: 912
Joined: 22 May 2017

### Re: January 23, 2018

Btw, how would people write the linked Triangular Matrix example in chain format?

http://sudoku.com.au/sudokutips.aspx?Go=U3-1-1992

Here's my horrible attempt:

(1)r2c7 = r2c5* - r4c5 = ([r4c3 - r8c3 = r8c45 - r(7|*3)c6 =] (1)r6c6) | (1)r4c78) => -1 r6c7

i.e. (1)r2c7 = (r6c6 | r4c78) <-> (1)(r2c7 | r6c6 | r4c78) => -1 r6c7

Would that be understandable? How would you draw that?
Code: Select all
`   *             |    |               |    |    *        *        |=()=|    /  _  \    |=()=|               *            *    |    |   |-=( )=-|   |    |      *     *                     \  ¯  /                   *    `
SpAce

Posts: 912
Joined: 22 May 2017

### Re: January 23, 2018

SpAce wrote:http://sudoku.com.au/sudokutips.aspx?Go=U3-1-1992

Is that the authoritative source on this stuff?

To me, yes it is.

SpAce wrote:JC also provided great examples here:

continuous-loops-with-als-nodes-t34306.html#p261523

You are right to associate JC van Hay to that topic. He made me discover Steve K's writings about matrices and Easter Monster, and I have learnt a lot from him...

You have borrowed Denis's definition. I recall Steve K's one

- Size is nxn
- Each row contains at least one truth (a strong inference set)
- Each column, except the first column, has the following quality:
The top non-empty entry is in conflict with each entry below it
Note there is a subtle difference here from the pigeonhole matrix.
- The following cells are always blank:
For each row i, rowicolumnj for all j>i+1
Note this is a significant difference
- The first column, the result column, is proven to contain at least one truth - thus a derived strong inference set.

I reformulate in a less "mathematical" language
- A TM is a square matrix (n rows AND n columns)
- Rows contain SIS (native or derived i.e. bivalue, bilocation, 3-value, 3-location, ..., ALS or any other derived SIS)
- The matrix is empty above its first upper diagonal (FUD), (this why it is called "triangular")
- All non empty cell below FUD has a weak link to the FUD candidate(s) above, (but not required between each other)
- Matrix inference is : candidate(s) in the first column are in a strong inference (one must be true)

...how would people write the linked Triangular Matrix example in chain format?

The puzzle of Steve K's example (Easter Monster, after several eliminations):
Code: Select all
` +-----------------------+----------------------+----------------------+ |  1      478    3458   |  3567   389   5678   |  3489   369   2      |  |  238    9      378    |  4      16    27     |  138    5     368    |  |  3458   248    6      |  1235   389   1258   |  7      139   3489   |  +-----------------------+----------------------+----------------------+ |  2468   5      1478   |  9      126   3      |  128    167   678    |  |  389    126    139    |  126    7     4      |  3589   126   3589   |  |  2369   1267   1379   |  8      5     126    |  1239   4     3679   |  +-----------------------+----------------------+----------------------+ |  7      148    4589   |  1235   348   1258   |  6      239   3459   |  |  456    3      145    |  1267   126   9      |  245    8     457    |  |  4589   468    2      |  3567   348   5678   |  3459   379   1      |  +-----------------------+----------------------+----------------------+`

The TM written "Eureka-like"
Code: Select all
`1r2c7  1r2c51r4c78 1r4c5 1r4c3       1r8c5 1r8c3 1r8c41r6c6  1r3c6       1r7c6=> -1 r6c7`

Note that all candidates are digit 1. This is probably recognised as a mutant jellyfish r248c6\b268c3 in the UFG ?
Fish experts can confirm... (I am not sure of my choice of cover sets).

So, this example is at the same time much interesting, as matrices are able to explain how complex fishes work, but also not relevant as a training to translate a matrix into an AIC. To me, some "full" n-fishes (n>=3) are impossible to write as AIC's, if they are not natively reduced to an AIC (with "full" I mean fishes with no node or only few nodes left void of the fish digit). This is the case right now. You have to use them as patterns.

Steve K himself proposed an AIC presentation:
As an AIC, I could write:

(1): r2c7=c5-[c5r48,r3c6]=[r4c78=c3-r8c3=c4-c6r7=r6] => r6c7 <>1
Note that I need to do two things:
- recognize the multiple forbiddings caused by (1)r2c5
- break out a sub-chain - contained above by the brackets [].

I would reformulate a bit his writing to:
(1)r2c7 = r2c5-[r4c5*,r8c5**,r3c6***]=[r4c78*=r4c3-r8c3**=r8c4-r7c6***=r6c6] => r6c7 <>1
with stars to show the strong inference connections. Typo corrected, Thanks, SpAce for spotting.
EDIT Feb. 01: in his sequent post, SpAce draw attention on the meaning of commas in the first square bracket. "OR" must be meant un-ambiguously. So, the following is proposed:
(1)r2c7 = r2c5-[r4c5*|r8c5**|r3c6***]=[r4c78*=r4c3-r8c3**=r8c4-r7c6***=r6c6] => r6c7 <>1
A simpler chain is also proposed by SpAce:
(1)r2c7 = r2c5 - (r4c5 | r3c6) = [ (1)r4c78 = r4c3 - r8c3 = r8c45 - r7c6 = (1)r6c6 ] => -1 r6c7
I agree with this chain, just noting that it is the translation of another matrix than the above:
Code: Select all
`1r2c7  1r2c51r4c78 1r4c5 1r4c3             1r8c3 1r8c451r6c6  1r3c6       1r7c6=> -1 r6c7`

Otherwise, one may notice a finned X-wing r24c578 in rows 1&2 of the TM, and an almost-almost kite r8,c6 in rows 3&4 of the TM.
Therefore a first possible presentation is (kind of kraken):

[Kite(1)r8c5=r8c4-r7c6=r3c6]-r2c5=r2c7
(1)r6c6
(1)r8c3 - r4c3 = [FXW(1)r4c78*=r4c5-r2c5=r2c7]
=> -1 r6c7

So, on one line you could get:
(1)r6c6*=[r2c7=r2c5-(Kite r3c6=r7c6-r8c4=r8c5) = r8c3-r4c3=(FXW r4c78=r4c5-r2c5=r2c7)] => -1 r6c7
"*" and highlighted blue "=" to focus the strong link of 1r6c6 to the kite.

or with shortened patterns (1)r6c6*=[r2c7=r2c5-(Kite r37c6-r8c45) = r8c3-r4c3=(FXW r4c578-r2c57)] => -1 r6c7

Two other examples of a TM : http://forum.enjoysudoku.com/october-3-2017-t34109.html
and a net : http://forum.enjoysudoku.com/extreme-9-9-17-t34038.html

Just FWIW...
Last edited by Cenoman on Thu Feb 01, 2018 11:26 pm, edited 2 times in total.
Cenoman
Cenoman

Posts: 886
Joined: 21 November 2016
Location: Paris, France

### Re: January 23, 2018

Cenoman wrote:I reformulate in a less "mathematical" language
- A TM is a square matrix (n rows AND n columns)
- Rows contain SIS (native or derived i.e. bivalue, bilocation, 3-value, 3-location, ..., ALS or any other derived SIS)
- The matrix is empty above its first upper diagonal (FUD), (this why it is called "triangular")
- All non empty cell below FUD has a weak link to the FUD candidate(s) above, (but not required between each other)
- Matrix inference is : candidate(s) in the first column are in a strong inference (one must be true)

Thanks! Just one thing: I'm not sure if it should be assumed that people know that SIS (apparently) means "strong inference set". I just figured it out now from the context, but I was wondering about it earlier when I was reading that heated exchange between Denis and Steve. Hadn't seen or registered that acronym before.

The TM written "Eureka-like"
Code: Select all
`1r2c7  1r2c51r4c78 1r4c5 1r4c3       1r8c5 1r8c3 1r8c41r6c6  1r3c6       1r7c6=> -1 r6c7`

Thanks! That's much easier to follow than Steve's original.

Note that all candidates are digit 1. This is probably recognised as a mutant jellyfish r248c6\b268c3 in the UFG ?
Fish experts can confirm... (I am not sure of my choice of cover sets).

No idea. I'm not planning to start fishing as long as there pretty much any other techniques available. As a pencil-and-paper solver I don't find complex fishes as human-friendly patterns at all.

So, this example is at the same time much interesting, as matrices are able to explain how complex fishes work, but also not relevant as a training to translate a matrix into an AIC.

I beg to differ. To me this example is easiest to understand in some sort of AIC-like format. That's just me, however.

To me, some "full" n-fishes (n>=3) are impossible to write as AIC's, if they are not natively reduced to an AIC (with "full" I mean fishes with no node or only few nodes left void of the fish digit). This is the case right now. You have to use them as patterns.

I agree generally but not in this case.

Steve K himself proposed an AIC presentation:
As an AIC, I could write:

(1): r2c7=c5-[c5r48,r3c6]=[r4c78=c3-r8c3=c4-c6r7=r6] => r6c7 <>1

I saw that, and it was easier for me to understand than his matrix, even though his chains are quite hard to follow because of the non-standard way of marking the nodes. That style is easy to write (I've tried it myself), but hard to read because you need to be aware of the context all the time.

I would reformulate a bit his writing to:
(1)r2c7 = r2c5-[r4c5*,r8c5**,r3c6***]=[r4c78*=c3-r8c3**=r8c4-r7c6***=r6c6] => r6c7 <>1

(A typo corrected). That's more understandable. I'm also beginning to think that at least the latter part is better that way than my earlier attempt. However, I have a couple of questions about the first weakly linked node in both your and Steve's chains. Why is it in square and not normal brackets? Aren't commas (and nothing) usually interpreted as ANDs, which is logically wrong here (should be ORs)? Also, I think the weak link to r8c5 is an unnecessary complication (while correct, it's one more thing to remember further down the road) as it can be bypassed using a group node. My new attempt would be:

(1)r2c7 = r2c5 - (r4c5 | r3c6) = [ (1)r4c78 = r4c3 - r8c3 = r8c45 - r7c6 = (1)r6c6 ] => -1 r6c7

Or if we want to explicitly name the latter part:

(1)r2c7 = r2c5 - (r4c5 | r3c6) = X-Chain:[ (1)r4c78 = r4c3 - r8c3 = r8c45 - r7c6 = (1)r6c6 ] => -1 r6c7

Isn't that actually a completely valid bidirectional AIC, as long as complex nodes are accepted? To me it's the simplest and most understandable way to prove the elimination, but it's completely subjective of course.

Otherwise, one may notice a finned X-wing r24c578 in rows 1&2 of the TM, and an almost-almost kite r8,c6 in rows 3&4 of the TM.
Therefore a first possible presentation is (kind of kraken):

[Kite(1)r8c5=r8c4-r7c6=r3c6]-r2c5=r2c7
(1)r6c6
(1)r8c3 - r4c3 = [FXW(1)r4c78*=r4c5-r2c5=r2c7]
=> -1 r6c7

So, on one line you could get:
(1)r6c6*=[r2c7=r2c5-(Kite r3c6=r7c6-r8c4=r8c5) = r8c3-r4c3=(FXW r4c78=r4c5-r2c5=r2c7)] => -1 r6c7
"*" and highlighted blue "=" to focus the strong link of 1r6c6 to the kite.

or with shortened patterns (1)r6c6*=[r2c7=r2c5-(Kite r37c6-r8c45) = r8c3-r4c3=(FXW r4c578-r2c57)] => -1 r6c7

To me these would seem like much more complex solutions. Interesting to see such possibilities, though!

Thanks!
Code: Select all
`   *             |    |               |    |    *        *        |=()=|    /  _  \    |=()=|               *            *    |    |   |-=( )=-|   |    |      *     *                     \  ¯  /                   *    `
SpAce

Posts: 912
Joined: 22 May 2017

Previous