L systems are so magical to me. Opened up the world of procedural generation to me. And I look at trees differently now as a result. I also see fractals everywhere in the real world.
Also, if someone can expand, what do you think of Stephen Wolfram's theory of everything[0] which to me seems quite similar to L-systems (I might be completely wrong here).
Has anyone combined cellular automata and L-systems, will that lead to....simulating evolution?
Fractals are sets - maps of the results of a recursive calculation using a seed formula. They happen to have deep structure, but it's implicit in the process and not obvious.
L-systems are explicit structural grammars with some simple recursion, and are much shallower. You can more or less predict the shape of a simple L-system just by looking at it. The recursion - usually not many levels - looks nice because we like modulated repetition. And some natural systems seem to have evolved similar macro-level structures. But they're pretty trivial conceptually.
Cellular automata are part way between the two.
None of the above really evolve, because they don't support natural selection or recombination.
There's a class of solution-explorers called genetic algorithms which were a thing before ML (kind of...) took over a similar space. GAs do evolve, but they're not particularly efficient and they suffer from the usual problem of getting stuck in local maxima.
It turns out that for interesting and open-ended evolution you need a much bigger parameter space than any of these toy algos - like the one nature has - and current computing can't handle that (yet).
I and my team made this: https://onlinemathtools.com/l-system-generator. You can enter the axiom and the rewrite rules and get a visualization of the grammar. Also, in the examples section, we added 9 most popular fractals.
- https://twitter.com/lindenmoji tweets randomly generated L-systems using an emoji language (though the traditional rules work as well); you can @ and it will reply with an image
18 comments
[ 3.4 ms ] story [ 50.9 ms ] threadAlso, if someone can expand, what do you think of Stephen Wolfram's theory of everything[0] which to me seems quite similar to L-systems (I might be completely wrong here).
Has anyone combined cellular automata and L-systems, will that lead to....simulating evolution?
[0] https://writings.stephenwolfram.com/2020/04/finally-we-may-h... (Read How it Works section).
L-systems are explicit structural grammars with some simple recursion, and are much shallower. You can more or less predict the shape of a simple L-system just by looking at it. The recursion - usually not many levels - looks nice because we like modulated repetition. And some natural systems seem to have evolved similar macro-level structures. But they're pretty trivial conceptually.
Cellular automata are part way between the two.
None of the above really evolve, because they don't support natural selection or recombination.
There's a class of solution-explorers called genetic algorithms which were a thing before ML (kind of...) took over a similar space. GAs do evolve, but they're not particularly efficient and they suffer from the usual problem of getting stuck in local maxima.
It turns out that for interesting and open-ended evolution you need a much bigger parameter space than any of these toy algos - like the one nature has - and current computing can't handle that (yet).
(e.g. https://news.ycombinator.com/item?id=21749806)
- https://twitter.com/lindenmoji tweets randomly generated L-systems using an emoji language (though the traditional rules work as well); you can @ and it will reply with an image
- https://lindenmayer.club/lindenmoji/#?curve=ab%0Aa%3D%E2%9E%... is an interactive playground for L-systems that shows both the visual output and the first few expansions of the specified rule