HOME

TheInfoList



OR:

Lenia is a family of
cellular automata A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessel ...
created by Bert Wang-Chak Chan. It is intended to be a
continuous Continuity or continuous may refer to: Mathematics * Continuity (mathematics), the opposing concept to discreteness; common examples include ** Continuous probability distribution or random variable in probability and statistics ** Continuous g ...
generalization of
Conway's Game of Life The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no furt ...
, with continuous states,
space and time Space and Time or Time and Space, or ''variation'', may refer to: * '' Space and time'' or ''time and space'' or ''spacetime'', any mathematical model that combines space and time into a single interwoven continuum * Philosophy of space and time S ...
. As a consequence of its continuous, high-resolution domain, the complex autonomous patterns ("lifeforms" or " spaceships") generated in Lenia are described as differing from those appearing in other cellular automata, being "geometric,
metameric In biology, metamerism is the phenomenon of having a linear series of body segments fundamentally similar in structure, though not all such structures are entirely alike in any single life form because some of them perform special functions. In ...
, fuzzy, resilient, adaptive, and rule-generic". Lenia won the 2018 Virtual Creatures Contest at the
Genetic and Evolutionary Computation Conference The Genetic and Evolutionary Computation Conference (GECCO) is the premier conference in the area of genetic and evolutionary computation. GECCO has been held every year since 1999, when it was first established as a recombination of the Internat ...
in Kyoto, an honorable mention for the ALIFE Art Award at ALIFE 2018 in Tokyo, and Outstanding Publication of 2019 by the International Society for Artificial Life (ISAL).


Rules


Iterative updates

Let \mathcal be the ''lattice'' or ''grid'' containing a set of states S^\mathcal. Like many cellular automata, Lenia is updated iteratively; each output state is a
pure function In computer programming, a pure function is a function that has the following properties: # the function return values are identical for identical arguments (no variation with local static variables, non-local variables, mutable reference arg ...
of the previous state, such that \Phi(A^0) = A^, \Phi(A^) = A^, \ldots, \Phi(A^t) = A^,\ldots where A^0 is the initial state and \Phi : S^\mathcal \rightarrow S^\mathcal is the ''global rule'', representing the application of the ''local rule'' over every site \mathbf\in\cal. Thus \Phi^N(A^t) = A^. If the simulation is advanced by \Delta t at each timestep, then the time resolution T = \frac.


State sets

Let S = \ with maximum P \in \Z. This is the ''state set'' of the automaton and characterizes the possible states that may be found at each site. Larger P correspond to higher ''state resolutions'' in the simulation. Many cellular automata use the lowest possible state resolution, i.e. P = 1. Lenia allows for much higher resolutions. Note that the actual value at each site is not in ,P/math> but rather an integer multiple of \Delta p = \frac; therefore we have A^t(\mathbf) \in
, 1 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline o ...
/math> for all \mathbf \in \mathcal. For example, given P = 4, \mathbf^t(\mathbf) \in \.


Neighborhoods

Mathematically, neighborhoods like those in Game of Life may be represented using a set of position vectors in \R^2. For the classic
Moore neighborhood In cellular automata, the Moore neighborhood is defined on a two-dimensional square lattice and is composed of a central cell and the eight cells that surround it. Name The neighborhood is named after Edward F. Moore, a pioneer of cellular a ...
used by Game of Life, for instance, \mathcal = \^2; i.e. a square of size 3 centered on every site. In Lenia's case, the neighborhood is instead a ball of radius R centered on a site, \mathcal = \, which may include the original site itself. Note that the neighborhood vectors are not the absolute position of the elements, but rather a set of relative positions (deltas) with respect to any given site.


Local rule

There are
discrete Discrete may refer to: *Discrete particle or quantum in physics, for example in quantum theory *Discrete device, an electronic component with just one circuit element, either passive or active, other than an integrated circuit *Discrete group, a ...
and
continuous Continuity or continuous may refer to: Mathematics * Continuity (mathematics), the opposing concept to discreteness; common examples include ** Continuous probability distribution or random variable in probability and statistics ** Continuous g ...
variants of Lenia. Let \mathbf be a vector in \R^2 within \mathcal representing the position of a given site, and \mathcal be the set of sites neighboring \mathbf. Both variations comprise two stages: # Using a
convolution In mathematics (in particular, functional analysis), convolution is a mathematical operation on two functions ( and ) that produces a third function (f*g) that expresses how the shape of one is modified by the other. The term ''convolution' ...
kernel \mathbf : \mathcal \rightarrow S to compute the ''potential distribution'' \mathbf^t(\mathbf)=\mathbf * \mathbf^t(\mathbf). # Using a ''growth mapping'' G :
, 1 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline o ...
\rightarrow
1, 1 Onekama ( ) is a village in Manistee County in the U.S. state of Michigan. The population was 411 at the 2010 census. The village is located on the shores of Portage Lake and is surrounded by Onekama Township. The town's name is derived from "O ...
/math> to compute the final ''growth distribution'' \mathbf^t(\mathbf)=G(\mathbf^t(\mathbf)). Once \mathbf^t is computed, it is scaled by the chosen time resolution \Delta t and added to the original state value:\mathbf^(\mathbf) = \text(\mathbf^ + \Delta t \;\mathbf^t(\mathbf),\; 0,\; 1)Here, the clip function is defined by \operatorname(u,a,b):=\min(\max(u,a),b) . The local rules are defined as follows for discrete and continuous Lenia: \begin \mathbf^t(\mathbf) &= \begin \sum_ \mathbf\mathbf^t(\mathbf+\mathbf)\Delta x^2, & \text \\ \int_ \mathbf\mathbf^t(\mathbf+\mathbf)dx^2, & \text \end \\ \mathbf^t(\mathbf) &= G(\mathbf^t(\mathbf)) \\ \mathbf^(\mathbf) &= \text(\mathbf^t(\mathbf) + \Delta t\;\mathbf^t(\mathbf),\; 0,\; 1) \end


