Lindenmayersysteme (L-Systeme)

Mittwoch, 15. April 2009 um 08:43 Uhr
Drucken
  DOL - Systeme       Geklammerte L-Systeme    



1968 führte der schwedische Biologe Aristid Lindenmayer sogenannte L- systeme ein. Diese Systeme basierten auf Grammatiken und dienten der Simulation von Pflanzenwachstum. Die Nähe zu den formalen Sprachen (Thema: Theoretische Informatik) ist somit gegeben.Allerdings ist zu beachten, dass bei Lindenmayer die Buchstaben eines Wortes parallel ersetzt werden, nicht sequentiell (nacheinander) vergleichbar zu Chomsky. Die einfachsten Systeme sind hierbei die sogenannten DOL-Systeme, die die Grammatik G = (V, s, P) haben, wobei V die Menge aller Symbolde beschreibt, s das Startaxiom und P die Menge der Regeln.
Basierend auf einer einfachen Zeichenklasse turtle kann man einfache Programme zu Darstellung der typischen Pflanzenformen (Gras, Halm ..), oder auch alte Bekannte (Kochkurve ..) implementieren. Die rekursive Vorgehensweise bei der Anwendung der Grammatiken verlangt eine entsprechende Rekursionstiefe. Um eine Überlastung zu vermeiden, wurde diese entsprechend beschränkt. Die wichtigsten Bezeichner sind nachfolgend aufgeführt, wobei geklammerte L - Systeme gleich mit berücksichtigt werden. Die Umsetzung erfolgt mit der oben bereits erwähnten Turtlegrafik.

01    		F   -   Schritt vortwärts 
02    		+   -   Drehung nach links 
03    		-   -   Drehung nach rechts (Uhrzeigersinn) 
04    		[   -   Speicherung von Position und Winkel 
05    		]   -   Abrufen von Position und Winkel 
06    		|   -   Kehrtwendung um 180° 

 

DOL - Systeme



Als möglichen Einstieg in die Thematik kann man die Kochkurve verwenden, da hier Rekursionsschritte und Darstellung aus vielen anderen Zusammenhängen bekannt sind. Darüber hinaus ist es möglich, einzelne Schritte sogar durch einen Trockendurchlauf nachzuvollziehen.


  SOURCE 

 

 

Geklammerte LS-Systeme

 

Die Erweiterung dieses Konzeptes kann über zum Beispiel über geklammerte Grammatiken erfolgen. Hierbei wird die Position an einer Stelle gespeichert (ein Stack ist hierbei geeignet), ein Aufruf ausgeführt und nach Abschluss der Operation an die entsprechende Stelle zurückgekehrt. Dies wäre z.B. bei der Generierung einer Blüte sinnvoll. Der nachfolgende Source stellt einen Ansatz dar, der mit einfachen Mitteln verfeinert werden kann. So ist es zum Beispiel möglich durch die Verwendung Zufallsgrößen stochstische Systeme zu erzeugen.


  SOURCE 

 

 

Um verschiedene Grammatiken auszuprobieren bzw. einen entsprechenden Überblick über die Grundformen zu erhalten eignet sich das folgende gepackte Tool.

  lyndyhop .

Um es auszuführen ist die Java(TM) 2 Platform notwendig, sollte aber eigentlich installiert sein.

Aktualisiert ( Mittwoch, 15. April 2009 um 11:21 Uhr )