January 23, 2018

Post puzzles for others to solve here.

Re: January 23, 2018

Postby SpAce » Tue Jan 30, 2018 1:56 am

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.
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: January 23, 2018

Postby SpAce » Tue Jan 30, 2018 4:20 am

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

:lol:
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: January 23, 2018

Postby SpAce » Tue Jan 30, 2018 9:34 pm

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
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: January 23, 2018

Postby Cenoman » Tue Jan 30, 2018 11:25 pm

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 7r4c2
6r4c8 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             8r4c2
34b6p26                   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: 609
Joined: 21 November 2016
Location: Paris, France

Re: January 23, 2018

Postby SpAce » Wed Jan 31, 2018 1:31 am

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
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: January 23, 2018

Postby SpAce » Wed Jan 31, 2018 5:06 am

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?
SpAce
 
Posts: 218
Joined: 22 May 2017

Re: January 23, 2018

Postby Cenoman » Wed Jan 31, 2018 5:49 pm

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)

In your subsequent post, you ask:
...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  1r2c5
1r4c78 1r4c5 1r4c3
       1r8c5 1r8c3 1r8c4
1r6c6  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  1r2c5
1r4c78 1r4c5 1r4c3
             1r8c3 1r8c45
1r6c6  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
Please, don't ask me the equivalent AIC !

Just FWIW...
Last edited by Cenoman on Thu Feb 01, 2018 11:26 pm, edited 2 times in total.
Cenoman
Cenoman
 
Posts: 609
Joined: 21 November 2016
Location: Paris, France

Re: January 23, 2018

Postby SpAce » Wed Jan 31, 2018 10:50 pm

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  1r2c5
1r4c78 1r4c5 1r4c3
       1r8c5 1r8c3 1r8c4
1r6c6  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!
SpAce
 
Posts: 218
Joined: 22 May 2017

Previous

Return to Puzzles