[wip] growing organisms using hypergraph rewriting
I'm exploring generating organisms using string forces and I was wondering about which class of algorithms could be used to generalize the growth of such structures. I wanted a system which can produce a wide variety of outputs, while allowing for stable and controlled growth.
That's when I thought about Stephen Wolfram (yes again) Physics Project, which proposes to explore a solution to the fundamental theory of physics using a hypergraph rewriting system (
wolframphysics.org/)
TLDR; Growth of graphs using simple permutation rules. It's similar to cellular automata but for graphs. Could be what I'm looking for.
I started to experiment with this system to grow my organisms, and it's definitely a promising approach!
Below is a video of the following rules applied to an initial {{0,0},{0,0}} graph:
rand() < 0.15
? {{x,y},{x,z}}->{{x,y},{x,w},{y,w},{z,w}}
: {{x,y},{x,z}}->{{x,w},{y,w},{z,w}}
There's a lot of areas to improve this exploration, notably:
- localization of rules (instead of applying a same rule to the whole system, let each node have its own rules)
- spawn control rules (when a new node is created, a rule can define which rules will be applied to such node)
- mutation rules (rules which alter rules of adjacent nodes)
- conditional rules (many rules can be attached to a node, the one being executed subject to localized conditions)
Super exciting, will certainly be the basis of my next project.