As a biologist, Lindenmayer worked with yeast and filamentous fungi and studied the growth patterns of various types of algae, such as the blue-green bacteria Anabaena catenula. Originally the L-systems were devised to provide a formal description of the development of such simple multicellular organisms, and to illustrate the neighbourhood relationships between plant cells. Later on, this system was extended to describe higher plants and complex branching structures.
The recursive nature of the L-system rules leads to self-similarity and thereby fractal-like forms are easy to describe with an L-system. Plant models and naturally-looking organic forms are similarly easy to define, as by increasing the recursion level the form slowly 'grows' and becomes more complex. Lindenmayer systems are also popular in the generation of artificial life.
L-system grammars are very similar to the semi-Thue grammar (see Chomsky hierarchy). L-systems are now commonly known as parametric L systems, defined as a set
An L-systems is context-free if each production rule refers only to an individual symbol and not to its neighbours. If a rule depends not only on a single symbol but also on its neighbours, it is termed a context-sensitive L-system.
If there is exactly one production for each symbol, then the L-system is said to be deterministic (a deterministic context-free L-system is popularly called a D0L-system). If there are several, and each is chosen with a certain probability during each iteration, then it is a stochastic L-system.
Using L-systems for generating graphical images requires that the symbols in the model refer to elements of a drawing on the computer screen. For example, the program FractInt (see external links below) uses turtle graphics (similar to those in the Logo programming language) to produce screen images. It interprets each constant in an L-system model as a turtle command (see turtle graphics).
Lindenmayer's original L-system for modelling the growth of algae.
If we define the following simple grammar:
This produces the famous Cantor's fractal set on a real straight line R.
A variant of the Koch snowflake which uses only right-angles.
The following images were generated by an L-system. They are related and very similar to Penrose tilings.
There are many open problems involving studies of L-systems. For example:
L-systems on a real straight line R:
Origins
L-system structure
where
The rules of the L-system grammar are applied iteratively starting from the initial state. Examples of L-systems
Example 1: Algae
which produces:Example 2: Fibonacci numbers
then this L-system produces the following sequence of strings:
and if we count the length of each string, we obtain the famous Fibonacci sequence of numbers:
This example yields the same result (in terms of the length of each string, not the sequence of A's and B's) if the rule (B → AB) is replaced with (B → BA).Example 3: Cantor dust
Let A mean "draw forward" and B mean "move forward".Example 4: Koch snowflake
Here, F means "draw forward", + means "turn left 90°", and - means "turn right 90°" (see turtle graphics). F
F+F-F-F+F
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F-
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F-
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+
F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F
Example 5: Penrose tilings
As an L-system these tilings are called Penrose's rhombuses and Penrose's tiles. The above pictures were generated for n=6 as an L-system. If we properly superimpose Penrose tiles as an L-system we get next tiling:
otherwise we get patterns which do not cover an infinite surface completely:
Open problems
Types of L-systems
Well-known L-systems on a plane R2 are:
External links