HackerTrans
TopNewTrendsCommentsPastAskShowJobs

airesearcher

no profile record

Submissions

New Master Fixed Point Theorem Unifies Godel, Turing, Kleene, Tarski, Lob

novaspivack.com
3 points·by airesearcher·3 miesiące temu·0 comments

SocioLife – Socio-Economic Life SIM That Runs in the Browser

novaspivack.com
1 points·by airesearcher·8 miesięcy temu·1 comments

Lace: A New Kind of Cellular Automata Where Links Matter

novaspivack.com
137 points·by airesearcher·9 miesięcy temu·63 comments

comments

airesearcher
·3 miesiące temu·discuss
[dead]
airesearcher
·8 miesięcy temu·discuss
SocioLife is an advanced artificial life simulation exploring emergent social behaviors, tribal dynamics, economic systems, warfare, diplomacy, and technological evolution in a complex multi-agent ecosystem.

SocioLife is written in javascript and runs in your browser. It's graphics and compute intensive, so it's best run on a modern multicore PC.

Read more here: https://www.novaspivack.com/science/sociolife-a-socio-econom...

Run it here: https://www.novaspivack.com/wp-content/uploads/2025/11/Socio...

Learn about the Game Mechanics in the About page.
airesearcher
·9 miesięcy temu·discuss
Looks better... the one thing I am not seeing is the behavior where they expand in two directions at the same time - but it might be that it's too small. Also it would be better if you started from a much lower density initial condition like 15% density. Also note - while Amazing Dragons shows really interesting behavior microscopically it is not the most balanced rule - there are other variants that are sparser and have a more interesting balance (see gallery, see repo to try them out). I found density of initial conditions is very important and different rules need different densities.
airesearcher
·9 miesięcy temu·discuss
share a link to the new version of your shader - would love to check it out

perhaps also make a version that starts from random initial condition as well?

looks promising
airesearcher
·9 miesięcy temu·discuss
Looks closer. Can’t tell from your example if exact.. but seems better
airesearcher
·9 miesięcy temu·discuss
Very cool!
airesearcher
·9 miesięcy temu·discuss
Actually - on that particular topic - you might want to read the articles and the math before forming an opinion - start from information geometry and fisher information metrics of information processing - which is what that particular line of thought is all about...Everything on that particular line of exploration is built up from fisher information where "consciousness" is defined as a high complexity information processing geometry and so its measurable. Because its defined as a measurable physical process, not as a magical quality, it's a mathematical argument. But of course that would require reading, and sufficient knowledge to understand it.
airesearcher
·9 miesięcy temu·discuss
You're right that Realm of Lace edges are derived from node eligibility, making it theoretically equivalent to a complex multi-state CA. I've updated the documentation to reflect this honestly.

However, your Shadertoy port doesn't produce equivalent behavior to the original rule—I've tried several corrections in your shader and none match.

While you've demonstrated the theoretical point, this actually highlights why the abstraction matters: implementing these dynamics correctly is non-trivial even when the algorithm seems straightforward. The three-phase execution, metric calculations, and mutual eligibility create subtle interactions that are easy to get wrong.

Why the shader port doesn't work:

I've successfully implemented this same rule in Taichi (also GPU-based), and comparing the two reveals the issue.

The three-phase execution model requires intermediate storage between phases that Shadertoy's ping-pong buffer architecture can't provide.

In my Taichi implementation, each phase has its own buffer:

- Phase 1 reads node_degree (previous state) and writes to node_next_eligible

- Phase 2 reads node_next_eligible and writes to node_next_degree

- Phase 3 reads node_next_degree and writes back to node_degree

Shadertoy only has two buffers (previous frame read-only, current frame write-only), so the shader tries to collapse all three phases into one pass. But this breaks the execution model: when Phase 2 checks if a neighbor is eligible, it needs the neighbor's just-computed eligibility from Phase 1 of the current step, not the previous frame's data.

To properly implement this in a shader, you'd need either:

- A multi-pass setup with three separate render passes and intermediate textures

