40 likes | 140 Vues
L-systems, or Lindenmayer systems, are formal grammatical frameworks introduced by Aristid Lindenmayer to model biological growth processes, such as plant development. Unlike traditional grammars, L-systems define all derivable strings as belonging to the language without distinguishing between terminal and nonterminal symbols. This article explores the variations of L-systems, including zero-sided, one-sided, and two-sided systems, and provides definitions and examples. We also examine how these systems facilitate the generation of complex structures through simple production rules.
E N D
L-systems L-systems are grammatical systems introduced by Lyndenmayer to describe biological developments such as the growth of plants and cellular organisms. The major difference from the formal grammars that we have defined in the class is that in L-systems every string that can be derived belongs to the language. Hence, there is no identification for terminals and nonterminals. There are several variations of L-systems. Zero-sided L-systems correspond to the context-free grammars in the sense that the production rules are not context dependent, i.e., there is only one symbol on the left side of the production rules. There are one-sided (left-sided or right-sided) L-systems and two-sided L-systems depending on context-sensitivity (to the left, right or both sides of a symbol) of a production rule. The following definitions show variations of zero-sided L-systems.
L-systems Definition 1. A 0L (zero-sided Lindenmayer) system is a triple G = ( , h, ), where is a finite alphabet, h is a finite substitutions on into the set of subsets of *, (i.e., h: 2 *.), and , called the axiom, is an element in *. The word sequence generated by a 0L system is h0( ) = , h1( ) = h( ), h2 = h(h1( )), ...…. The language of G is defined by L(G) = { hi( ) | i 0}. Example. G = ( {a}, h, a2 ), where h(a) = {a, a2 }. L(G) = {an | n 2}. Definition 2. DOL (deterministic 0L) system is a 0L system (, h, ) with h: *. Example. G = ({a, b}, h, ab ), where h(a) = a, h(b) = ab. L(G) = {anb | n 0}. Notice that h gives only one string.
Drawing Plants Using Lindermayer System 1 23 2 2 3 24 4 25 5 65 6 7 7 8 8 9[3] 9 9 5 1 23 224 . . 229[229[24]9[3]8765]9[229[3]8765]9[228765]9[228765]9[2265]9[225]9[24]9[3]8765 6 7 8 3 4 5 5 9 5 2 6 2 5 6 9 7 5 2 6 2 8 6 5 9 7 2 7 6 2 8 9 8 7 2 2 8 3 3 9 9 2 2 9 9 2 4 2 9 2 9 2 9 2 2
Other Models for Language Definition (Syntax Diagram) letter identifier letter digit unsigned integer digit unsigned number + unsigned integer . digit E unsigned integer -