Kernel generation

There are many ways to generate the convolution kernel \mathbf. The final kernel is the composition of a ''kernel shell'' K_C and a ''kernel skeleton'' K_S. For the kernel shell K_C, Chan gives several functions that are defined radially. Kernel shell functions are
unimodal In mathematics, unimodality means possessing a unique mode. More generally, unimodality means there is only a single highest value, somehow defined, of some mathematical object. Unimodal probability distribution In statistics, a unimodal pr ...
and subject to the constraint K_C(0) = K_C(1) = 0 (and typically K_C\left(\frac\right) = 1 as well). Example kernel functions include: K_C(r) = \begin \exp\left(\alpha - \frac\right), & \text, \alpha=4 \\ (4r(1-r))^\alpha, & \text, \alpha=4 \\ \mathbf_(r), & \text \\ \ldots, & \text \end Here, \mathbf_A(r) is the
indicator function In mathematics, an indicator function or a characteristic function of a subset of a set is a function that maps elements of the subset to one, and all other elements to zero. That is, if is a subset of some set , one has \mathbf_(x)=1 if x ...
. Once the kernel shell has been defined, the kernel skeleton K_S is used to expand it and compute the actual values of the kernel by transforming the shell into a series of
concentric In geometry, two or more objects are said to be concentric, coaxal, or coaxial when they share the same center or axis. Circles, regular polygons and regular polyhedra, and spheres may be concentric to one another (sharing the same center ...
rings. The height of each ring is controlled by a ''kernel peak'' vector \beta = (\beta_1, \beta_2, \ldots, \beta_B) \in ,1B, where B is the ''rank'' of the parameter vector. Then the kernel skeleton K_S is defined as K_S(r;\beta)=\beta_ K_C(Br \text 1) The final kernel \mathbf(\mathbf) is therefore \mathbf(\mathbf) = \frac such that \mathbf is normalized to have an element sum of 1 and \mathbf * \mathbf \in
, 1 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline o ...
/math> (for
conservation of mass In physics and chemistry, the law of conservation of mass or principle of mass conservation states that for any system closed to all transfers of matter and energy, the mass of the system must remain constant over time, as the system's mass ca ...
). , K_S, = \textstyle \sum_ \displaystyle K_S \, \Delta x^2 in the discrete case, and \int_ K_S \,dx^2 in the continuous case.


Growth mappings

The growth mapping G :
, 1 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline o ...
\rightarrow 1,1/math>, which is analogous to an
activation function In artificial neural networks, the activation function of a node defines the output of that node given an input or set of inputs. A standard integrated circuit can be seen as a digital network of activation functions that can be "ON" (1) or " ...
, may be any function that is unimodal, nonmonotonic, and accepts parameters \mu,\sigma \in \R. Examples include G(u;\mu,\sigma) = \begin 2\exp\left(-\frac\right)-1, & \text \\ 2\cdot\mathbf_(u)\left(1-\frac\right)^\alpha-1, & \text, \alpha=4 \\ 2\cdot\mathbf_(u)-1, & \text \\ \ldots, & \text \end where u is a potential value drawn from \mathbf^t.


Game of Life

The Game of Life may be regarded as a special case of discrete Lenia with R = T = P = 1. In this case, the kernel would be rectangular, with the functionK_C(r) = \mathbf_(r) + \frac\mathbf_(r)and the growth rule also rectangular, with \mu = 0.35, \sigma = 0.07.


Patterns

By varying the convolutional kernel, the growth mapping and the initial condition, over 400 "species" of "life" have been discovered in Lenia, displaying "self-organization, self-repair, bilateral and radial symmetries, locomotive dynamics, and sometimes chaotic nature". Chan has created a taxonomy for these patterns.


Related work

Other works have noted the strong similarity between cellular automata update rules and convolutions. Indeed, these works have focused on reproducing cellular automata using simplified
convolutional neural network In deep learning, a convolutional neural network (CNN, or ConvNet) is a class of artificial neural network (ANN), most commonly applied to analyze visual imagery. CNNs are also known as Shift Invariant or Space Invariant Artificial Neural Netwo ...
s. Mordvintsev et al. investigated the emergence of self-repairing pattern generation. Gilpin found that any cellular automaton could be represented as a convolutional neural network, and trained neural networks to reproduce existing cellular automata In this light, cellular automata may be seen as a special case of recurrent convolutional neural networks. Lenia's update rule may also be seen as a single-layer convolution (the "potential field" \mathbf) with an activation function (the "growth mapping" G). However, Lenia uses far larger, fixed, kernels and is not trained via gradient descent.


See also

*
Conway's Game of Life The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. It is a zero-player game, meaning that its evolution is determined by its initial state, requiring no furt ...
*
Cellular automaton A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tess ...
*
Self-replication Self-replication is any behavior of a dynamical system that yields construction of an identical or similar copy of itself. Biological cells, given suitable environments, reproduce by cell division. During cell division, DNA is replicated and c ...
*
Pattern formation The science of pattern formation deals with the visible, (statistically) orderly outcomes of self-organization and the common principles behind similar patterns in nature. In developmental biology, pattern formation refers to the generation of ...
*
Morphogenesis Morphogenesis (from the Greek ''morphĂȘ'' shape and ''genesis'' creation, literally "the generation of form") is the biological process that causes a cell, tissue or organism to develop its shape. It is one of three fundamental aspects of deve ...


External links


The Github repository for LeniaAn invited seminar at Stanford given by Chan


References

{{reflist Cellular automaton rules