About the arithmetic of Ultimate Fish

Advanced methods and approaches for solving Sudoku puzzles

Re:

Postby ronk » Mon Jun 24, 2013 8:37 am

Pat wrote:
daj95376 wrote:During recent discussions with StrmCkr about the following ronk exemplar,
StrmCkr pointed out that an additional elimination was present from the Nx(N+1) Fish perspective.
Code: Select all
     *  *  * |  X *X  X |  * **  *
     .  .  . |  /  X  / |  *  .  .
     .  .  . |  /  X  / |  *  .  .
    ---------+----------+----------
     *  *  * |  .  *  . |  *  .  .
     X  X  X |  /  X  / |  X  /  /
     X  X  X |  /  X  / |  X  /  /
    ---------+----------+----------
     .  .  . |  .  *  . | **  .  .
     .  .  . |  .  *  . | **  .  .
     /  /  / |  /  X  / |  X  #  /

     mutant jellyfish r569b2\r1c57b4 plus fin r9c8, implies r1c8, r78c7<>X
When the unfinned mutant Jellyfish is processed using Obi-Wahn's arithmetic,
then r1c7's count stands out from the general exemplar.

---r1c7 is included in the eliminations.

    cute. of course r1c7 can be excluded by a smaller finned fish,
    b256\r4c57 with a fin in r1c46

The exclusions of finned fish are those that see all the fin cells. Remora exclusions were not included then and should not be included now IMO. However, it's unfortunate that a better exemplar was not posted back then, one without a remora.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: Re:

Postby daj95376 » Mon Jun 24, 2013 4:07 pm

ronk wrote:The exclusions of finned fish are those that see all the fin cells. Remora exclusions were not included then and should not be included now IMO. However, it's unfortunate that a better exemplar was not posted back then, one without a remora.

Yes, that's partially why my post is in this thread. In an Nx(N+k) Fish, there aren't any fin cells. That leaves Obi-Wahn's arithmetic to determine where eliminations occur.

I was under the misconception that Nx(N+k) Fish would only find subsets of eliminations present in a conventional NxN Fish. Here, both Nx(N+1) Fish found an elimination that was outside the conventional NxN Fish eliminations. This changes my previous perception of Nx(N+k) Fish as simply overlaying fin sectors on conventional NxN Fish and using only the latter's eliminations that are common to all of the overlayed fin sectors. In the case of this exemplar, I incorrectly told StrmCkr that r1c8 was the elimination for the first Nx(N+1) Fish, and that r78c9 were the eliminations for the second Nx(N+1) Fish. In case anyone else might have made the same mistake, I posted the correct interpretation and eliminations here.

Thanks again to StrmCkr for setting my straight.



Question: If the fin cell wasn't present, then how would you have justified the cannibalistic elimination in r1c5? I hope your answer isn't that you made an exception for this case from Obi-Wahn's arithmetic.
daj95376
2014 Supporter
 
Posts: 2624
Joined: 15 May 2006

Re: Re:

Postby ronk » Mon Jun 24, 2013 4:55 pm

daj95376 wrote:In the case of this exemplar, I incorrectly told StrmCkr that r1c8 was the elimination for the first Nx(N+1) Fish, and that r78c9 were the eliminations for the second Nx(N+1) Fish.

That is the correct interpretation for the Nx(N+1) fish.

daj95376 wrote:Question: If the fin cell wasn't present, then how would you have justified the cannibalistic elimination in r1c5? I hope your answer isn't that you made an exception for this case from Obi-Wahn's arithmetic.

In an unfinned fish, two covers of a candidate in a base sector do cause an exclusion. I don't see what "exception" you're driving at, exception to what?
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: About the arithmetic of Ultimate Fish

Postby StrmCkr » Mon Jun 24, 2013 6:18 pm

Ill edit this and redefine what i am getting at after work for clarity. {in a new post}
Last edited by StrmCkr on Mon Jun 24, 2013 10:22 pm, edited 2 times in total.
Some do, some teach, the rest look it up.
stormdoku
User avatar
StrmCkr
 
Posts: 1417
Joined: 05 September 2006

Re: About the arithmetic of Ultimate Fish

Postby ronk » Mon Jun 24, 2013 6:23 pm

StrmCkr wrote:Check your math again ronk
. Elimations also occur in the overlap of thecoversets using obiwans mathmatics
Refer to pats original comments regarding this notation.thus the elimations are infact valid and should be included.

The fish exemplars do not use Obi-Wahn's math, so there is no math to check.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: Re:

