L-systems
The theory of -systems originated from the work of A. Lindenmayer, [a1]. The original aim of this theory was to provide mathematical models for the development of simple filamentous organisms. At the beginning,
-systems were defined as linear arrays of finite automata; later, however, they were reformulated into the more suitable framework of grammar-like constructs. From then on, the theory of
-systems was developed essentially as a branch of formal language theory (cf. Formal languages and automata).
The essential feature about -systems, as opposed to grammars, is that the rewriting of a string happens in a parallel manner, contrary to the sequential rewriting in grammars. This means that at every step of the rewriting process according to an
-system every letter has to be rewritten. One step of the rewriting process according to a grammar changes only some part of the string considered.
Consider a very simple example. Assume that one is dealing with a context-free grammar (cf. Grammar, context-free) containing the production . Then, starting from
, one obtains any string of the form
, where
. This follows because at one step of the rewriting process one can replace one occurrence of
by
and leave the other occurrences unchanged. Assume next that one is dealing with an
-system containing the production
. Then, starting from
, one obtains by this production only strings of the form
,
. This follows because one cannot leave occurrences of
unchanged. Thus, if one is rewriting the string
, one obtains at one step the string
, and not the string
. On the other hand, if this
-system contains also the production
, then one can derive any string of the form
,
.
This parallelism in rewriting reflects the basic biological motivation behind -systems. One is trying to model the development of an organism. The development takes place in a parallel way, simultaneously everywhere in the organism. Sequential rewriting is not suitable for this modeling.
The simplest version of -systems assumes that the development of a cell is free of influence of other cells. This type of
-systems is customarily called an
-system ( "O" stands for zero-sided communication between cells). By definition, an
-system is a triple
, where
is an alphabet,
is a word over
and
is a finite set of rewriting rules of the form
![]() |
(It is also assumed that contains at least one rule for each letter of
.) The language of
consists of all words which can be derived from
using rules of
in the parallel way.
As an example, consider the -system
![]() |
The first few words in the generated language are
![]() |
Since the system is deterministic (there is only one production for each letter), its language is generated as a sequence in a unique way. (Deterministic systems are denoted by the letter .) Notice that the lengths of the words in this sequence form the famous Fibonacci sequence (cf. Fibonacci numbers). In fact, this
-system provides a very simple way to generate the Fibonacci sequence, when compared to other possible devices in automata and formal language theory. The system is also propagating (abbreviated
): there are no erasing productions, where a letter goes to the empty word
.
In -systems with interactions, abbreviated
-systems, the productions have the form
. Such a production can be applied to rewrite the letter
in the context
as
. If in all productions the length of
(respectively,
) equals
(respectively,
), one speaks of a system with
interactions. (From the biological point of view, this means that an individual cell may communicate with
of its left and
of its right neighbours.) Near the ends of the string, the missing neighbours are provided by a special letter
. For instance, the string
may be rewritten as
by the
productions
,
,
.
An -system with tables (abbreviated
) has several sets of rewriting rules instead of just one set. At one step of the rewriting process, rules belonging to the same set have to be applied. For an
-system of any type, systems of the same type and with tables may be considered. The biological motivation for introducing tables is that one may want different rules to take care of different environmental conditions (heat, light, etc.) or of different stages of development.
When defining the language generated by an -system, so far only the exhaustive approach has been considered: all words derivable from the axiom by the rules in a parallel way belong to the language. The families of languages obtained in this fashion (for instance, the family of
-languages, also simply denoted by
) have very weak closure properties. In addition to the exhaustive approach, various selective approaches are possible.
The terminal alphabet provides a filtering mechanism: Words generated by the system have to pass through this filter in order to qualify to be included in the language. In the next definition one again uses an abbreviation customary in the theory of -systems: the letter
means extended.
An -system is a pair
, where
is an
-system and
is a subset of
, referred to as the terminal alphabet. The language generated by
is defined by
![]() |
Languages of this form are called -languages.
Given a context-free grammar , for each letter
(both terminal and non-terminal) one adds the production
and views the resulting construct
as an
-system. It is then clear that
. This shows that every context-free language is also an
-language. The next example demonstrates how to generate a non-context-free language by an
-system.
Consider the -system
with the axiom
and productions
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
, and
, were
is the terminal alphabet. It is not difficult to verify that
![]() |
The system is based on the synchronization of terminals: the terminals have to be introduced simultaneously in the whole word. If terminals are introduced only in some parts of the word, then the derivation cannot be continued to yield a word over the terminal alphabet. This is due to the fact that terminals give rise only to the "garbage" letter
, which cannot be eliminated once it is introduced.
In the same way, one may speak of -systems and
-languages as well. A language is recursively enumerable if and only if it is an
-language.
An area quite essential in the study of -systems is the theory of growth functions. From the biological point of view, the growth function measures the size of the organism modelled. From the theoretical point of view, the theory of growth functions reflects a fundamental aspect of
-systems: generated languages as sequences of words.
To a -system
one associates the function
mapping the set of non-negative integers into itself as follows. For
, the value
is defined to be the length of the
-th word in the sequence of
. The function
is called the growth function of
.
For instance, for the -system
with the axiom
and the only production
, one has
for all
.
For the -system
with the axiom
and the productions
and
, one has
for all
.
For the -system
with the axiom
and productions
,
and
(respectively,
,
,
, and
) one has
(respectively,
).
The analysis problem for growth functions consists of determining the growth function of a given -system. The synthesis problem consists of materializing given functions — if possible — as
growth functions.
To a given -system
with alphabet
one associates the axiom vector
, where
equals the number of occurrences of
in the axiom of
for each
. One also associates with
the
growth matrix
whose
-th entry equals the number of occurrences of
in the production for
for all
and
. Finally,
is a column vector of dimension
consisting entirely of 1's.
The growth function associated to a
-system
satisfies
![]() |
Consequently, a growth function of a -system cannot grow faster than exponentially, and if it is ultimately growing, it cannot grow slower than linearly. The growth functions of
-systems, analogously defined, do not necessarily satisfy these conditions.
More recently, a graph-theoretical framework for -systems has proved to provide a more unified approach to
-dimensional as well as
- or
-dimensional cellular development. This graph interpretation is also topological, i.e. it concerns the neighbourhood relationships among cells. To these systems analytical and graphical geometric specifications can be added for lengths, angles, colours, and other properties of cells or their walls and edges. The most useful of these graph-theoretical constructs have been those in which edge labels are the main control elements. In the course of applying these constructs one can make use of many of the results obtained by formal-language-theoretic means.
References
[a1] | A. Lindenmayer, "Mathematical models for cellular interaction in development I-II" J. Theoret. Biology , 18 (1968) pp. 280–315 |
[a2] | G. Rozenberg, A. Salomaa, "The mathematical theory of ![]() |
[a3] | A. Lindenmayer, "Models for multicellular development: characterization, inference and complexity of ![]() |
L-systems. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=L-systems&oldid=14908