The algebraic structure of Infinite Craft
quuxplusone.github.io
quuxplusone.github.io
1 + NaN == NaN
Nan + 1 == NaN
Nan != Nan
(NaN is defined as not being equal to itself)NaN is a strange thing anyways, for example you cannot invert it so that NaN+(-NaN)=0
Flattened|Bulldozer|Land|Road
Mosque|Cactroll|Mecca|Oasis
Offering|Ragnarok|Odin|Sacrifice
Eel|Lilo|Stitch|Nemo
Sauna|Chia|Sweat|Chia Pet
Vinegar|Owl|Wisdom|Vinaigrette
Cool|Medicine|Ice|Ice Pack
Sunken|Shatter|Ship|Treasure
On both desktop and mobile, empirically I observe that Neal's front-end sorts `first` and `second` alphabetically before submitting them to the server, so that even if you (drag, tap) "Flattened" and "Bulldozer" in both orders, it will send `/api/infinite-craft/pair?first=Bulldozer&second=Flattened` to the server in both cases.
Furthermore, when I use Chrome's "Copy as fetch" and paste it into the console, so that I can manually change the URL to `first=Flattened&second=Bulldozer`, I still observe that the server responds `{result: 'Road', emoji: '', isNew: false}` in both cases. The null hypothesis is that the backend server is also sorting the inputs alphabetically before consulting the cache/LLM.
However, "Bulldozer + Flatten = Land"! I discovered that by accidentally mistyping "Flatten" instead of "Flattened" the first time I manually edited the URL. Is it plausible that, during whatever you were doing to generate these, you just mistyped one of the inputs... and it happened as many as eight times?
Also curious if there's any other properties these relationships exhibit. I'm guessing there is no zero element, where "x + 0 = x" for all x. I'm also guessing there's no idempotent elements, where "x + x = x". There's probably no ability to loop around in general. But I'm curious if this is cancellative, i.e. if x + y = x + z imply y = z.
I'd also be curious to see if there's any sort of embedding or approximation from this structure into another. At first I thought of word2vec embeddings, and how addition of vectors could have some logical structure. But that algebra is associative. Maybe mapping it to some algebra where x * y = f(x + y), where * is the non-associative operation, x+y is vector addition of the embeddings, and f is some transformation. Actually, that could be interesting. If you could find some embedding and f transformation that very closely matched the Infinite Craft algebra, you could use the difference between x and f(x) as vectors to try and quantify the degree to which the algebra fails to be associative.
Seems like low-effort clout-chasing and click-baiting to pad the blog (but there's a lot of that kind of content posted here, so I guess it is what it is).
The "tersest route" problem seems to be interesting as I have never come across this before. It seems almost like a packing or covering problem.