Neighbor sum = $\color{magenta}{k \ast f}(\mathbf x)$Average
Kernel = $\color{magenta}k(\mathbf u)$Value
Params:
$\color{blue}\mu$ =
$\color{blue}R$ = cells per kernel radius
Field: cells, each pixels
$\color{blue}\sigma$ =
$\color{blue}T$ = steps per unit time
CPU: fps
±
$\color{blue}{\beta}$ =
$\color{blue}{\eta}$ =
$\color{blue}{\Delta t}$ = $\mu s$
$t$ = $\mu s$
Calc stats:
Period: $\mu s$
Lenia
Artificial Life in 2D Continuous Cellular Automata
by Bert Chan
This program demonstrates a generalization of continuous cellular automata called Lenia,
where a number of naturalistic life forms reside in the virtual world.
How to use
Field window
- shows the current state of cellular automata.
Other windows
- show different stages of calculation.
Click to change to statistics diagrams.
tab
- lists all controls.
- start / stop calculations;
- calculate one step.
buttons
- run other CAs including SmoothLife and the Game of Life.
buttons
- manipulate the field (add random cells, move/rotate, resize, etc).
buttons & list
- load life forms (enlarged by option).
buttons
- change color scheme, toggle auto center, etc.
/+
- copy cells from the field (controlled by option).
/+
- paste cells into the field.
tab
- shows the details of calculation.
tweak parameters or functions
to see changes in the life form.
button
- restart cells if things break down.
option
- observe the same cells while tweaking parameters.
tab
- shows various real-time statistics, find period, etc.
The discrete nature of GoL has been taken to continuous limits in other CAs.
Larger than Life (LtL)
took a larger radius of neighborhood,
RealLife
took the radius to infinity and approached continuous space (theoretically), and
SmoothLife
explored continuity and smoothness in cell values, space and time.
They produce more life-like patterns,
like the "bug with stomach" that moves in any direction.
Lenia
Here in Lenia, the neighborhood and updating rules are generalized into "kernel" and "delta" functions.
Like in SmoothLife, every cell has continuous value from 0.00 to 1.00,
continuous space-time can be approached by increasing space resolution R and time resolution T.
Length, time and mass are measured in units μm, μs and μg, respectively.
Life forms
After intensive search and experimentations,
several dozens of stable life forms (or "solitons") were discovered.
They were then given "scientific names" and being categorized similar to
biological taxonomy and
organic chemistry.
The "bug with stomach" in LtL/RealLife/SmoothLife turns out to be
Scutium solidus
within the order Scutiformes,
and the eyeball-like bug (video)
is very similar to
Orbium unicaudatus
within the order Orbiformes.
Other known orders include the wings-bearing Pterifera,
the single-ring Anuliformes, and the double-spiral Heliciformes.
Sizes range from single-sac
Orbium or
Gyropteron to multi-sac
Nonahelicium or
Tetracosapteryx.
Feel free to discover your own new species!
If you found one, please share with us at albert.chak@gmail.com
(You can copy the cells by
/+
and paste the Unicode text in the email).
Space: Kernel radius = $1 \mu m$ divided into $R$ cells, each cell $\Delta x = 1 / R$[unit = $\mu m$] Time: Unit time = $1 \mu s$ divided into $T$ steps, each step $\Delta t = 1 / T$[unit = $\mu s$] Mass: Mass density per cell = cell value
$f(\mathbf x) \in [0,1]$$f(\mathbf x) \in [0,\infty)$[unit = $\mu g / \mu m^2$]
Kernel core function:
Gaussian bump(raised to the power $\color{blue}\alpha$)polynomial(raised to the power $\color{blue}\alpha$)trapezoidal(5 equal portions)step(for SmoothLife, outer radius = inner radius × 3)high step(for Conway's Game of Life)
$\displaystyle \color{magenta}c(r) = e^{\color{blue}\alpha ( 1 - 1 / k )} \quad \text{where } k=4 r (1-r)$
$\displaystyle \color{magenta}c(r) = k^\color{blue}\alpha \quad \text{where } k=4 r (1-r)$