Postby daj95376 » Mon Jun 24, 2013 8:15 pm

ronk wrote:
daj95376 wrote:In the case of this exemplar, I incorrectly told StrmCkr that r1c8 was the elimination for the first Nx(N+1) Fish, and that r78c9 were the eliminations for the second Nx(N+1) Fish.

That is the correct interpretation for the Nx(N+1) fish.

Do you have a link to where this interpretation for the Nx(N+1) Fish was agreed upon? Because I (now) seriously disagree with it.

ronk wrote:
daj95376 wrote:Question: If the fin cell wasn't present, then how would you have justified the cannibalistic elimination in r1c5? I hope your answer isn't that you made an exception for this case from Obi-Wahn's arithmetic.

In an unfinned fish, two covers of a candidate in a base sector do cause an exclusion. I don't see what "exception" you're driving at, exception to what?

My "exception" rephrased:

You are "counting the covers" in the base cell of an unfinned NxN Fish to arrive at your exclusion. Why doesn't "counting the covers" apply to (k+1)-covers of a candidate in a non-base cell of an Nx(N+k) Fish?
daj95376
2014 Supporter
 
Posts: 2624
Joined: 15 May 2006

Re: About the arithmetic of Ultimate Fish

Postby StrmCkr » Mon Jun 24, 2013 10:56 pm

Obi's original notes/discussion topic on the programs forums has some insight not mentioned in his opening post.


in a N x( N + K) fish all cover sectors used can be interpreted as Fin sectors: iterating all combinations for the base x cover + Finns will yield the same result as treating all sectors as Finns

ronk wrote:The exclusions of finned fish are those that see all the fin cells. Remora exclusions were not included then and should not be included now IMO. However, it's unfortunate that a better exemplar was not posted back then, one without a remora.


the n x n +k fish process dose not use Finn Cells or specific fin sectors: it treats all sectors used as possible fins.

my generalized rules/ interpretation of Obi-Wahn mathematics eliminates the need for actually counting as well,
based on more of his notes from the programers forum.

that cells to be counted more then once require to be seen in combinations of Rows,Cols,Boxs sectors : all i do is keep track of individual cover sectors
{ for n+1 fish they need to be double covered, for n+2 fish triple covered. }

eliminations are pretty simplistic as described here in this quote;
Pat wrote:
ab wrote:This idea does look interesting, but I can't find the thread where you define what you mean by base and cover in this context. Maybe someone can enlighten me?


The Ultimate FISH Guide should provide all the "fish" terminology

"base" and "cover" —
    for any specific digit,
    a "fish" of order j
    is defined by a "base" of j units
    and a "cover" of j units,

    where the observation is —
    A. each unit of the "base" can only have the digit somewhere in the "cover", and
    B. the digit cannot occur in the overlap of units of the "base" [ new forFranken andMutant ]

    thus we know that the "base" will provide the digit j times in the "cover",
    and the conclusion is —
    exclude the digit in the "cover" outside the "base"

    beyond the "fish" exclusion,
    if there's overlap in the "cover" [ i.e. new for Franken and Mutant ]
    we have an extra type of exclusion —
    exclude the digit in the overlap of units of the "cover";

    Obi-Wahn's idea extends this new type of exclusion
    by considering order j\J,
    where the "cover" is increased to J units ( j < J )


my algorithms is based using Sets

because i use set logic: adding the same base/cover sectors dose not change my "counting".

my logic construct is basically this order:

Code: Select all
 base[set] x cover[set]  <> [ no active units ]
 active base[set] - ( base[set] x cover[set] )   = [ no active units ]
    then
      if N = N
             then
                  Cover[set]  - (base[set] x cover[set] )  = [ set of cells to eliminate ]  {basic fish eliminations}

     if n = n  or K =1  { eliminations from overlapping cells, in cover not in base }
          then
                ((Row Cover[set] x Box cover[set] ) + (Row_cover[set] x col cover[set]) +  (Box cover[set] x Col cover [set]) )  - base[set] =  [set of cells that are double covered and can be eliminated]
         
     if  k > 1 { eliminations from overlapping cells, in cover not in base }
            then
             ( Row cover[set] * box cover[set] * col cover [set]) - base[set]     = [set of cells that are tipple covered and can be eliminated]


originally i was confirming you comment that to mimic your fish's elimination that more then one nxn+k fish was required to duplicate the results of your 1 fish: i confirmed this fact by using two different cover sectors however my code identified R1C7 in both cases as an elimination: i was discussing the results with daj that R1c7 is eliminated in you original grid: which he confirmed by cross testing obiwan's mathematics

