I'd like to add a link to your thread into the collection of solving techniques without requiring people to read thru all 101 posts. Let me try to summarize your results.
In solving a puzzle, the largest N*N fish that needs to be considered is the jellyfish. For all larger column (row) fish there is an 9-N-P row (column) fish or multiple smaller fish which can be used to make eliminations (P is the number of big numbers plus clues for the digit making up the fish). This is only true if fish with more than two fins or equivalently if fish with big fins which cover more than one column (row) are considered. For this to happen all fins must be in the same box, for example, a double finned column jellyfish could look like:
- Code: Select all
. . . | . . . | # # .
. . . | . X . | X X *
. . . | . | . | # # .
------+---|---+-|-|--
. . . | . | . | | | .
. . . | . X . | X X .
. . . | . | . | | | .
------+---|---+-|-|--
. . . | . | . | | | .
. . . | . | . | | | .
. . . | . X . | X X .
X - body elements of the fish
# - fin elements of the fish
* - valid elimination
Many of the fish cells are not required for the finned fish to still be valid. For example the "X's" in the finned box need not be present (a sashimi version). In the case where all of the fish cells in the rows (columns) with the big fin lie within the big fin box then eliminations can occur from all non-fish cells in the box and in the other rows (columns) of the fish, for example:
- Code: Select all
. . . | . . . | # # *
. . . | . . . | # # *
. . . | . . . | # # *
------+-------+-|-|--
. . . | . . . | | | .
* * * | * X * | X X *
. . . | . | . | | | .
------+---|---+-|-|--
. . . | . | . | | | .
. . . | . | . | | | .
* * * | * X * | X X *
In addition, if a fish with a big fin appears to be missing a row (column), a so called skinny fish, other reductions are possible:
- Code: Select all
. . . | * X * | X X * . . . | * X X | X X * . . . | . . . | X X *
. . . | * X * | X X * . . . | * X X | X X * * X * | * X * | * * *
. . . | * X * | X X * . . . | * X X | X X * . | . | . | . | X X *
-------+---|---+-|-|--- -------+---|-|-+-|-|--- ---|---+---|---+-|-|---
. . . | . | . | | | . . . | . | | | | | . . | . | . | . | | | .
* * * | * * * | X X * * * * | * X X | X X * * X * | * X * | X X *
. . . | . | . | | | . . . | . | | | | | . . | . | . | . | | | .
-------+---|---+-|-|--- -------+---|-|-+-|-|--- ---|---+---|---+-|-|---
. . . | . | . | | | . . . . | . | | | | | . . | . | . | . | | | .
. . . | . | . | | | . . . . | . | | | | | . . | . | . | . | | | .
. . . | . | . | | | . * * * | * X X | X X * * X * | * X * | X X *
Note that eliminations in Boxes 3 and 6 of the first puzzle can also be made because of Box/Box eliminations (Locked Candidates 2).
Additional valid fins may occur in different forms of a Frankenfish where the second form is also an empty rectangle:
- Code: Select all
. . . | . . . | # # .
. . . | . . . | # # .
. . . | . . . | # # .
------+-------+-|-|--
. . . | . # . | | | .
. . . | * X * | X X .
. . . | . # . | | | .
------+---|---+-|-|--
. . . | . | . | | | .
. . . | . | . | | | .
. . . | . X . | X X .
- Code: Select all
. . . | . . . | # # .
. . . | . . . | # # .
. . . | . . . | # # .
------+-------+-|-|--
. . . | . . . | | | .
. . . | . X . | X X .
. . . | . | . | | | .
------+---|---+-|-|--
. . . | . | . | # # .
. . . | . | . | # # .
. . . | . X . | X X *
These eliminations may also occur in a skinny fish with a big fin:
- Code: Select all
. . . | . # . | X X .
. X . | * X * | X X -
. | . | . # . | X X .
---|---+---|---+-|-|---
. | . | . | . | | | .
. X . | . X . | X X .
. | . | . | . | | | .
---|---+---|---+-|-|---
. | . | . | . | | | .
. | . | . | . | | | .
. X . | . X . | X X .
It is also possible for these types to be combined into a Siamese Fish, if allowed by the candidate structure. In the above skinny Franken Jellyfish elimination occur in "*" cells as a result of the Jellyfish and in the "-" cell as a result of a big finned Swordfish. The first example below consists of two Franken Swordfish and the second of a finned X-wing and a Franken Jellyfish:
- Code: Select all
. . . | . | . | # # . . . . | . . . | X X .
. . . | . | . | # # . . . . | . . . | X X .
. . . | . | . | # # . . . . | . . . | X X .
------+---|----+-|--|--- ------+-------+-|-|--
. . . | . X# . | | | - . . . | . # . | X X *
. . . | * | * | X# X# . . . . | . | . | # # .
. . . | . | . | | | . . X . | - X - | X X *
------+---|----+-|--|--- --|---+---|---+-|-|--
. . . | . | . | | | . . X . | . X . | X X .
. . . | . | . | | | . . . . | . . . | . . .
. . . | . X . | X X . . . . | . . . | . . .
The four types of "fish" can be understood in terms of
Constraint Subsets. For fish the basis subset, "A", consists of "n" columns or rows all of which contain a given candidate. The covering subset, "B", which contains all occurances of the candidate in the columns or rows, determines the type of fish. If "A" consists of columns then the following definitions apply:
- Basic Fish: B="n" rows. Any candidate in a row, but not in a column can be eliminated
- Finned Fish (Fillet-of-Fish): B="n" rows plus extra cells. Any candidate in a row, but not in a column and which can see all of the extra cells can be eliminated
- Big Finned Fish: B="n" rows and/or boxes. Any candidate in a row or box, but not in a column or in a row and a box (a possibly carnivorous fish) can be eliminated
- Franken Fish: B="n" rows and/or boxes plus extra cells. Any candidate in a row or box, but not in a column and which sees all of the extra cells or in a row and a box (again possibly carnivorous) and sees all of the extra cells can be eliminated
If "A" consists of "n" rows then "columns" replaces "rows" and "rows" replaces "columns" in the above definitions. "Almost fish" fit the same definitions, however, eliminations occur via nice loops or via bivalue, ALS, strong link, grouped strong link and/or direct links to another cell. In these cases the eliminated candidate need not be the same as the one that makes up the fish. Note that, contrary to popular opinion, it is possible for Squirmbags to exist for which a smaller "dual" fish does not.