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  -systems" , Acad. Press  (1980) | 
| [a3] |   A. Lindenmayer,   "Models for multicellular development: characterization, inference and complexity of  -systems"  A. Kelemenovà (ed.)  J. Kelemen (ed.) , Trends, Techniques, and Problems in Theoretical Computer Science: 4th internat. meeting young computer scientists, Smolenice, Oct. 1986 , Lect. notes in comp. science , 281 , Springer  (1987)  pp. 138–168 | 
L-systems. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=L-systems&oldid=14908






-systems" , Acad. Press  (1980)
-systems"  A. Kelemenovà (ed.)  J. Kelemen (ed.) , Trends, Techniques, and Problems in Theoretical Computer Science: 4th internat. meeting young computer scientists, Smolenice, Oct. 1986 , Lect. notes in comp. science , 281 , Springer  (1987)  pp. 138–168