## a new (?) view of fish (naked or hidden)

Advanced methods and approaches for solving Sudoku puzzles

### Re: Triplet Logic

With regard to triplet logic, I think it is conceptually simple, it's just that when there are lots of triplets, there are lots of cases that need to be considered one by one. It took me a few read throughs of the instructions on Allan's website before I got it. I might do up my notes in a triplet how to guide in the next couple of days, and together we can refine it. For the example in question, here is my analysis:

Code: Select all

.  .  . | .  .  . | .  .  .
8  8  . | .  .  . | .  A  .
.  .  8 | .  .  . | .  .  8
--------+---------+---------
.  .  8 | .  8  . | .  8  .
8  .  . | 8  .  . | .  8  .
.  8  8 | .  8  . | 8  .  .
--------+---------+---------
8  .  8 | .  8  . | 8  8  8
.  8  . | .  8  . | .  8  T
8  B  . | 8  .  . | 8  .  .

Truths: C124B36
Rank: 3

We have 5 link triplets, but only two are required for the analysis, one at A (r2c8), the other at B (r9c2). T is the target for elimination.

Case I: Triplets A and B are both true. Then we have 3 truths and 4 links remaining, so the rank is 1, and T is eliminated as it is in 0 truth sets and 2 link sets.

Case II: Triplet A is false (B plays no part). Then, as for Allan's instructions, we cut the logic on the triplet's minor branch, and look for a subcover in the remaining logic. When we do this, a subcover of 1 truth in b3, and 1 link in column 9 ensues (Franken cyclops fish if you like), thus column 9 is a rank 0 sub-region and T is eliminated.

Case III: Triplet A is true, and triplet B is false. Again, cut the logic on the minor branch of the triplet, and look for a subcover in the remaining logic. Note that the remaining logic does not include r2c2 nor r45c8 due to A being assumed true. When we do this, a subcover of 2 truths in c2b6, and 2 links in r68 ensues (Franken X-wing if you like), thus rows 6,8 are a rank 0 sub-region and T is eliminated.

When you intersect the three cases, the worst rank for T is rank 1, and so T is eliminated under rank 1 logic.
sultan vinegar

Posts: 81
Joined: 27 August 2013

### Re: An Arcilla Nugget

Sudtyro2 wrote:... but one remote cell (r4c3) was of particular interest because it was very difficult for me to develop its network diagram. DAJ's grid follows, with (-) marking the CEC.
Code: Select all
.  7  . |  .  7  . |  .  .  7
7  .  . |  .  7  7 |  7  .  .
.  .  . |  7  .  . |  7  .  7
---------+----------+---------
.  .  7 |  .  7  . |  .  7  .
.  .  7 |  7  .  . |  .  7  7
.  7  . |  .  7  7 |  7  7  7
---------+----------+---------
.  7  7 |  .  7  . |  7  .  .
.  .  . |  7  .  . |  .  7  7
7  .  . |  7 -7  7 |  .  7  .

The final network diagram for the remote cell (r4c3):
Code: Select all
r5c4-----------          r1c5               => r9c5<>7
||            \          ||
r4c3-r5c3     r8c4-r3c4=r3c79-r1c9
||       ||            / ||
r5c8-----r8c8          / r1c2-r2c1=r9c1     => r9c5<>7
||       ||          /
||      r8c9---------
||                 /
r5c9---------------

...

OK, bottom line after reviewing all the evidence:
It's pretty obvious that JC's hybrid stream makes my network diagram look like a bunch of big SISsies! But, you gotta ask how JC found that 3-Fish!

JC has lots of experience! On the other hand, I get lucky. _ _

Code: Select all
.  7  . |  . F7  . |  .  .  7
c7  .  . |  .  7  7 |  7  .  .
.  .  . |  7  .  . | e7  .  7
---------+----------+---------
.  . a7 |  .  7  . |  .  7  .
.  .  7 |  7  .  . |  .  7  7
.  7  . |  .  7 d7 |  7  7  7
---------+----------+---------
. b7  7 |  .  7  . |  7  .  .
.  .  . |  7  .  . |  .  7  7
B7  .  . |  7 -7 D7 |  .  7  .

(a)r4c3 : (B)r9c1
||
(b)r7c2 : (c)r2c1 : (D)r9c6
||
(d)r6c6 : (e)r3c7 : (F)r1c5

