Gramatyki Lindenmayera Powstanie Deterministyczny L-system
Gramatyki Lindenmayera Inna nazwa to równolegle przepisujące systemu lub L-systemy, Twórcą jest biolog Aristid Lindenmayer, który w 1968 roku stworzył formalny sposób opisu wzrostu roślin. Polegają na zamianie modułu zwanego rodzicem, matką lub przodkiem na moduł zwany dzieckiem, córką lub potomkiem.
Rodzaje L-systemów D0L-system - deterministyczny, bezkontekstowy L-system, D1L-system - deterministyczny, wrażliwy na kontekst L-system, 0L-system - stochastyczny, bezkontekstowy L-system, 1L-system - stochastyczny, z kontekstem jednostronnym L-system, 2L-system - stochastyczny, z kontekstem dwustronnym (prawym i lewym) L-system, parametryczny L-system, Inne – różniczkowe, z elementami programowani itd.
Relacje między językami Relacje pomiędzy klasyfikacją języków Chomsky’ego (białe pola) a klasami języków generowanymi przez L-systemy (pola szare), gdzie OL oznacza L-system bezkontekstowy a IL oznacza L-system wrażliwy na I kontekstów za (Prusinkiewicz, Lindenmayer 1996)
L-systemy jak to działa: Przepisywanie zaczynamy od pojedynczego modułu zwanego aksjomatem, W trakcie symulacji korzystamy z reguł przepisania, które w najprostszym przypadku mają postać: Poprzednik Następnik Przepisanie polega znalezieniu reguły gdzie poprzednik pasuje do modułu matki i zastąpieniu tego modułu sekwencją z następnika.
Niech V oznacza alfabet składający się z liter, zaś V Niech V oznacza alfabet składający się z liter, zaś V* będzie zbiorem wszystkich słów nad zbiorem V oraz V+ będzie zbiorem wszystkich niepustych słów ze zbioru V*. Przez słowo nad alfabetem V, rozumiemy złożony ciąg symboli z V
D0L-system – opis formalny D0L-system to uporządkowaną trójka G = (, P, ), gdzie = {s1, s2, . . . , sn} jest alfabetem, - aksjomatem oraz należy do zbioru *, który jest zbiorem wszystkich ciągów symboli z . Przekształcenie przepisywania jest określone jako: P : * z s P(s) dla każdego s. Każdemu symbolowi s odpowiada tylko jedna reguła przepisywania. L-system generuje kolejne sekwencje: (0), (1), (2), . . .. Sekwencje (i+1) otrzymujemy z poprzedniej (i) przez zastosowanie reguł podstawiania do wszystkich m symboli 1(i) , . . . , m(i) ciągu jednocześnie: (i+1) = P(1(i))P(2(i) ) . . . P(m(i) )
Determinizm L-systemów OL-system jest deterministyczny, gdy dla każdego a V istnieje dokładnie jedno V* takie, że a (to znaczy, że dla każdego symbolu a V istnieje tylko jedna reguła podstawiania Pa).
Niech = a1,…,am będzie dowolnym słowem ze zbioru V Niech = a1,…,am będzie dowolnym słowem ze zbioru V. Słowo = 1,…, mV* bezpośrednio wyprowadzone (wygenerowane) przez oznaczymy symbolem . Oczywiście, wtedy i tylko wtedy, gdy ai i dla i=1,2,…,m. Słowo jest generowane przez gramatykę G wyprowadzeniem o długości m jeśli istnieje ewolucyjna sekwencja słów 0, 1,…, m taka, że 0 = ω, m = oraz 01…m.
Definicja rekurencyjna Rozważmy DOL-system G = <V,ω,P> i aV i nn oznaczmy µ(n) jako słowo wyprowadzone z µ w wyprowadzeniu o długości n: Jeśli µb1b2…bm jest produkcją w G, to dla każdego n1 słowo µ(n) spełnia formułę rekurencyjną: µ(n)=b1(n-1)b2(n-1)…bm(n-1) Rozłóżmy derywację na pierwszy krok i pozostałe n-1 kroków: Wtedy µ(n)=b1(n-1)b2(n-1)…bm(n-1).
Dany DOL-system G = <V,ω,P>, będący zbiorem rekurencyjnych formuł w postaci wraz z początkowymi warunkami µ(0)=µ, dla µV nazywamy rekurencyjnym systemem G.
D0L-system – przykład Anabena Catenula - glon sinica Reguły przepisania: Sekwencja produkcji:
Definicja – IL-systemy IL-system definiuje się jako uporządkowaną trójkę . gdzie: V – to alfabet systemu, ω V+, to niepuste słowo zwane aksjomatem, P V V* jest skończonym zbiorem produkcji (inaczej zbiorem reguł).
Produkcję (al,ap,a,)P oznacza się jako al < a > ap , gdzie: al to lewy kontekst, a – poprzednik, ap - prawy kontekst zaś to następnik. Jeśli nie ma zdefiniowanej żadnej produkcji dla danego poprzednika a V to wtedy przyjmuje się, że istnieje produkcja identyczności aa należąca do zbioru produkcji P.
Jeżeli IL-system posiada tylko jeden kontekst to możliwe są dwa rodzaje produkcji: al < a - z lewym kontekstem, a > ap - z prawym kontekstem. Sposób wyprowadzania sekwencji z produkcji wygląda tak samo jak w przypadku DOL-systemów z tym, że teraz uwzględnia się odpowiednią liczbę kontekstów.
IL-system – Przykład 1 Niech dany będzie 1L-system generujący dźwięki, , gdzie: V ={a,c,d,e,f,g,h}, ω: c g f c p1: c > g ca p2: f < c ac p3 : c < a e Efekt przepisań: ω: c g f c 1: c a g f a c 2: c e g f a c
IL-system – Przykład 2 Niech dany będzie 2L-system generujący dźwięki gdzie: V ={a1,a2,c1,c2,d1,d2,e1,e2,f1,f2,g1,g2,h1,h2}, ω= c1 d1 e1 f1 g1 a1 h1 p1: c1 <d1> e1 c2 p2: f1 <g1 > a1 f2 p3 : c1 c2 < e1> f1 h1 Efekt przepisań: ω: c1 d1 e1 f1 g1 a1 h1 1: c1 c2 e1 f1 f2 a1 h1 2: c1 c2 h1 f1 f2 a1 h1
Literatura H.-O. Peitgen, H. J¨urgens, D. Saupe Granice Chaosu Fraktale cz.2, Wydawnictwa Naukowe PWN, Warszawa 1996; A. Lindenmayer, P. Prusinkiewicz, The Algorithmic Beauty of Plants”, Springer-Verlag, Elektroniczna wersja opublikowana w 2004
Literatura Jacob Ch. (1995) Modeling Growth with L-systems & Mathematica, Mathematica in Education and Research, Volume 4, No. 3 (1995), TELOS-Springer, pp. 12-19, http://pages.cpsc.ucalgary.ca/˜jacob/Publications/ModelingGrowth.ma.pdf
Literatura Rozenberg G., Saloma A (1980). The mathematical theory of L-systems. Academic Press, New York,