hence this whole discussion:

daj95376 wrote:During recent discussions with StrmCkr about the following ronk exemplar, StrmCkr pointed out that an additional elimination was present from the Nx(N+1) Fish perspective.

Code: Select all
     *  *  * |  X *X  X |  * **  *
     .  .  . |  /  X  / |  *  .  .
     .  .  . |  /  X  / |  *  .  .
    ---------+----------+----------
     *  *  * |  .  *  . |  *  .  .
     X  X  X |  /  X  / |  X  /  /
     X  X  X |  /  X  / |  X  /  /
    ---------+----------+----------
     .  .  . |  .  *  . | **  .  .
     .  .  . |  .  *  . | **  .  .
     /  /  / |  /  X  / |  X  #  /

     mutant jellyfish r569b2\r1c57b4 plus fin r9c8, implies r1c8, r78c7<>X

When the unfinned mutant Jellyfish is processed using Obi-Wahn's arithmetic, then r1c7's count stands out from the general exemplar.

Code: Select all
 unfinned mutant Jellyfish r569b2\r1c57b4
 +-----------------------------------------------+
 |   *   *   *   |   X  *X   X   |  +2   *   *   |
 |   .   .   .   |   /   X   /   |   *   .   .   |
 |   .   .   .   |   /   X   /   |   *   .   .   |
 |---------------+---------------+---------------|
 |   *   *   *   |   .   *   .   |   *   .   .   |
 |   X   X   X   |   /   X   /   |   X   /   /   |
 |   X   X   X   |   /   X   /   |   X   /   /   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   *   .   |   *   .   .   |
 |   .   .   .   |   .   *   .   |   *   .   .   |
 |   /   /   /   |   /   X   /   |   X   /   /   |
 +-----------------------------------------------+

Now, let's add either [c8] or [b9] to create the following Nx(N+1) Fish containing r9c8.

Code: Select all
 mutant Jellyfish r569b2\r1c57b4+c8  =>  r1c78<>X
 +-----------------------------------------------+
 |   .   .   .   |   X  +1   X   |  +2  +2   .   |
 |   .   .   .   |   /   X   /   |   .   .   .   |
 |   .   .   .   |   /   X   /   |   .   .   .   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   X   X   X   |   /   X   /   |   X   X   /   |
 |   X   X   X   |   /   X   /   |   X   X   /   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   /   /   /   |   /   X   /   |   X   X   /   |
 +-----------------------------------------------+

Code: Select all
 mutant Jellyfish r569b2\r1c57b4+b9  =>  r178c7<>X
 +-----------------------------------------------+
 |   .   .   .   |   X  +1   X   |  +2   .   .   |
 |   .   .   .   |   /   X   /   |   .   .   .   |
 |   .   .   .   |   /   X   /   |   .   .   .   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |   .   .   .   |
 |   X   X   X   |   /   X   /   |   X   /   /   |
 |   X   X   X   |   /   X   /   |   X   /   /   |
 |---------------+---------------+---------------|
 |   .   .   .   |   .   .   .   |  +2   .   .   |
 |   .   .   .   |   .   .   .   |  +2   .   .   |
 |   /   /   /   |   /   X   /   |   X   X   X   |
 +-----------------------------------------------+

In both cases, r1c7 is included in the eliminations.
Some do, some teach, the rest look it up.
stormdoku
User avatar
StrmCkr
 
Posts: 1417
Joined: 05 September 2006

Postby Pat » Tue Jun 25, 2013 8:19 am

ronk wrote:The exclusions of finned fish are those that see all the fin cells. Remora exclusions were not included then and should not be included now IMO. However, it's unfortunate that a better exemplar was not posted back then, one without a remora.

  • to exclude r1c7, we'd use the finned Swordfish b256\r4c57 with a fin in r1c46
  • to exclude r78c7, we'd use the finned Swordfish r569\c57b4 with a fin in r9c8
  • but to exclude r1c8, we'd need the finned Jellyfish
sorry i don't quite know if you were
objecting to this finned Jellyfish?


daj95376 wrote:
ronk wrote:
daj95376 wrote:Question: If the fin cell wasn't present, then how would you have justified the cannibalistic elimination in r1c5?
I hope your answer isn't that you made an exception for this case from Obi-Wahn's arithmetic.

In an unfinned fish, two covers of a candidate in a base sector do cause an exclusion. I don't see what "exception" you're driving at, exception to what?

My "exception" rephrased:

