Filet-O-Fish Rule
If you can form a swordfish/x-wing pattern by not considering candidates in cells (1..n), then you can keep any eliminations from that swordfish/x-wing pattern that share a group with all cells (1..n). The cells (1..n) have been called the fin.
Sashimi Observation
When using the Filet-O-Fish rule, it is possible for X-wings to be missing a candidate at a vertex point and not degenerate. Similarly, it is also possible to find stable 2-0-2 & 1-2-1 swordfish structures, etc., that otherwise could not exist without a fin.
Sushi Presentation Rule
For any NxN swordfish, the fin and the valid Filet-O-Fish eliminations all occur in the same box. (This only applies to a single instance of a Filet-O-Fish swordfish and its row-column conjugate. There may be multiple Filet-O-Fish swordfish in the grid with fins and deletions in other boxes)
(Note: While normal NxN swordfish follow the rule that the reduction lies in the same box as the fin, you can use filet logic to uncover headless or skinny swordfish, etc., that have an Nx(N-1) structure. These structure have a "fin" and also turn out to have multiple reductions in several different boxes just like regular swordfish do. You can then reapply filet logic to this to come up with another fin and a subset of reductions. These are very advanced, but if you would like to learn more, you can find them in the Big Fish thread.)
Filet-O-Fish Example:
- Code: Select all
+----------+-----------+-----------+
| . . . | . . . | . 1 . |
| . *1 . | *1 . . | . . . |
| . -1 1 | -1 1 1 | . . . |
+----------+-----------+-----------+
| . *1 . | *1 #1 #1 | . . . |
| . -1 1 | +1 1 1 | . . . |
| . . . | . . . | . . 1 |
+----------+-----------+-----------+
| . . . | -1 1 1 | . . . |
| . . . | . . . | 1 . . |
| 1 . . | . . . | . . . |
+----------+-----------+-----------+
Sashimi Example:
- Code: Select all
+----------+-----------+-----------+
| . . . | . . . | . 1 . |
| . *1 . | *1 . . | . . . |
| . -1 1 | -1 1 1 | . . . |
+----------+-----------+-----------+
| . *1 . | *. #1 #1 | . . . |
| . -1 1 | +1 1 1 | . . . |
| . . . | . . . | . . 1 |
+----------+-----------+-----------+
| . . . | -1 1 1 | . . . |
| . . . | . . . | 1 . . |
| 1 . . | . . . | . . . |
+----------+-----------+-----------+
If the candidate 1's marked with the hash sign (#) weren't there, then we could form an x-wing from the 1's marked with an asterisk (*) and eliminate all the 1's marked with plus and minus signs. Since the 1 marked with a plus sign shares a group with both of the hashed 1's, we can make that elimination in r5c4.
How this came about: A POM Analysis of an X-Wing
Let's start with a little review of what POM does. POM assigns labels to all of the potential solutions for a given digit. For example, if you have solved for a specific digit in six boxes, and the remaining three boxes form a right triangle, then you are left with something like this
- 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 X | X X X | @ X X |
| X X X | X @ X | X X X |
| @ X X | X X X | X X X |
+-----------------+-----------------+-----------------+
It should be fairly easy to see that there would be four potential solution patterns for this grid. The potential patterns are represented by 'a', 'b', 'c', and 'd' in the following grid.
- Code: Select all
+-----------------+-----------------+-----------------+
| X X X | X X X | X X @ |
| X a b | cd X X | X X X |
| X c d | ab X X | X X X |
+-----------------+-----------------+-----------------+
| X bd ac | 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 X |
+-----------------+-----------------+-----------------+
If cell r3c3 no longer has the digit in question as a candidate (it solved to another digit, or the candidate was removed due to a naked pair or something), then we can eliminate any patterns which use that cell. This would kill 'd' in this case and leave the following
- Code: Select all
+-----------------+-----------------+-----------------+
| X X X | X X X | X X @ |
| X a b | c X X | X X X |
| X c X | ab X X | X X X |
+-----------------+-----------------+-----------------+
| X b ac | 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 X |
+-----------------+-----------------+-----------------+
Now, the simplest case which can lead to an interesting x-wing is where a digit has been solved for in five boxes, and the remaining four boxes form a rectangle. In this situation, you wind up with something like this
- 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 X X | X X @ | X X X |
| @ X X | X X X | X X X |
+-----------------+-----------------+-----------------+
Note that rules of symetry and influence would imply that the potential solution pattern contents of any given box's cell must be evenly distributed to all of the cells in the diagonally opposed box. For example
- Code: Select all
+-----------------+-----------------+-----------------+
| X X X | X X X | X X @ |
| X abcd . | . . X | X X X |
| X . . | . . X | X X X |
+-----------------+-----------------+-----------------+
| X . . | a b X | X X X |
| X . . | c d 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 |
+-----------------+-----------------+-----------------+
Repeat this for all four open cells in box 1 and you get
- Code: Select all
+-----------------+-----------------+-----------------+
| X X X | X X X | X X @ |
| X abcd efgh | . . X | X X X |
| X ijkl mnop | . . X | X X X |
+-----------------+-----------------+-----------------+
| X . . | aeim bfjn X | X X X |
| X . . | cgko dhlp 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 |
+-----------------+-----------------+-----------------+
Noting that each potential pattern must show up exactly once in every row, column, and box with an open cell, we can fill in the rest of the grid.
- Code: Select all
+-----------------+-----------------+-----------------+
| X X X | X X X | X X @ |
| X abcd efgh | jlnp ikmo X | X X X |
| X ijkl mnop | bdfh aceg X | X X X |
+-----------------+-----------------+-----------------+
| X ghop cdkl | aeim bfjn X | X X X |
| X efmn abij | cgko dhlp 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 |
+-----------------+-----------------+-----------------+
Now, to form an x-wing, you just have to remove from consideration four cells, one from each box, which form a rectangle parallel with the grid. There are 16 such four-cell combinations which will form an x-wing. One four-cell combo is r2c3, r2c5, r4c3, and r4c5. These four cells contain the potential patterns 'b' through 'o' which are killed, leaving only 'a' and 'p' valid. This results in the following
- Code: Select all
+-----------------+-----------------+-----------------+
| X X X | X X X | X X @ |
| X *a X | *p X X | X X X |
| X -- #p | -- #a X | X X X |
+-----------------+-----------------+-----------------+
| X *p X | *a X X | X X X |
| X -- #a | -- #p 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 |
+-----------------+-----------------+-----------------+
The dashes represent cells that no longer have a valid potential pattern associated with them. They are also the cells which get eliminated due to the x-wings shown by either the asterisked or the hashed cells. This is no surprise, since POM will find all nishio-type eliminations.
A perhaps more interesting result occurs when you remove just three cells out of any four-cell combination that leads to an x-wing. For example, if we only remove r2c3, r2c5, and r4c3 from consideration, POM shows us that we kill potential patterns c, d, e, f, g, h, i, k, l, m, and o; leaving only a, b, j, n, and p valid and the following grid
- Code: Select all
+-----------------+-----------------+-----------------+
| X X X | X X X | X X @ |
| X ab X | jnp X X | X X X |
| X j np | b a X | X X X |
+-----------------+-----------------+-----------------+
| X p X | a bjn X | X X X |
| X n abj | -- p 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 |
+-----------------+-----------------+-----------------+
Thus, POM shows that you can make an elimination in cell r5c4 in this scenario. Since there are 4 of these three-cell removal combinations for every four-cell removal combination that leads to an x-wing, it could be very fruitful to find some method of recognizing when these partial x-wing or partial swordfish eliminations can be made.
Obviously we could resort to POM, nishio, or perhaps coloring with groups; but, could there be a more palatable method. Once again POM gives us a hint.
Note that when you remove a cell from consideration using the POM process, the potential patterns that you removed had no effect on the patterns for cells that shared a group with that removed cell. When, in the above grid, we remove cell r4c5 from consideration, killing patterns b, j, and n; there can be no other b's, j's, or n's in row 4, column 5, or box 5. Thus those cells are unaffected by the removal.
This is exactly what we need for the Filet-O-Fish rule.
Hope you find it useful.
(Edited to add new observations to the rules at top of the thread.)
(Edited to add link to thread containing Frankenfish, Skinny Swordfish, and headless swordfish.)