StrmCkr wrote:But the fact these now work is good news for me.
...
you just showed it works for multi-fish so that's great.
that's the direction my fish code was heading towards for multi-digit fish.
Great! Looks like we both benefited from this discussion, after all. I know I found a deeper understanding of Obi's and Allan's approaches -- both their differences and similarities, and how they can be converted to each other. I don't yet know if it's always possible or practicable, but at least with the simpler examples it seems quite easy to get rid of the complicated triplet logic by duplicating some sectors (works for both base and link triplets, though a bit differently).
Even though it makes the fish bigger and it looks a bit weirder, the resulting logic is simpler because normal fish rules work without any extra information. It makes it easier to notate and to track such fish logic. They're also easier to transform with Obi's arithmetic, and at least so far it seems possible to always get rid of the duplicate sectors with those transformations if desired (though the resulting fish can be more complicated otherwise). For these reasons, I think I'll be mostly preferring Obi's fishes to Allan's.
Here's an example of how the previous (Obi-style) Alien Fish with duplicate 9r4 could be transformed:
Alien 5x6-Fish (Rank 1): {8R3 4C2 9C7 4N37} \ {899r4 4b4 3n27} => -9 r4c59 (Rank 1; 2x9r4)
- Code: Select all
{8R3 4C2 9C7 4N37} \ {899r4 4b4 3n27} +9r56
{8R3 9R56 4C2 9C7 4N37} \ {89r4 9r456 4b4 3n27} 9r456 -> 9b456
{8R3 9R56 4C2 9C7 4N37} \ {89r4 4b4 9b456 3n27}
Alien 7x8-fish (Rank 1): {8R3 9R56 4C2 9C7 4N37} \ {89r4 4b4 9b456 3n27} => -9 r4c59 (Rank 1; 9r4+9b56)
So, we got rid of the duplicates, though it didn't necessarily improve things overall, as the fish gained some weight (5x6->7x8). Maybe someone can figure out a more efficient transformation. (Keeping the duplicates is not a bad idea either, because they clearly alert to the presence of overlapping sets.) Also, I wonder how to deal with duplicate n-sets (cells) if applicable (not here). What kind of conversions can we do with those?