You are "counting the covers" in the base cell of an unfinned NxN Fish to arrive at your exclusion. Why doesn't "counting the covers" apply to (k+1)-covers of a candidate in a non-base cell of an Nx(N+k) Fish?

    the exclusions for fish
    follow from the definition of [ un-finned, NxN ] fish

      this statement refers equally to
      exclusions in C\B
      and exclusions in CI;
      see Pat (2007.Oct.2)
    please note that The Ultimate FISH Guide only discussed NxN fish


    you ask,
      Why doesn't "counting the covers" apply to
      (k+1)-covers of a candidate in a non-base cell
      of an Nx(N+k) Fish?
    right, it applies — that's Obi-Wahn's idea
User avatar
Pat
 
Posts: 4056
Joined: 18 July 2005

Re: Re:

Postby ronk » Tue Jun 25, 2013 2:52 pm

daj95376 wrote:
ronk wrote:
daj95376 wrote:In the case of this exemplar, I incorrectly told StrmCkr that r1c8 was the elimination for the first Nx(N+1) Fish, and that r78c9 were the eliminations for the second Nx(N+1) Fish.
That is the correct interpretation for the Nx(N+1) fish.
Do you have a link to where this interpretation for the Nx(N+1) Fish was agreed upon? Because I (now) seriously disagree with it.

As I recall, you and I were the only ones to ever discuss this. I don't think we agreed then because, as now, you were having trouble understanding how fin cell and fin sector points-of-view could be applied to the same fish.

daj95376 wrote:
ronk wrote:
daj95376 wrote:Question: If the fin cell wasn't present, then how would you have justified the cannibalistic elimination in r1c5? I hope your answer isn't that you made an exception for this case from Obi-Wahn's arithmetic.
In an unfinned fish, two covers of a candidate in a base sector do cause an exclusion. I don't see what "exception" you're driving at, exception to what?
My "exception" rephrased:

You are "counting the covers" in the base cell of an unfinned NxN Fish to arrive at your exclusion. Why doesn't "counting the covers" apply to (k+1)-covers of a candidate in a non-base cell of an Nx(N+k) Fish?

OK, strictly speaking r1c7 should have two asterisks as in:

Code: Select all
     *  *  * |  X *X  X | ** **  *
     .  .  . |  /  X  / |  *  .  .
     .  .  . |  /  X  / |  *  .  .
    ---------+----------+----------
     *  *  * |  .  *  . |  *  .  .
     X  X  X |  /  X  / |  X  /  /
     X  X  X |  /  X  / |  X  /  /
    ---------+----------+----------
     .  .  . |  .  *  . | **  .  .
     .  .  . |  .  *  . | **  .  .
     /  /  / |  /  X  / |  X  #  /

     mutant jellyfish r569b2\r1c57b4 plus fin r9c8, implies r1c8, r78c7<>X

     plus one non-fish exclusion r1c7<>X

Note the added "plus one non-fish exclusion r1c7<>X". Repeat, that's "non-fish exclusion." The Ultimate Fish Guide was/is about fish and the exclusions caused by fish, which r1c7 was/is not in this exemplar. Moreover, as posted by Pat, r1c7<>X may/should be eliminated by a smaller finned fish, a remora fish.

Worse still, now all the exclusions are not seen by the lone fin cell at r9c8. Therefore, as author IIRC, I chose to "suppress" the existence and exclusion of candidate X at r1c7.

This exemplar and others perhaps, particularly those of degenerate fish when unfinned, were not meant to show all the exclusions on the grid, ONLY those due the FISH.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: Re:

Postby daj95376 » Tue Jun 25, 2013 5:42 pm

[Edit: Withdrawn]
Last edited by daj95376 on Wed Jun 26, 2013 5:24 pm, edited 1 time in total.
daj95376
2014 Supporter
 
Posts: 2624
Joined: 15 May 2006

Re: About the arithmetic of Ultimate Fish

Postby StrmCkr » Tue Jun 25, 2013 6:01 pm

This exemplar and others perhaps, particularly those of degenerate fish when unfinned, were not meant to show all the exclusions on the grid, ONLY those due the FISH.

technically it is due to the "fish"

your omitting/modifying the exclusion rule for overlapping covers:
these do not have to see the FInn cells used in a "fish".

personal preference{and seeming common practice/traditional} is to simplify the exclusion rules so that eliminations must see all Finn cells, thus it will never haven an elimination for overlapping covers not in the base, as finn cell eliminations are in the base mathematically =>> (cover*finn) - ((cover+ fin) * base ) => [ elimination cells].