All endpoints (capital letters) of the network see r9c5.

How I did it:

Code: Select all
*) Run Simple Sudoku and color elimination cell Pink and its peers Amber.

*) Color starting cell Blue and its uncolored peers Green.

*) option 1: Search for a unit with a single uncolored cell. Color it Blue and its uncolored peers Green.
*) option 2: Search for a unit with grouped uncolored cells. Color them Blue and their uncolored peers Green.

*) Repeat previous step until you get to a unit where all cells are colored Green or Amber.

In my network: (B+D+F) were colored Amber, and (a+b+c+d+e) were colored Blue. Numerous other cells were colored Green.
daj95376
2014 Supporter

Posts: 2624
Joined: 15 May 2006

### Re: An Arcilla Nugget

daj95376 wrote:
JC has lots of experience! On the other hand, I get lucky. _ _

Interesting method and very colorful...but, I'm pretty sure that it falls into the category of AT&E (Almost-T&E)!
Sudtyro2

Posts: 661
Joined: 15 April 2013

### Re: Triplet Logic

sultan vinegar wrote: ... Then, as for Allan's instructions, we cut the logic on the triplet's minor branch, and look for a subcover in the remaining logic. ...

Ouch...why is my head hurting again?
But, as to a readable How-To Guide, I say go for it!
BTW, might the UFG be a better spot for the guide? [Well, maybe not...a UFGG?]
Last edited by Sudtyro2 on Sat Aug 31, 2013 3:45 pm, edited 1 time in total.
Sudtyro2

Posts: 661
Joined: 15 April 2013

### Re: a new (?) view of fish (naked or hidden)

Ouch...why is my head hurting again?

That's good feedback. I'll take note to illustrate that particular step in more detail when I get around to doing the guide.
sultan vinegar

Posts: 81
Joined: 27 August 2013

### Re: Triplet Logic

sultan vinegar wrote: That's good feedback. I'll take note to illustrate that particular step in more detail when I get around to doing the guide.

BTW,
sultan vinegar wrote:We have 5 link triplets, but only two are required for the analysis, one at A (r2c8), the other at B (r9c2).
How do you know that only two of the five link triplets are needed? And which two do you pick for the analysis?
Those questions are sorta why my head hurts!
Sudtyro2

Posts: 661
Joined: 15 April 2013

### Re: An Arcilla Nugget

Sudtyro2 wrote:As mentioned previously, a Fluke check on DAJ's 7s grid confirmed that all 25 potential remote fins can see the CEC at r9c5. The 25 network diagrams are not listed here (more typing yet to do), but one remote cell (r4c3) was of particular interest because it was very difficult for me to develop its network diagram. DAJ's grid follows, with (-) marking the CEC.
Code: Select all
.  7  . |  .  7  . |  .  .  7
7  .  . |  .  7  7 |  7  .  .
.  .  . |  7  .  . |  7  .  7
---------+----------+---------
.  .  7 |  .  7  . |  .  7  .
.  .  7 |  7  .  . |  .  7  7
.  7  . |  .  7  7 |  7  7  7
---------+----------+---------
.  7  7 |  .  7  . |  7  .  .
.  .  . |  7  .  . |  .  7  7
7  .  . |  7 -7  7 |  .  7  .

The final network diagram for the remote cell (r4c3):
Code: Select all
r5c4-----------          r1c5               => r9c5<>7
||            \          ||
r4c3-r5c3     r8c4-r3c4=r3c79-r1c9
||       ||            / ||
r5c8-----r8c8          / r1c2-r2c1=r9c1     => r9c5<>7
||       ||          /
||      r8c9---------
||                 /
r5c9---------------

Or use a single linkset-triplet which directly leads to an empty rectangle pattern.

Code: Select all
. *7  . |  . *7  . |  .  . %7
*7  .  . |  .  7  7 |  7  .  .
.  .  . | *7  .  . | *7  . %7
---------+----------+---------
.  . *7 |  . *7  . |  . *7  .
.  . *7 | *7  .  . |  . *7 *7
.  7  . |  .  7  7 |  7  7  7
---------+----------+---------
.  7  7 |  .  7  . |  7  .  .
.  .  . | *7  .  . |  . *7 *7
*7  .  . |  7 -7  7 |  .  7  .

