Hi Phil,
pjb wrote:SpAce, I am curious to see which link in my chain is non-alternating.
I already colored the two adjacent weak links red in my original post, but I guess they're not very visible. Perhaps this is:
(3=6)r4c4 - (6)r4c6 = (6-4)r8c6 = (4)r3c6 - (4=5)r2c5 - (5)r2c1 = (5-3)r5c1 - (5=2)r5c9 - (2)r56c7 = (2-3)r9c7 = (3)r8c7 - (3)r8c1 = (3)r7c1 => -3 r7c4; stte
See it now?
You may write it differently, but what I proposed is perfectly clear.
To you, perhaps. You might want to ask how many people here would agree with that claim. Obviously I don't, but I guess that counts for nothing. Apparently Robert agreed with me, though, and since no one else has said anything, I would guess they didn't disagree with my assessment either.
To be honest, I don't think there's anything to debate about it. The biggest problem with your chain is that it looks like an AIC, which gives the reader a false impression about its simplicity and interpretation. The whole reason why I suspected it couldn't be one was that I knew the puzzle was not solvable with a simple AIC. Otherwise I wouldn't have even bothered to read the chain, because I generally assume simple AICs to be correct.
You're of course free to use whatever ad hoc syntax you like for your memory chains, but if it happens to look like a normal AIC then you should at least tell the reader that it's not. Otherwise it's very confusing, especially for people who're just learning about AICs. Your chain had neither memory markers nor a label to warn the reader that it wasn't an AIC.
BTW, can you point me to a link where rules for writing Eureka chains with memory are defined?
No, because Eureka was designed to write AICs instead of memory chains. The latter is an unofficial extension, so somewhat different ad hoc syntaxes are expected and accepted. (Of course I think there's only one logical and readable way to do it, but that's just me.)
Yet there's one overarching rule about writing anything in Eureka, and it's that the links must be alternating. That rule should never be broken, whether one writes AICs, loops, discontinuous loops, krakens, network diagrams, or even memory chains. The same rule applies to Denis' chains as well, though they have somewhat different interpretation rules otherwise.
My preference of writing memory chains is explained in the lower half of
this post. I don't claim it's official, but it's rather easy to argue why it's better than any alternatives that I've seen. Also, with that syntax it's not necessary to label the chain as a memory chain because it's obvious anyway. If no such markers are used, the chain should definitely be labeled to avoid confusion with normal AICs.
If one wants a simpler and cleaner way of writing memory chains, then I suggest looking at Denis' whip-notation. The price of the apparent simplicity is that it has less information (no z- and t-candidates), which makes it less intuitive and harder to read, imo. Nevertheless it's unambiguously defined and can be interpreted correctly if one knows that definition -- because the chain is always labeled as a 'whip'.
--
Btw, if the difference between AICs and memory chains is not clear to you, here it is. The links in AICs are between two adjacent nodes only. They must work independently of anything else in the chain. That's obviously not true in memory chains, which means they can't use the exact same syntax as AICs without causing confusion. Either memory markers (preferred) or a label is needed to distinguish them.
Furthermore, since AICs and memory chains are two different things, the latter shouldn't be called "Complex AICs" as you do on your site. Memory chains are not AICs, not even complex ones. Both simple and complex AICs must follow the same rule that all links apply to adjacent nodes only. (And both AICs and memory chains must follow the rule that all links alternate.)