- Clever state packing to encode multiple values (eligibility + degree) in one buffer

The fact that the algorithm works correctly in Taichi but requires careful buffer management even on GPU demonstrates that "theoretical equivalence to traditional CA" doesn't mean "trivial to implement."

The three-phase execution model with intermediate states is a real architectural requirement, not just an abstraction.

Regarding edge rule tables: LACE has complete UI infrastructure for true edge-to-edge dynamics (edge states evolving based on connection patterns, independent of node eligibility).

The Rule Editor even has a full tab for it (which appears if a rule implements rule tables). But no rule implements the execution logic yet—it's a dormant feature that would provide the dynamic topology you're suggesting.

Thanks for pushing me to be more precise about all this though :)
airesearcher
·9 miesięcy temu·discuss
The difference is that it is not merely using dynamic neighborhoods - it's using topological properties of neighbors and neighborhoods as metrics that rules use. For example, sum of degrees of neighbors, or betweenness, or other measures of networks. It's not, for example, simply using the links as virtual neighborhoods and modulating states over them.
airesearcher
·9 miesięcy temu·discuss
Actually it's a pretty hard thing to implement - the main challenge was to make it performant in python... I had to jump through flaming hoops!
airesearcher
·9 miesięcy temu·discuss
links are first-class entities. Some rules have cell states AND links. Some rules treat cell states as topological metrics of neighborhoods or neighbors. See the detailed .md cited above for more details.
airesearcher
·9 miesięcy temu·discuss
Because I was too lazy to refactor it into a ton of modules...
airesearcher
·9 miesięcy temu·discuss
The question is really whether this class of rule is a subset of 2D binary state CA, or whether it is a superset in fact.
airesearcher
·9 miesięcy temu·discuss
Here is a bit more information on how this class of rule works - should help with some of the questions about that in the thread: https://github.com/novaspivack/lace/blob/master/Realm_of_Lac...
airesearcher
·9 miesięcy temu·discuss
https://github.com/novaspivack/lace/blob/master/Rule_Explana...

https://github.com/novaspivack/lace/blob/master/Betweenness_...
airesearcher
·9 miesięcy temu·discuss
I've added a bit more explanation

https://github.com/novaspivack/lace/blob/master/Rule_Explana...

https://github.com/novaspivack/lace/blob/master/Betweenness_...

These cover only one metric and one rule, but give some more info

Here is a more detailed explanation: https://github.com/novaspivack/lace/blob/master/Realm_of_Lac...
airesearcher
·9 miesięcy temu·discuss
Yes you are missing something. The first examples do that, but later examples do something different - they are using the neighborhood topology instead of traditional cell states, to generate the behavior.
airesearcher
·9 miesięcy temu·discuss
In theory, if using a computationally universal CA, you can simulate any other CA with it. However it might require a lot of sub-steps to do so.

No claim is being made that this is a new kind of computation.
airesearcher
·9 miesięcy temu·discuss
These rules use very different principles than traditional cell-based rules - for example neighbor degree, number of connections, and eligibility criteria based on connectivity.

So in short, the cells are not becoming alive or dead based on the states of their neighbors, but rather on the topology of their neighborhoods.

The details are beyond the scope of a short write up, but are easy to explore in the rule-editor in the GUI of the code.

Here is an example of a rule that is markedly different from a typical "life-like" rule: https://videopress.com/v/lQ5Bghsj

The level of structure and self-organization is striking, to me at least.

Also in all the rules - the links are visible and can have binary or real-valued states as well as the cells. So this enables pretty rich topology which rules can utilize.
airesearcher
·9 miesięcy temu·discuss
Good feedback -

These rules use very different principles than traditional cell-based rules - for example neighbor degree, number of connections, and eligibility criteria based on connectivity. So the cells are not becoming alive or dead based on the states of their neighbors, but rather on the topology of their neighborhoods.

The details are beyond the scope of a short write up, but are easy to explore in the rule-editor in the GUI of the code.

And preamble pruned of the historical anecdote behind this.