Gramatyki Lindenmayera Systemy parametryczne Systemy stochastyczne Systemy z nawiasami
Systemy parametryczne Litery nalezą do alfabetu V , natomiast parametry do zbioru liczb rzeczywistych . Moduł to A(a1, a2, … , an), gdzie AV, zaś parametry a1, a2, . . . , an. Przyjmujemy M zbiór M = V × *, gdzie * jest zbiorem wszystkich skończonych ciągów parametrów. Do tego zbioru należy każdy moduł systemu. Oznaczmy też przez M*= (V × *)* zbiór wszystkich ciągów modułów oraz przez M+= (V × *)+ zbiór wszystkich niepustych ciągów modułów.
Niech będzie zbiorem formalnych parametrów, wtedy C() niech oznacza wyrażenie logiczne, a E() wyrażenie arytmetyczne z użyciem parametrów ze zbioru . Dodatkowo wykorzystujemy: operatory działań arytmetycznych: +,−, *, /, operator potęgowania ^, operatory relacji: <,<=,>,>=,=,==, operatory logiczne: !,&&, || (negacji, i, lub); nawiasy () oraz odwołania do standardowych funkcji matematycznych np. sinus, logarytm czy funkcji zwracających zmienne losowe. Zbiór składający się z poprawnych logicznie wyrażeń oznaczmy przez C() oraz zbiór poprawnych arytmetycznie wyrażeń przez E().
Parametryczny OL-system - definicja Parametryczny OL-system definiuje się jako uporządkowaną czwórkę: , gdzie: V - to alfabet systemu, - zbiór formalnych parametrów, ω (V × *)+ jest niepustym parametrycznym słowem zwanym aksjomatem, P (V × *)× C() × (V × E())* jest skończonym zbiorem produkcji. Produkcję w tak zdefiniowanym systemie można oznaczyć jako a : w , gdzie: a – poprzednik, w - warunek a to następnik.
Warunki dopasowania produkcji do modułu znak w module i znak w poprzedniku produkcji są identyczne, liczba aktualnych parametrów modułu jest zgodna z liczbą formalnych parametrów w poprzedniku produkcji, warunek przyjmuje wartość „prawda”, jeśli wartość aktualnego parametru z przetwarzanego modułu może być zamieniona przez wartość formalnego parametru występującego w produkcji.
Jeśli przepisanie pozwala wyprowadzić parametryczne słowo z modułu a to regułę podstawiania można oznaczyć jako a .
Niech = a1,…,am będzie parametrycznym słowem takim, że słowo = 1,…, mV* można bezpośrednio wyprowadzić (wygenerować) przez ; fakt ten oznaczmy jako . Wówczas ma miejsce wtedy i tylko wtedy gdy ai i dla i=1,…,m. Słowo jest generowane przez G w wyprowadzeniu o długości n jeśli istnieje ewolucyjna sekwencja słów 0, 1,…, n taka, że 0 = ω, n = oraz 01…n. Jeśli nie ma zdefiniowanej żadnej produkcji dla danego poprzednika a V, to wtedy przyjmuje się, że istnieje produkcja identyczności a a należąca do zbioru produkcji P.
W taki sposób produkcja jest zamieniana na nią samą W taki sposób produkcja jest zamieniana na nią samą. Parametryczny L-system nazywa się deterministycznym wtedy i tylko wtedy, gdy dla każdego modułu A(t1, t2, . . . , tn) V ×* istnieje tylko jedna akceptująca go reguła w zbiorze produkcji.
Parametryczny OL-system Przykład 1 Niech dany będzie parametryczny OL-system, który będzie zwiększał wartość parametru o 1 określoną liczbę razy. Wówczas gdzie: V ={A, B, C,…, Z}, ω: A(1) p1: A(t) : t >0 t<4 A(t+1) p2: A(t): t=4 B(t) Efekt przepisań: ω: A(1) 1: A(2) 2: A(3) 3: A(4)
Parametryczny OL-system Przykład 2 Niech będzie dany parametryczny 2L-system obliczający wyróżnik dla trójmianu kwadratowego oraz niech 0 oznacza puste słowo. Wówczas produkcje można zdefiniować następująco: p1: A(a) < B(b) > C(c) : a>0 b >0 c>0 D( b ^ 2 – 4 * a *c, a, b) p2: D(d, a, b): d=0 E(( -b ) / ( 2 * a )) p3: D(d, a, b): d>0 F(( -b - d ) / ( 2 * a )) G(( -b + d ) / ( 2 * a )) Dla aksjomat u ω: A(1) B(1) C(-2) Mamy produkcje 1: A(1)D(9,1,1)C(-2) 2: A(1)F(-2)G(1)C(-2)
Systemy stochastyczne Stochastyczny OL-system definiuje się jako uporządkowaną czwórkę: gdzie: V – to alfabet systemu, ω V+, to niepuste słowo zwane aksjomatem, P V V* jest skończonym zbiorem produkcji, to funkcja prawdopodobieństwa odwzorowująca zbiór produkcji w zbiór prawdopodobieństw produkcji. Zakłada się, że dla każdej litery a V suma prawdopodobieństw wszystkich produkcji z poprzednikiem a jest równa 1.
Definicja wyprowadzenia Wyprowadzenie nazywamy stochastycznym w G, jeśli dla każdego wystąpienia litery a w słowie prawdopodobieństwo wyboru produkcji p zawierającej poprzednik a jest równe (p). Zatem jeśli w sekwencji występuje kilka tych samych liter to mogą być do nich zastosowane różne produkcje z takim samym poprzednikiem.
Systemy stochastyczne Losowe produkcje można stosować nie tylko w L-systemach bezkontekstowych, ale również w systemach wrażliwych na kontekst, jak również do parametrycznych. Wówczas do zdefiniowanego modelu dochodzi jeszcze jeden czynnik to funkcja prawdopodobieństwa odwzorowująca zbiór produkcji w zbiór prawdopodobieństw produkcji. Przykładowo w parametrycznym kontekstowym L-systemie produkcję należy oznaczyć przez al < a > ap : w : , gdzie: al to lewy kontekst, a – poprzednik, ap - prawy kontekst, w – warunek, - następnik, natomiast to wyrażenie arytmetyczne zwracające dodatnią liczbę zwaną czynnikiem probabilistycznym.
Systemy stochastyczne 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.
Systemy stochastyczne Jeśli podczas przepisywania jest zbiorem produkcji akceptujących dany moduł A(t1, t2, … , tn) V × *, to wówczas prawdopodobieństwo prawd(pk) zastosowania konkretnej produkcji do modułu jest równe: Ogólnie prawdopodobieństwo nie jest stale związane z produkcją, ale może zależeć od wartości parametru w przepisywanym module i jego kontekście.
Systemy stochastyczne Przykład Niech dany będzie stochastyczny, parametryczny 2L-system zdefiniowany następująco: gdzie: V ={A, B, C,…, Z}, ω: A(9)B(1)C(2) p1: A(t) A(t+1) :1 p2: A(t): t > 4 B(t):3 p3: A(t) <B(u) > C(w): u<=5 A(t+1)B(u)C(w+1)
Systemy stochastyczne Przykład Zaczynając przepisania należy wylosować pasującą regułę. prawd(p1)= 1/4=0,25 prawd(p2)=3/4= 0,75 Jeśli zostanie wylosowane p2 to pierwsze przepisanie: 1: B(9)A(10)B(1)C(3)C(2) W kolejnym przepisaniu ponownie obliczamy p prawdopodobieństwa wyboru produkcji: prawd(p1)=1/140,1 prawd(p2)=3/140,2 prawd(p3)=10/140,7 Po wylosowaniu odpowiedniej reguły kolejne przepisanie może mieć postać: 2: B(9)A(11)A(11)B(1)C(4)C(3)C(2)
L-systemy z nawiasami Służą do symulacji rozwoju struktur rozgałęziających się Dodajemy do alfabetu dwa symbole „[” i „]”. [ - oznacza początek rozgałęzienia ] – powrót do poprzednio otwartego rozgałęzienia Możliwe zagnieżdżanie łańcuchów nawiasów
L-systemy z nawiasami W bezkontekstowych L-systemach, nawiasy są przepisywane na same siebie i nie zaburzają samego procesu przepisywania. Jednak w L-systemach z kontekstem może się zdarzyć, że litery które stanowiłyby kontekst zostaną rozdzielone strukturami gałęziowymi. Natomiast, gdy dla liter można znaleźć odpowiedni kontekst, to nazywa się on całkowitym kontekstem.
L-systemy z nawiasami przykład graficzny Definiujemy: ω: F p1: FF[+F]F Czwarte przepisanie
L-systemy z symbolami dodatkowymi Przykład Chcemy aby żółw mógł rysować inne obiekty a nie tylko linie. Wprowadzamy symbole dodatkowe np. X,Y,Z, które mają interpretację w grafice żółwia np. X F+F+F Przepisania generujemy jak w zwykłym systemie, dopiero przy interpretacji graficznej odwołujemy się do dodatkowych reguł aby narysować obiekt.
L-systemy z symbolami dodatkowymi – Krzywa Hilberta Definiujemy: ω: X = 90o p1: X +YF-XFX-FY+ p2 Y -XF+YFY+FX- Reguły dla żółwia: X +F-F-F+ Y -F+F+F- Przepisania: pierwsze i trzecie
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 Prusinkiewicz P., Hammel M., Hanan J., Mech R. (1995) The Artificial Life of Plants, From Artificial life for graphics, animation, and virtual reality, volume 7 of SIGGRAPH ’95 Course Notes, pages 1-1-1-38. ACM Press, 1995, http://algorithmicbotany.org/papers/l-sys.sig95.pdf Prusinkiewicz P. , Hammel M., Hanan J., Mech R. (1996) L-Systems: From The Theory To Visual Models Of Plants from M. T. Michalewicz, editor, Proceedings of the 2nd CSIRO Symposium on Computational Challanges in Life Sciences, CSIRO Publishing, http://algorithmicbotany.org/papers/l-sys.csiro96.pdf