L-System

L-System

Bei den Lindenmayer- oder L-Systemen handelt es sich um einen mathematischen Formalismus, der 1968 von dem ungarischen theoretischen Biologen Aristid Lindenmayer als Grundlage einer axiomatischen Theorie biologischer Entwicklung vorgeschlagen wurde. In jüngerer Zeit fanden L-Systeme Anwendung in der Computergrafik bei der Erzeugung von Fraktalen und in der realitätsnahen Modellierung von Pflanzen.

Das wesentliche Prinzip von L-Systemen besteht in der sukzessiven Ersetzung von Einzelteilen eines einfachen Objektes mittels so genannter Produktionsregeln. Diese Ersetzungen können rekursiv durchgeführt werden. Damit gehören L-Systeme zu den sogenannten Ersetzungssystemen.

Die bekanntesten Ersetzungssysteme sind solche, die auf Zeichenketten basieren. Besonders Noam Chomskys Arbeiten aus den 1950ern über formale Grammatiken stießen auf großes Interesse und befruchteten die Forschung in der theoretischen Informatik. Im Gegensatz zu den sequentiellen Ersetzungsregeln in Chomskys Grammatiken finden Ersetzungen in L-Systemen parallel statt, analog zu den gleichzeitig stattfindenden Zellteilungen in mehrzelligen Organismen, die der Anstoß zur Entwicklung der L-Systeme waren.

L-Systeme sind hervorragend geeignet, Darstellungen von Fraktalen zu erzeugen. Dazu werden die in den Rekursionen des L-Systems erzeugten Zeichenketten in direkt ausführbare Befehle eines Systems, welches die Turtle-Grafik realisiert, umgesetzt, z. B. die Programmiersprache LOGO.

Inhaltsverzeichnis

Struktur eines L-Systems

Ein L-System ist ein Quadrupel G = (V, S, ω, P), wobei

  • V die Zeichen enthält, die als Variable angesehen werden sollen.
  • S die Zeichen enthält, die als Konstanten angesehen werden sollen. Die Zeichen aus V und S bilden das Alphabet des L-Systems.
  • ω ein Wort über dem Alphabet ist, welches als Startwort oder Axiom des L-Systems bezeichnet wird.
  • P eine Menge von geordneten Paaren aus Wörtern über dem Alphabet ist, welche Ersetzungsregeln definieren. Ist das erste Wort eines jeden Paares ein einzelner Buchstabe aus V, und zu jeder Variablen eine Ersetzungsregel bekannt, so spricht man von einem kontextfreien L-System, sonst von einem kontext-sensitiven.

Kontextfreie L-Systeme

Um ein L-System zu realisieren, wird eine Tiefe n festgelegt und ein Ersetzungsschritt endlich oft wiederholt. Im Ersetzungsschritt wird das aktuelle Wort ω Zeichen für Zeichen abgearbeitet und jedes Zeichen durch das neue, in den Ersetzungsregeln festgelegte Wort ersetzt.

Kontext-freie L-Systeme (auch 0L-Systeme genannt) enthalten Produktionen p, die auf ein Anfangswort ω (auch Axiom genannt) n-mal angewandt werden. Die Produktionen ordnen dabei maximal einem Zeichen ohne Beachtung des Kontextes ein Wort zu. Wird für ein Zeichen keine Regel angegeben, wird im Allgemeinen die Identität als triviale Ersetzung des Zeichens durch sich selbst angenommen.

Beispiel für Systeme ohne Speicher

Kochsche Schneeflocke

Viele der bekannteren Fraktale, wie das Sierpinski-Dreieck oder die Koch-Kurve, können mittels L-Systemen über dem Alphabet V={F}, S={+,-} dargestellt werden. Es gibt nur eine einzige Ersetzungsregel für das Symbol F. Im Artikel Fraktal sind einige Beispiele aufgelistet. So hat das Kochsche Schneeflockenfraktal das Startwort ω=F--F--F und die Ersetzungsregel P={(F → F+F--F+F)}.

Zur Interpretation eines solchen L-Systems mittels Turtle-Grafik benötigt man einen Stauchungsfaktor s<1 und einen Winkel a. Mittels des Stauchungsfaktors wird die Weglänge bei Rekursionstiefe n als sn bestimmt. Die Schildkröte besitzt keinen Speicher und führt die Symbole des Alphabets als folgende Kommandos sofort aus

Drachenkurve
  • F : Bewegung nach vorn um Länge sn und Zeichnung
  • + : Drehung nach links, gegen Uhrzeigersinn, um den Winkel a
  • - : Drehung nach rechts, im Uhrzeigersinn, um den Winkel a

Der Winkel a und der Faktor s sollten so abgestimmt sein, dass F mit Streckenlänge 1 und das Ersetzungswort von F zur Streckenlänge s bei gleichem Ausgangspunkt ebenfalls einen gemeinsamen Endpunkt haben.

Einige Fraktale wie die Drachenkurve benötigen zwei Ersetzungsregeln, als variablen Teil des Alphabets wählt man z. B. V={R,L} und legt für dieses Beispiel ω=R und P={(R → +R--L+), (L → -R++L-)} fest. Beide Symbole werden in der Darstellung wie F behandelt, d. h. als zeichnenden Schritt nach vorn.