6 Truths = {7R13458 7C1}
8 Links = {7r9 7c34589 7b13}

(7):r13458c1\r9c34589b13 + linkset-triplet r13c9 (due to intersecting cover sectors c9 and b3)

r13c9<>7 leads to the empty rectangle pattern (7)r1c1\r9c5b1 ==> r9c5<>7

The linkset-triplet reduces raw-rank = 2 to effective-rank = 1. Thus the two cover sectors r9 and c5 are sufficient for r9c5<>7. Note there are no link-triplets and no other linkset-triplets.
ronk
2012 Supporter

Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

### Re: An Arcilla Nugget

ronk wrote:Or use a single linkset-triplet which directly leads to an empty rectangle pattern.
...
(7):r13458c1\r9c34589b13 + linkset-triplet r13c9 (due to intersecting cover sectors c9 and b3)

Thanks, ronk, for this alternative! Only problem on my end is that the UFG (NxM)-Fish and Arithmetic are still pretty much over my head.
However, I'm getting better with vanilla finned (NxN)-Fish, so the next big project will be to wade into the Obi-Wahn pond...shallow end first!
Sudtyro2

Posts: 661
Joined: 15 April 2013

### Re: a new (?) view of fish (naked or hidden)

UFG (NxM)-Fish

when reading the above I view it as UFG is a nxm - fish... which is inaccurate...

correcting the typo's { unless of course there is supposed to be a comma separating the types then oppsie on my part.} either way....

UFG fish ->> N x N + Finn cells
Obi's ->> N x N+k {Sectors} --- can also be written as NxM

the difference between the two is that obi's uses only sectors
while fish use sectors + cells.

the mathematics are a completely different topic:
still pretty much over my head

there's a few ways to develop either of them... some easy access links for reading the math: but probably will leave the head spinning

NxN+K fish using Obi-Wahn Mathematics and NxN fish using Set wise Mathmatics submitted by Rudd/ronk/pat:

and my idea of hybrid set wise operations for NxN+k fish that forgoes using multiple same cover sectors seen in obi's math
Some do, some teach, the rest look it up.

StrmCkr

Posts: 965
Joined: 05 September 2006

### Re: a new (?) view of fish (naked or hidden)

StrmCkr wrote:
UFG (NxM)-Fish

when reading the above I view it as UFG is a nxm - fish... which is inaccurate...

My bad...had seen a lot of recent NxM-related postings cropping up on the UFG topic, but not much new on the Arithmetic topic. Seeing some NxM in this topic, too, even tho arcilla's lists (so far) apply only to finned, row/col NxN Fish. Must be kinda tough to keep it all separated!

Sudtyro2

Posts: 661
Joined: 15 April 2013

### Re: a new (?) view of fish (naked or hidden)

Sudtyro2 wrote:
StrmCkr wrote:
UFG (NxM)-Fish
when reading the above I view it as UFG is a nxm - fish... which is inaccurate...
My bad...had seen a lot of recent NxM-related postings cropping up on the UFG topic ...

IMO there is nothing wrong with referring to deductions on the UFG thread as NxM fish. It's a difference in notation, not a difference in the fish per se.
ronk
2012 Supporter

Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

### Re: Fluke Corollaries

The Fluke states that for a single-elimination grid, every candidate in the grid can see (weakly link to) the eventual-elimination (EE) cell, either directly (as a peer) or remotely.
Proof: So far, there are template checks (thanks to DAJ) and network diagrams on (only) two recent grids of interest, Allan's 8s and DAJ's 7s, as already discussed in previous posts on this topic.

Corollary #1:
Per the Fluke, all row/column-based conjugate-pair candidates in the grid must already see the EE cell, but at least one of those candidates must see the EE cell directly (as a peer).
Discussion:
Row/column-based conjugate pairs show up in arcilla lists as “bivalue” list entries of the form, (ab). In Fish terms, the list position of the (ab) entry identifies the row/column base sector connecting the two conjugate-pair candidates, while the “ab” numbers identify two column/row cover sectors, one for each candidate in the base sector.

The single base sector plus the two cover sectors therefore define two possible finned 1-Fish, each with a single Fin. Each 1-Fish has one base candidate covered, while the remaining base candidate is the Fin. The [Fish]=[Fin] strong-link rule then applies.

