Self-Evolving Cellular Automata — Kai Saksela

1 min read Original article ↗

Original post date: January 9, 2026

My idea here was to first make a linear system, where entropy increases and energy spreads over time in a very intuitive way. Then, by introducing nonlinearities and randomness, complexity starts to arise seemingly from nowhere.

1. Mechanism spreading energy

2. Bringing in randomness

3. Adding nonlinearities

4. More nonlinear features

The slider controls where the randomness is applied. You'll notice that new mechanisms primarily form where randomness is introduced, and quickly spread out to the area where there is no randomness.

When the mechanisms spread, they automatically start "competing" with each other with time, since the mechanisms that effectively gather the most energy to occupy the cells will remain and replace the ones that are less effective. Every now and then, these mechanisms can be quite complex.