Man kann diese Art der Hinzunahme von Ersetzungsregeln beliebig steigern, oder auch weitere Symbole mit anderen Aktionen definieren:

  • f : Bewegung nach vorn um Länge sn ohne Zeichnung, variables Symbol,
  • | : Drehung um 180 Grad, konstantes Symbol

Beispiel für Systeme mit Speicher

Es wird ein LIFO-Stack für Koordinatensysteme eingeführt. Jede Koordinatentransformation besteht aus einer Drehung, die durch einen Winkel parametrisiert werden kann, und einer Verschiebung. Das Alphabet wird um die konstanten Symbole [ und ] erweitert, welche folgende Bedeutung haben:

  • [ : Lege das aktuelle Koordinatensystem auf dem Stack ab
  • ] : Stelle das oberste Koordinatensystem des Stacks als aktuelles wieder her.

Innerhalb eines Klammerpaars kann also ein im Leeren endender Zweig gezeichnet werden. Diese Möglichkeit wurde zur Darstellung fraktaler Bäume eingeführt.

Kontext-sensitive L-Systeme

Im Unterschied zu kontext-freien L-Systemen werden bei den Produktionen auch die Zeichen oder Zeichenfolgen vor oder nach dem zu ersetzenden Zeichen betrachtet. Dabei werden die Kontextbedingungen üblicherweise so notiert, dass der linke Kontext durch < vom zu ersetzenden Zeichen abgetrennt wird, und der rechte Kontext entsprechend durch >.

Beispiel: Zeichensatz = { a, b }; Produktionen = { b < a → b, b > b → a }; ω = {baaa} (ist also links von a ein b, wird das a durch b ersetzt. Analog wird ein b zu a, wenn rechts davon ein b steht.)

n=0 → baaa
n=1 → abaa
n=2 → aaba
etc.

Parametrische L-Systeme

Im Rahmen der parametrischen L-Systeme werden zusätzlich zu einzelnen Zeichen auch den Zeichen zugeordnete Ziffern betrachtet. Diese Parameter lassen sich nicht nur explizit in den Produktionsregeln verändern, sondern man kann auch konditionale Produktionen erstellen, die nur greifen, wenn bestimmte Bedingungen erfüllt sind, ähnlich den kontext-sensitiven L-Systemen. Beispiel: Sei F(l) ein Ast der Länge l. Die Produktionen F(l) : l<10 → f(l+1) und F(l) : l ≥ 10 → F(i+1)F(1) lassen den Ast nun wachsen und ab einer bestimmten Länge (l=10) neue Äste entstehen.

Siehe auch

Literatur

  • Henning Fernau: Iterierte Funktionen, Sprachen und Fraktale, B. I. Wissenschaftsverlag, Mannheim, 1994.
  • Grzegorz Rozenberg und Arto Salomaa: The Mathematical Theory of L-Systems, Academic Press, New York, 1980.
  • Przemyslaw Prusinkiewicz and Aristid Lindenmayer: The Algorithmic Beauty of Plants, Springer Verlag, New York, 1990.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • system — sys‧tem [ˈsɪstm] noun [countable] an arrangement or organization of ideas, methods, or ways of working: • Deregulation has created worries about the stability of the country s financial system. • All staff will benefit from a well run… …   Financial and business terms

  • System Shock 2 — Developer(s) Irrational Games Looking Glass Studios Publisher(s) Electronic Arts …   Wikipedia

  • System — (from Latin systēma , in turn from Greek polytonic|σύστημα systēma) is a set of interacting or interdependent entities, real or abstract, forming an integrated whole. The concept of an integrated whole can also be stated in terms of a system… …   Wikipedia

  • System 256 — System 246 Le System 246 est un système de jeux vidéo destiné aux salles d arcade, basé sur la PlayStation 2. Il a été créé par la société Namco en 2001. Un System 246 …   Wikipédia en Français

  • System of systems — is a moniker for a collection of task oriented or dedicated systems that pool their resources and capabilities together to obtain a new, more complex, meta system which offers more functionality and performance than simply the sum of the… …   Wikipedia

  • System i — Modell 570 mit Power 6 Prozessoren (Oktober 2007) i5 Modell 570 (2006) Syst …   Deutsch Wikipedia

  • System i5 — System i Modell 570 mit Power 6 Prozessoren (Oktober 2007) i5 Modell 570 (2006) System i (frühere Namen AS/400 oder eServer iSeries oder System i5) ist eine Computer Baureihe der Firma IBM. IBMs Systeme …   Deutsch Wikipedia

  • System of a Down — au Download Festival en mai 2005. Pays d’origine …   Wikipédia en Français

  • System Shock 2 — Разработчики Irrational Games Looking Glass Studios Изда …   Википедия

  • System Of A Down — 2005 beim Download Festival Gründung 1995 Genre Alternative Metal Website …   Deutsch Wikipedia

  • System of a down — 2005 beim Download Festival Gründung 1995 Genre Alternative Metal Website …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”