If a cover sector contains the EE cell, then the covered base candidate sees the EE cell directly as a potential exclusion (PE). The Fluke then says that the Fin must also see the EE cell, so the exclusion applies. Either way, both base candidates see the EE cell, but at least one candidate sees the EE cell directly (as a peer). The cover sector belonging to the complementary 1-Fish clearly cannot contain the EE cell, so no exclusion is possible for that 1-Fish. Similarly, if neither of the two cover sectors defined in an arcilla (ab) list entry contains the EE cell, then no exclusion is possible.
Proof:
Like the Fluke, proof is still largely empirical, but the evidence is mounting. Every single-elimination grid examined so far obeys Corollary #1. Reader contributions are most welcome! Several examples are shown or referenced in the hidden text below.
Edit to add: Corollary #1 has been recently amended. See the posting here for details and several new examples.

Hidden Text: Show
Example 1: arcilla lists for DAJ's 7s grid:
RPC: (29)(167)(457)(3589)(124679)(269)(2367)(45689)(13568)
CPR: (259)(1567)(479)(358)(3489)(256789)(2357)(489)(14568)

The bolded RPC(29) entry identifies the grid's only row/column-based conjugate pair in c1, and then translates that pair into two Kraken Cyclopsfish.
In the grids below, (*) marks a covered base cell, (p) marks a PE, (-) marks the EE, and (#) marks the remote fin.

Code: Select all
1-Fish c1\r2 + rfr9c1
. 7  . |  .  7  . |  .  .  7
*7  .  . |  . p7 p7 | p7  .  .
.  .  . |  7  .  . |  7  .  7
---------+----------+---------
.  .  7 |  .  7  . |  .  7  .
.  .  7 |  7  .  . |  .  7  7
.  7  . |  .  7  7 |  7  7  7
---------+----------+---------
.  7  7 |  .  7  . |  7  .  .
.  .  . |  7  .  . |  .  7  7
#7  .  . |  7 -7  7 |  .  7  .

1-Fish c1\r9 + rfr2c1
. 7  . |  .  7  . |  .  .  7
#7  .  . |  .  7  7 |  7  .  .
.  .  . |  7  .  . |  7  .  7
---------+----------+---------
.  .  7 |  .  7  . |  .  7  .
.  .  7 |  7  .  . |  .  7  7
.  7  . |  .  7  7 |  7  7  7
---------+----------+---------
.  7  7 |  .  7  . |  7  .  .
.  .  . |  7  .  . |  .  7  7
*7  .  . | p7 -7 p7 |  . p7  .

The [Fish]=[Fin] strong-link rule applies, but in the first 1-Fish, the remote fin at r9c1 (if true) cannot see any of the listed PEs in the r2 cover, so there can be no exclusion. However, in the second 1-Fish, the remote fin at r2c1 (if true) can see, via the Fluke, one of the listed PEs at r9c5, which is the EE. The exclusion applies, and base candidate r9c1 sees the EE directly. Corollary #1 therefore also applies.

Example 2: arcilla lists for Allan's 8s grid:
RPC: (2579)(2689)(3467)(59)(4678)(1)(679)(24578)(378)
CPR: (6)(128)(39)(358)(148)(2357)(135789)(2589)(1247)
Code: Select all
.  .  . |  .  .  8 |  .  .  .
8  8  . |  .  .  . |  .  8  .
.  . c8 |  .  .  . |  .  . c8
---------+----------+---------
.  .  8 |  .  8  . |  .  8  .
8  .  . | c8  .  . |  .  8  .
.  8  8 |  .  8  . |  8  .  .
---------+----------+---------
8  .  8 |  .  8  . |  8  8  8
.  8  . |  .  8  . |  .  8 -8
8  8  . | c8  .  . |  8  .  .

There are now two bolded “bivalue” list entries, RPC(59) and CPR(39), which identify the grid's two row/column-based conjugate pairs that are marked with a (c). So, we'll take a shortcut lesson from the previous example and simply note that the EE is seen directly by the conjugate-pair candidate in r3c9.

Example 3: Six single-elimination grids are listed in the Triplets section of SV's Xsudo topic. In every grid shown, there is at least one row/column-based conjugate-pair candidate that can see the EE cell directly. Note that one must look carefully at the 7s grid in the example called “3) Link-set Triplet Easy” because the conjugate pair (at r6c59) whose candidate can directly see the EE cell is "hidden" in the background. See also SV's "Example 1" in the Cannibalism section.

Edit to add: Even SV's multi-elimination grid sample for “Rank 0” logic in the Basics section obeys the Corollary, although a peer conjugate-pair candidate for the one elimination at (6)r2c8 is not immediately obvious because of another pending elimination. Note the naked (69) pair in r89c4 that will force elimination of one of the 6s in r89c7 and thereby leave a new conjugate-pair in c7 containing (6)r2c7.
Last edited by Sudtyro2 on Sat Dec 14, 2013 8:54 pm, edited 2 times in total.
Sudtyro2

Posts: 661
Joined: 15 April 2013

### Re: An Arcilla Logical

So far, the arcilla lists have been used first to convert large Fish into smaller ones having the same eventual-elimination (EE) cell, and then more recently to help verify the Fluke (see previous post). But, how can the lists be applied in a top-down, logical approach to find that EE? Let's look again at DAJ's 7s grid, except this time without any foreknowledge of the EE cell. I'll proceed slowly here since this is new ground for me.

The 7s grid has the following two arcilla lists:
RPC: (29)(167)(457)(3589)(124679)(269)(2367)(45689)(13568)
CPR: (259)(1567)(479)(358)(3489)(256789)(2357)(489)(14568)

Per the standard Rx, we check the lists' cells for Almost-Locked Sets (ALS), where the Almost list entry is the spoiler/obstacle, and the LS is the Locked Set. The spoiler translates to a Fin, and the LS translates to a basic Fish. Inspection of the two bolded entries in the RPC list above immediately suggests a finned X-Wing. In the grid below, (*) marks a covered base cell, (p) marks a potential elimination (PE), and (#) marks the Fin.
Code: Select all
2-Fish c16\r29 + fr6c6.
. 7  . |  .  7  . |  .  .  7
*7  .  . |  . p7 *7 | p7  .  .
.  .  . |  7  .  . |  7  .  7
---------+----------+---------
.  .  7 |  .  7  . |  .  7  .
.  .  7 |  7  .  . |  .  7  7
.  7  . |  .  7 #7 |  7  7  7
---------+----------+---------
.  7  7 |  .  7  . |  7  .  .
.  .  . |  7  .  . |  .  7  7
*7  .  . | p7 p7 *7 |  . p7  .

We already know from basic finned-Fish strategy that the Fin, if true, must be able to see (either directly or remotely) one or more of the PEs for any valid exclusions. However, the Fin above cannot directly see any of the PEs, so does that mean we have to look for five separate remote paths to the PEs, starting at the fin? Well, we could, but that would certainly feel like T&E!

Or, can we just use the Fish=Fin strong-link rule and begin to develop an implication stream? In what follows, we'll denote the “definned” X-Wing as XW(c16), and for clarity let's also refer to the term Fish as being definned, and that Fin in this case refers to a single fin cell. We now begin the implication stream by treating the Fish as false:
XW(c16)=r6c6...

This forces the Fin to be true, so we set r6c6=7, omit all of its peers (r6c25789|r29c6|r4c5|r5c4), and adjust the grid accordingly. We denote the deleted peer cells in the implication stream as:
XW(c16)=r6c6-[r6c6 peers]...

The modified grid appears as:
Code: Select all
.  7  . |  .  7  . |  .  .  7
7  .  . |  .  7  . |  7  .  .
.  .  . |  7  .  . |  7  .  7
---------+----------+---------
.  .  7 |  .  .  . |  .  7  .
.  .  7 |  .  .  . |  .  7  7
.  .  . |  .  .  7 |  .  .  .
---------+----------+---------
.  7  7 |  .  7  . |  7  .  .
.  .  . |  7  .  . |  .  7  7
7  .  . |  7  7  . |  .  7  .

We next examine a new pair of arcilla lists for the modified grid:
RPC: (29)(17)(457)(389)(1279)(6)(237)(4589)(1358)
CPR: (259)(157)(479)(38)(389)(6)(2357)(489)(1458)

We'll stick with the RPC list for the moment and look for suitable ALS. The first three bolded entries form a nice 3-cell ALS, but all four row numbers occur twice, meaning that any Fin selected will comprise two different fin cells, which we'd like to avoid if at all possible. So, we add the fourth bolded entry, which has a single occurrence of row number 3 and therefore implies only a single Fin cell. The 1279 row entries define the cover sectors, while the cell positions, 1257, define the base sectors. This translates to a finned Jellyfish as shown below in the modified grid:
Code: Select all
4-Fish c1257\r1279 + fr3c7.
. *7  . |  . *7  . |  .  . p7
*7  .  . |  . *7  . | *7  .  .
.  .  . |  7  .  . | #7  .  7
---------+----------+---------
.  .  7 |  .  .  . |  .  7  .
.  .  7 |  .  .  . |  .  7  7
.  .  . |  .  .  7 |  .  .  .
---------+----------+---------
. *7 p7 |  . *7  . | *7  .  .
.  .  . |  7  .  . |  .  7  7
*7  .  . | p7 *7  . |  . p7  .

So, we next add the entire finned Jellyfish (denoted FJF(c1257)) to the implication stream:
XW(c16)=r6c6-[r6c6 peers]=FJF(c1257)...

But now, a true Fin at r3c7 can directly see the PE at r1c9, which implies r1c9<>7. One can then immediately extend the stream from the false r1c9 with a Kite (ala JC Van Hay) to form:
XW(c16)=r6c6-[r6c6 peers]=FJF(c1257)-r1c9=Kite(r1c1) => r9c5<>7,
where Kite(r1c1) is the bidirectional AIC, r1c5=r1c2-r2c1=r9c1 => r9c5<>7.

The implication stream actually defines a strong inference between XW(c16) and Kite(r1c1), meaning that at least one of them must be true. Either way, the exclusion at r9c5 applies.

One should note that the CPR list of the modified grid also generates a suitable ALS from the entries in row positions 3458 that translates to:
4-Fish r3458\c3489 + fr3c7.
This finned Jellyfish can be substituted directly for FJF(c1257) to produce the same EE.

These “hybrid” implication streams are not as compact as a single NxM Fish (with possible duplicate sectors), but they do seem to offer understandable alternatives to the manual solver.

EDIT: The basic approach described above is fundamentally sound, but the implication stream is technically flawed. See subsequent posts and DAJ's final resolution here.
Last edited by Sudtyro2 on Sun Sep 22, 2013 4:14 pm, edited 2 times in total.
Sudtyro2

Posts: 661
Joined: 15 April 2013

### Re: a new (?) view of fish (naked or hidden)

Sudtyro, Your approach is intriguing but I'm wondering how general it is.

Some observations (which shouldn't be taken as discouraging)

Treating the kite as a 2x3Fish, the pattern for your AIC goes
(target PE) - (fish1) = (fin1) – (fin1_peers) = (fish2) – (PE2) = (fish3) – (target PE) => target PE = false.

The choice of node to bring into this chain next is restricted by the need to keep the link types alternating, and if there were 4 fish involved, it could look very different.

As the technique permanently removes the fin1 peers from the grid, the resultant chain isn't a pure AIC. It's what I call an accumulating chain which depends on the truth states found in the preceding links to propagate. These chains can only be read left to right.

I hoped that adding up the sectors for each component fish would produce a compound fish similar to the ones Blue presented with some sectors used more than once in the base and cover sets, but this doesn't seem to work out.

DPB
David P Bird
2010 Supporter

Posts: 1040
Joined: 16 September 2008
Location: Middle England

### Re: An Arcilla Logical

Sudtyro2 wrote:XW(c16)=r6c6-[r6c6 peers]=FJF(c1257)-r1c9=Kite(r1c1) => r9c5<>7

There's a problem with this logic.

The "finned jellyfish" node, is a (fish = fins) pattern, and the proposed chain is more like:
XW(c16)=r6c6-[r6c6 peers]=(JF(c1257)=r3c7)-r1c9=Kite(r1c1)
With the two consecutive strong links, it isn't an AIC and the elimination isn't justified.

Edit: This statement has been retracted ("My mistake") ... read on. Apologies offered.
Last edited by blue on Sat Sep 21, 2013 9:35 pm, edited 1 time in total.
blue

Posts: 827
Joined: 11 March 2013

PreviousNext