Hi tarek,
tarek wrote:I may look at adding the Cannibalistic elimination feature to Sukaku explainer. I'm skeptical on adding the opposite which is the endofin as we would have a situation where you think you have an X-Loop when actually you don't
What kind of situation is that? I can't imagine how I could ever think I'd have an X-Loop when I don't
More specifically, I don't see how the presence of an endofin could go unnoticed by someone looking at the chain/loop perspective, because it's clearly a net instead of a simple chain.
That said, endofins are pretty complex features, and rarely if ever necessary because most of the time simpler equivalent fishes exist. The same is mostly true about cannibalistic eliminations, though they're much simpler. Of course both can exist at the same time too. I'm not really sure why you'd want to have one but not the other, as both have educational value (even if they should be normally avoided). If one understands endofins, then one can also understand base triplets in XSudo parlance. I think that's valuable.
Btw, here's a couple more cannibalistic variants (cannibal eliminations marked with ^):
- Code: Select all
9C2 [9B28] 9C8
.-------------------------.-----------------------.-------------------.
| 34568-9 *489 3456-9 | *89 ^178-9 *1789 | 1246 *369 1234 | 9r1
| 67-9 *79 1 | 2 3 4 | 5 *69 8 | 9r2
| 3489 2 349 | 6 *189 5 | 14 7 134 |
:-------------------------+-----------------------+-------------------:
| 249 5 8 | 49 267-9 679 | 3 1 4679 |
| 2349 6 349 | 3489 1278-9 1789 | 47 5 479 |
| 349 1 7 | 3459 56-9 69 | 8 2 469 |
:-------------------------+-----------------------+-------------------:
| 15689 3 569 | 7 *5689 2 | 16 4 15 |
| 5678 78 2 | 1 4 3 | 9 68 57 |
| 145678-9 *4789 456-9 | *589 ^568-9 *689 | 1267 368 12357 | 9r9
'-------------------------'-----------------------'-------------------'
9c5
(Cannibal) Mutant Jellyfish: 9'C28B28\r129c5 => -9 r1c13,r2c1,r9c13,r456c5,^r19c5
- Code: Select all
9r1 9r2 9r9 9c5
-------------------------------------
9r1c2 9r2c2 9r9c2 | C2
9r1c345 9r3c5 | B2
9r1c8 9r2c8 | C8
9r9c456 9r7c5 | B8
-------------------------------------
-9r1c13 -9r2c1 -9r9c13 -9r19456c5
- Code: Select all
9c1 9c3 9c5
.---------------------------.-----------------------.------------------.
| 34568-9 489 3456-9 | 89 178-9 1789 | 1246 369 1234 |
| 67-9 79 1 | 2 3 4 | 5 69 8 |
| *3489 2 *349 | 6 *189 5 | 14 7 134 | 9R3
:---------------------------+-----------------------+------------------:
| *249 5 8 | 49 267-9 679 | 3 1 4679 |
| *2349 6 *349 | 3489 1278-9 1789 | 47 5 479 | [9B4]
| *349 1 7 | 3459 56-9 69 | 8 2 469 |
:---------------------------+-----------------------+------------------:
| *15689 3 *569 | 7 *5689 2 | 16 4 15 |
| 5678 78 2 | 1 4 3 | 9 68 57 | [9B78]
| ^145678-9 *4789 ^456-9 | *589 ^568-9 *689 | 1267 368 12357 | 9r9
'---------------------------'-----------------------'------------------'
(Cannibal) Mutant Jellyfish: 9'R3B478\r9c135 => -9 r12c1,r1c3,r1456c5,^r9c135
- Code: Select all
9c1 9c3 9c5 9r9
-----------------------------------
9r3c1 9r3c3 9r3c5 | 9R3
9r456c1 9r5c3 | 9B4
9r79c1 9r79c3 9r9c2 | 9B7
9r79c5 9r9c46 | 9B8
-----------------------------------
-9r12c1 -9r1c3 -9r1456c5 -9r9c135
And your original looping cannibal:
- Code: Select all
9C2 9c5
.---------------------------.-----------------------.------------------.
| 34568-9 *489 3456-9 | 89 178-9 1789 | 1246 369 1234 |
| 67-9 *79 1 | 2 3 4 | 5 69 8 | [9b1]
| *3489 2 *349 | 6 *189 5 | 14 7 134 | 9R3
:---------------------------+-----------------------+------------------:
| 249 5 8 | 49 267-9 679 | 3 1 4679 |
| 2349 6 349 | 3489 1278-9 1789 | 47 5 479 |
| 349 1 7 | 3459 56-9 69 | 8 2 469 |
:---------------------------+-----------------------+------------------:
| 15689 3 569 | 7 *5689 2 | 16 4 15 |
| 5678 78 2 | 1 4 3 | 9 68 57 | [9B8]
| 145678-9 *4789 456-9 | *589 ^568-9 *689 | 1267 368 12357 | 9r9
'---------------------------'-----------------------'------------------'
(Cannibal) Grouped L1-Ring: 9r3c5 = r3c13 - r12c2 = r9c2 - r9c456 = 9r7c5 - loop => -9r1456c5,9b1p134,9r9c13,^9r9c5
(Cannibal) Mutant Swordfish: 9'R3C2B8\r9c5b1 => -9r1456c5,9b1p134,9r9c13,^9r9c5
- Code: Select all
9c5 9b1 9r9
-----------------------------
9r3c5 9r3c13 | 9R3
9r12c2 9r9c2 | 9C2
9r7c5 9r9c456 | 9B8
-----------------------------
-9r14569c5 -9b1p134 -9r9c13
As we know, we also have plenty of non-cannibalistic fishes that are equivalent, so there's no real reason to use any of the above. First, your original, and imho the simplest possible fish here:
- Code: Select all
9C2 9c5
.---------------------------.---------------------.------------------.
| 34568-9 *489 3456-9 | 89 178-9 1789 | 1246 369 1234 |
| 67-9 *79 1 | 2 3 4 | 5 69 8 | [9b1]
| *3489 2 *349 | 6 *189 5 | 14 7 134 | 9R3
:---------------------------+---------------------+------------------:
| 249 5 8 | 49 267-9 679 | 3 1 4679 |
| 2349 6 349 | 3489 1278-9 1789 | 47 5 479 |
| 349 1 7 | 3459 56-9 69 | 8 2 469 |
:---------------------------+---------------------+------------------:
| *15689 3 *569 | 7 *5689 2 | 16 4 15 | 9R7
| 5678 78 2 | 1 4 3 | 9 68 57 | [9b7]
| 145678-9 *4789 456-9 | 589 568-9 689 | 1267 368 12357 |
'---------------------------'---------------------'------------------'
Grouped L1-Ring: 9r3c5 = r3c13 - r12c2 = r9c2 - r7c13 = 9r7c5 - loop => -9 r14569c5,b1p134,b7p79
Mutant Swordfish: 9'R37C2\c5b17 => -9 r14569c5,b1p134,b7p79
- Code: Select all
9c5 9b1 9b7
----------------------------
9r3c5 9r3c13 | 9R3
9r12c2 9r9c2 | 9C2
9r7c5 9r7c13 | 9R7
----------------------------
-9r14569c5 -9b1p134 -9b7p79
Technically this is simpler because it's the same size but Franken:
- Code: Select all
c1 c3 c5
.--------------------------.---------------------.------------------.
| 34568-9 489 3456-9 | 89 178-9 1789 | 1246 369 1234 |
| 67-9 79 1 | 2 3 4 | 5 69 8 |
| *3489 2 *349 | 6 *189 5 | 14 7 134 | R3
:--------------------------+---------------------+------------------:
| *249 5 8 | 49 267-9 679 | 3 1 4679 |
| *2349 6 *349 | 3489 1278-9 1789 | 47 5 479 | [B4]
| *349 1 7 | 3459 56-9 69 | 8 2 469 |
:--------------------------+---------------------+------------------:
| *15689 3 *569 | 7 *5689 2 | 16 4 15 | R7
| 5678 78 2 | 1 4 3 | 9 68 57 |
| 145678-9 4789 456-9 | 589 568-9 689 | 1267 368 12357 |
'--------------------------'---------------------'------------------'
Franken Swordfish: 9'R37B4\c135 => -9 r129c1,r19c3,r14569c5
- Code: Select all
9c1 9c3 9c5
---------------------------
9r3c1 9r3c3 9r3c5 | 9R3
9r456c1 9r5c3 | 9B4
9r7c1 9r7c3 9r7c5 | 9R7
---------------------------
-9r129c1 -9r19c3 -9r14569c5
However, despite being "just" Franken, and pretty simple as such, I think it's harder to spot than your looping Mutant. The difference is easy to see in the matrix form, one being a basic triangle (indicating a non-branching chain/loop) and the other not. Perhaps it could be spotted more easily if specifically looking for fishes, but since I rarely do that, I'd be much more likely to find the one that forms a simple loop.