thank you for clarifying this point of view, moreover the whole point to this conversation is: DO NxN+k fish eliminate candidates from overlapping covers: the short answer is yes.

since we all agree on this fact i'm considering the rest of the argument moot.
Some do, some teach, the rest look it up.
stormdoku
User avatar
StrmCkr
 
Posts: 1417
Joined: 05 September 2006

Re: About the arithmetic of Ultimate Fish

Postby ronk » Tue Aug 06, 2013 8:20 pm

in The Ultimate Fish Guide thread StrmCkr wrote: can you tell me which + cover sector is specifically is the "fin sector"?

For your example, any one of the [edit: four except r6].

StrmCkr wrote:load the above puzzle into hodoku: now search for 3x3 fish

Finned Franken Swordfish: 7 c16b4 r269 fr4c3 fr5c3 => r29c3<>7
Finned Franken Swordfish: 7 c16b4 r26b7 fr4c3 fr5c3 fr9c6 => r9c3<>7
Finned Franken Swordfish: 7 c16b4 r69b1 fr2c6 fr4c3 fr5c3 => r2c3<>7
Finned Mutant Swordfish: 7 c16b4 r26c3 fr9c1 fr9c6 => r9c3<>7
Finned Mutant Swordfish: 7 c16b4 r69c3 fr2c1 fr2c6 => r2c3<>7

this singular 3x3+1 fish represents all of these patterns at once: the direct summation of multiple nxn fish at once!!!
(7) 3x3+1 Base: C16B4, Cover: R269C3, Exclusions: R2R9C3

The 2nd and 3rd of the Hudoku finned N\N swordfish are out of scope because they do not have the same cover sectors as your N\(N+1). As the other three illustrate, any one of c3, r9 and r2 can be considered as the fin sector.

StrmCkr wrote:notice, that in nxn fish the fins cells are some times in the base and some versions they are in the cover.

When evaluating one fish at a time, this simply cannot happen.

StrmCker wrote:regarding this discussion on fins and fin sectors...

I in full agree that the term "Fin" should be removed and left to nxn fish exclusively.

IMO that would be a myopic decision. There needs to be some connection between the two fish algorithms.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: About the arithmetic of Ultimate Fish

Postby StrmCkr » Wed Aug 07, 2013 2:13 am

Ronk,
thank you for agreeing that there is no specific Fin sector for nxn+k fish.

nxn+K fish for this base:C16B4 is the one i posted. there is no other "comparable" set to choose from.
Code: Select all
(7) 3x3+1       Base: C16B4    Cover: R269C3,  Exclusions: R29C3


edit : since i cant explain it enough to convey what i mean i deleted the post.

basically i figured out that a bunch of nxn even nxn+ finned fish that use the same intersection of(base x cover = base)
can be reduced to a singular nxn+k fish, instead of multiple different nxn and nxn finned fish options to equal the same eliminations as produced by 1 nxn+k fish.
{this also included the 2 fish you say are out of scope. }

2nd point was there isn't 1 fin sector for a nxn+k fish, all of them could be the fin sectors.
thus the term "fin" should be dropped, in a 3x5 fish: we know there is 2 "finn sectors" but not which 2 are out of 5. { with out dissecting them }

and i never said there wasn't finned sectors, the question I asked which ones would it be, just going by the listed fish size.
Last edited by StrmCkr on Wed Aug 07, 2013 5:31 am, edited 2 times in total.
Some do, some teach, the rest look it up.
stormdoku
User avatar
StrmCkr
 
Posts: 1417
Joined: 05 September 2006

Re: About the arithmetic of Ultimate Fish

Postby ronk » Wed Aug 07, 2013 3:22 am

StrmCkr wrote:thank you for agreeing that there is no specific Fin sector for nxn+k fish.

But that's not the same as saying that a fin sector doesn't exist. Information about the fin sector(s) has merely been discarded by the algorithm.

As to the rest of your post, I have no idea what you're talking about.
ronk
2012 Supporter
 
Posts: 4764
Joined: 02 November 2005
Location: Southeastern USA

Re: About the arithmetic of Ultimate Fish

Postby blue » Wed Aug 07, 2013 10:24 am

I added a post to the "Ultimate Fish Guide" thread, here, that describes the connection between UFG fish and Obi-Wahn fish. Reading it may provide some insight into the term "fin sector count". The idea that somehow there might actually be 'k' cover sectors that we might like to call "fin sectors", is also covered. It seems to have application, only in converting from one type of fish to the other.
blue
 
Posts: 975
Joined: 11 March 2013

Previous

Return to Advanced solving techniques