The global process for the Fibonacci system works because this L-system is context-free meaning that the production rules take account only of an individual symbol, and not of what their neighbors are. It is possible to consider context-sensitive L-systems where the production rules apply to a particular symbol only if the symbol has certain neighbors. Here is an example:
This describes a population with an elaborate dynamics. If an a has
nothing on the right (this is what the
notation means),
it matures to a b. If it has an adult b on the right, the adult
``kills'' it and it disappears. If an adult b has a child a on the
right side, it grows ``old'' and becomes a c. By production
,
if two b's occur consecutively, they reproduce and produce an a in
between. An old organism c dies after one generation. In all other
cases the symbols stay the same. The evolution of this L-system is
as follows:
|
| bb |
| | babab |
| | ccb |
| | b |
After this point the generations are unchanging.
We have not stipulated yet that for each symbol in the alphabet there
is exactly one production, although this has been true for our first
few examples. If there is indeed exactly one production for each
symbol, then the L-system is called deterministic and the
sequence of generations
is uniquely defined as a sequence of
elements of
. If there is more than one production for a given
symbol, say
and
, we need a criterion for
deciding when to apply which rule. One possibility is to use one of
the possible productions with certain probabilities. This is called a
stochastic L-system (the word stochastic always connotes an
element of randomness). In this section, we will consider only
deterministic L-systems. A deterministic context-free L-system is
popularly called a D0L-system.
The study of generation of formal subsets of
by means of
processes similar to that underlying L-systems originated in formal
language theory, advanced by Chomsky as a mathematical way for
discussing the formation and evolution of natural languages. For this
reason, any subset S of
is called a language.
L-systems languages are examples of a much broader class known in
theoretical computer science as recursively enumerable
languages. Some novel aspects of L-systems are the parallel nature of
the evolution of one word from the next and the dynamic nature in that
we can think of the language as growing over time.
The Fibonacci global process could be considered a simple example of
what is known as emergent behavior in dynamical systems theory,
behavior that is apparent as the system evolves. We will see this sort
of phenomenon at various times in the course. This particular global
process is a chain or concatenation law, in that several
past generations are chained together to form the next generation. In
general, we say the L-system satisfies a chain law (or is
locally catenative) if there is a sequence of integers
such that
If this holds for one n, the same argument as that underlying the growth process for the Fibonacci system proves that it holds for all subsequent generations. This leads to a very interesting open problem:
CHAIN LAW PROBLEM: Characterize all the deterministic context-free L-systems which are locally catenative.
Recently, a complete solution has been found in the case where V has
only two symbols [Cho92]. The answer is that it happens only
when
is a chain of some combination of
,
and
.
It is remarkable that it is only necessary to check
to determine
whether or not any such chain law holds.