72
Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur-Funktions-Modelle von Pflanzen mit 3D-Grafik- Komponente http://www.grogra.de

Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Embed Size (px)

Citation preview

Page 1: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Relationale Wachstumsgrammatikenund GroIMP:

Spezifikation multiskalierter Struktur-Funktions-Modelle von Pflanzen mit 3D-Grafik-Komponente

http://www.grogra.de

Page 2: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Pflanzenmodelle: bisherige Ansätze in der Biologie

(a) Prozessmodelle

- Einheiten: Stoffpools in Kompartimenten

- Flüsse zwischen den Pools

- Umweltfaktoren

Beispiel:

Modell der Ozon-wirkung

(Martin et al. 2000)

Page 3: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel: TREEDYN (Bossel 1994, Jansen et al. 1995)

Page 4: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Prozessmodelle – Nachteile:

• mangelhaft repräsentierte räumliche Struktur

• Parameterfitting, bei großen Modellen zu viele Freiheitsgrade

• keine Repräsentation der Objekte, mit denen der Pflanzenzüchter / Botaniker / Agronom arbeitet

(b) Strukturmodelle

- Einheiten: Organe / Module der Pflanze (botanisch sinnvolle und visualisierbare Einheiten!)

- Konkurrenzeffekte (Licht, Raum, Bodenressourcen) ergeben sich (z.T.) aus dem Modell

- Parameter überschaubar, messbar

Page 5: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Strukturmodelle – Beispiele:

L-System-basierte Modelle(siehe später)

Prusinkiewicz & Lindenmayer 1990

Kurth 1998, 1999

Page 6: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Lane & Prusinkiewicz 2002

Page 7: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

AMAP (de Reffye et al., seit 1976, CIRAD, Montpellier):Atelier de la Modélisation de l'Architecture des Plantes

- modelliert die Aktivität von Meristemen

- entwickelt in enger Zusammenarbeit von Informatikern und Biologen

- weiterentwickelt über die letzten 25 Jahre: Aufnahme neuer Ideen (Markoffketten-Modelle, Referenzachse, Kohlenstoff-Allokations-Modelle...)

- verschiedene, divergierende Software-Systeme für verschiedene Zwecke

Page 8: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente
Page 9: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

XFROG (Deussen & Lintermann):

• interaktives System zur Pflanzenmodellierung, das sich am Szenengraphen-Konzept orientiert

• botanisch nur schwach fundiert, keine Wachstumsmodellierung

• aber grafisch zufriedenstellende Ergebnisse

• hohe Form-Flexibilität

Page 10: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Strukturmodelle – Nachteile:

• keine (oder wenig) Berücksichtigung der funktionalen Aspekte von Pflanzen

• kein Stoffhaushalt, keine Kopplung mit niedrigen Skalenebenen

Page 11: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

(c) aggregierte Modelle (statistische Modelle)

Beschreibung eines Kollektivs (räumlich / zeitlich) mit Mitteln der Statistik (Momente, Korrelation, Regressionsrechnung etc.)Beispiel: Modell der Blattstreckung bei Gerste (Buck-Sorlin 2004)

Logistische Sigmoidfunktion mit 3 Parametern

ya

x

x

b

1

0

Page 12: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

"Modell-Dreieck":

Page 13: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Struktur-Funktions-Modelle von Pflanzen(Functional-structural plant models, FSPM):

Verbindung der beiden unteren Ecken des Dreiecks

Vorgehensweise: Verteilung der Prozesse auf die ModuleHilfsmittel: OOP

aus Breckling (1996)

Page 14: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel ALMIS

(Eschenbach 2000)

Page 15: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel LIGNUM (Perttunen et al. 1996, 1998, Dzierzon 2000; METLA 2006)

Page 16: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Nachteile bisheriger ad hoc - FSPMs:

Einzellösungen, oft stark spezialisiert

umfangreicher, komplexer Quellcode, der technische Einzelheiten gemischt mit fundamentalen Modellstrukturen enthält

Page 17: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

geringe Kompatibilität der Modelle

Page 18: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente
Page 19: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

?

Page 20: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

• in bisherigen Struktur-Funktions-Modellen wird oft nur 1 Konkurrenzfaktor, bzw. 1 funktionaler Aspekt behandelt

Ziel: "Metasprache" für alle Typen von Pflanzenmodellen – Wachstumsgrammatik

- Verbesserung der Transparenz,

- der Vergleichbarkeit und Kombinierbarkeit von Modellen,

- der Reproduzierbarkeit der Ergebnisse

- zusätzlich: Kompatibilität mit leistungsfähigen Grafik-Tools

Page 21: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

klassisches Simulationsprogramm

Page 22: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

klassisches Simulationsprogramm Interpreter fürWachstumsgrammatiken

Page 23: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

erster Ansatz: L-Systeme (Lindenmayer-Systeme) dafür verwenden

analog zu Grammatiken für natürliche Sprachen

in jedem Ableitungsschritt parallele Ersetzung aller Zeichen, auf die eine Regel anwendbar ist

von A. Lindenmayer (Botaniker) 1968 zur Modellierung des Wachstums von fadenförmigen Algen eingeführt

Page 24: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

mathematisch:

Ein L-System ist ein Tripel (, , R); darin ist:

eine Menge von Zeichen, das Alphabet,

eine Zeichenkette mit Zeichen aus , das Startwort (auch "Axiom"),

R eine Menge von Regeln der Form

Zeichen Zeichenkette;

darin sind das Zeichen auf der linken Regelseite und die Zeichenkette aus entnommen.

Page 25: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Ein Ableitungsschritt (rewriting) einer Zeichenkette besteht aus der Ersetzung aller Zeichen in , die in linken Regelseiten von R vorkommen, durch die entsprechenden rechten Regelseiten.

Man vereinbart: Zeichen, auf die keine Regeln anwenbar sind, werden unverändert übernommen.

Ergebnis zunächst nur:

Ableitungskette von Wörtern, die sich durch wiederholte Anwendung des rewriting-Vorgangs aus dem Startwort ergeben.

1 2 3 ....

Page 26: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel:

Alphabet {A, B}, Startwort A

Regelmenge R:

A B

B AB

Ableitungskette:

A B AB BAB ABBAB BABABBAB

ABBABBABABBAB BABABBABABBABBABABBAB

...

wie lang ist die n-te Zeichenkette in dieser Ableitung?

Page 27: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

was für die Modellierung von räumlichen Strukturen noch fehlt:

eine geometrische Interpretation

Füge also zur Def. eines L-Systems hinzu:

eine Abbildung, die jeder Zeichenkette mit Zeichen aus eine Teilmenge des 3-dimensionalen Raumes zuordnet

Page 28: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

was für die Modellierung von räumlichen Strukturen noch fehlt:

eine geometrische Interpretation

Füge also zur Def. eines L-Systems hinzu:

eine Abbildung, die jeder Zeichenkette mit Zeichen aus eine Teilmenge des 3-dimensionalen Raumes zuordnet

dann: "interpretierte" L-System-Abarbeitung

1 2 3 ....

S1 S2 S3 ....

S1, S2, S3, ... können als Entwicklungs- oder Entwurfsstufen

eines Objekts interpretiert werden.

Page 29: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Als Interpretationsabbildung wird meistens gewählt:

Turtle geometry ("Schildkrötengeometrie")

befehlsgesteuertes, lokales Navigieren im 2D- oder 3D-Raum (Abelson & diSessa 1982; vgl. Programmier-sprache "LOGO")

Page 30: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Als Interpretationsabbildung wird meistens gewählt:

Turtle geometry ("Schildkrötengeometrie")

befehlsgesteuertes, lokales Navigieren im 2D- oder 3D-Raum (Abelson & diSessa 1982; vgl. Programmier-sprache "LOGO")

"Turtle": Zeichen- oder Konstruktionsgerät (virtuell)

- speichert (grafische und nicht-grafische) Informationen

- mit einem Zustandsspeicher assoziiert (wichtig für Verzweigungen)

- aktueller Zustand der Turtle enthält z.B. Information über aktuelle Liniendicke, Schrittweite, Farbe, weitere Eigenschaften des als nächstes zu konstruierenden Objekts

Page 31: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Der Turtle-Befehlsvorrat wird zu einer Untermenge der Zeichenmenge des L-Systems. Symbole, die nicht Turtle-Befehle sind, werden von der Turtle ignoriert.

Befehle (Auswahl):

F0 "Forward", mit Konstruktion eines Elements (Linienstück, Segment, Gebäudetrakt...), benutzt wird die aktuelle Schrittweite für die Länge

(die Null steht für "keine explizite Längenfestlegung")

M0 forward ohne Konstruktion (Move-Befehl)

L(x) ändere die aktuelle Schrittweite (Länge) zu x

LAdd(x) inkrementiere die aktuelle Schrittweite um x

LMul(x) multipliziere die aktuelle Schrittweite mit x

D(x), DAdd(x), DMul(x) analog für die aktuelle Dicke

Page 32: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

RU(45) Drehung der turtle um die "up"-Achse um 45°

RL(...), RH(...) analog um "left" und "head"-Achse

up-, left- und head-Achse bilden ein rechtwinkliges, räumliches Koordinatensystem, das von der turtle mit-geführt wird

RV(x) Rotation "nach unten" mit durch x vorgegebener Stärke

was ist das Ergebnis der Interpretation der Zeichenkette

L(10) F0 RU(45) F0 RU(45) LMul(0.5) F0 M0 F0 ?

Page 33: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Wiederholung von Abschnitten der Zeichenkette möglich mit dem Schlüsselwort "for"

z.B. for ((1:3)) ( A B C )

liefert A B C A B C A B C

was ist das Ergebnis der Interpretation von

L(10) for ((1:6)) ( F0 RU(90) LMul(0.8) ) ?

Page 34: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Verzweigungen: Realisierung mit Speicher-Befehlen

[ lege aktuellen Zustand auf Speicher ("Ablage")

] nimm obersten Zustand von der Ablage und mache diesen zum aktuellen Zustand (damit: Ende der Verzweigung)

Page 35: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel:

Regeln

a F0 [ RU(45) b ] a ;

b F0 b ;

Startwort L(10) a

(a und b werden normalerweise nicht geometrisch interpretiert.)

(in der Abbildung wurde F statt F0 geschrieben)

Page 36: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

was für eine Struktur liefert das L-System

A [ LMul(0.25) RU(-45) F0 ] F0 B;

B [ LMul(0.25) RU(45) F0 ] F0 A;

mit Startwort L(10) A ?

Page 37: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

was für eine Struktur liefert das L-System

A [ LMul(0.25) RU(-45) F0 ] F0 B;

B [ LMul(0.25) RU(45) F0 ] F0 A;

mit Startwort L(10) A ?

äquivalente Regel:

A [ LMul(0.25) RU(-45) F0 ] F0 RH(180) A;

Page 38: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Weitere Beispiele:

Koch'sche Kurve:

L(50) RU(90) A F0;

A A LMul(0.3333); /* Skalierung */

F0 F0 RU(-60) F0 RU(120) F0 RU(-60) F0;

jedes Linienstück wird durch 4 neue Linienstücke ersetzt (3. Regel); Skalierung durch Hilfssymbol A, welches sich in jedem Schritt reproduziert und dabei jeweils einen zusätzlichen Faktor 1/3 erzeugt (2. Regel).

Das Startwort ist hier " ".

Page 39: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Ausgabe nach 6 Schritten:

Page 40: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Sierpinski-Dreieck (Realisierung als geschlossene Kurve, Verwendung von Hilfssymbol X für Insertion des inneren Dreiecks):

L(50) RU(90) B F0 X F0 RU(-120) F0 F0 RU(-120) F0 F0;

F0 F0 F0;

X RU(-120) F0 X F0 RU(120) F0 X F0 RU(120) F0 X F0 RU(-120);

B B LMul(0.5);

Page 41: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Verzweigungsbeispiel:

F0 F0 [ RU(25.7) F0 ] F0 [ RU(-25.7) F0 ] F0 ;

Ergebnis nach 7 Schritten:

(Startwort L(10) F0)

Page 42: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Verzweigung, alternierende Zweigstellung und Verkürzung:

L(10) F0 A ;

A LMul(0.5) [ RU(90) F0 ] F0 RH(180) A ;

Page 43: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

welche Struktur liefert

F(10) A ;

A [ RU(-60) F(6) RH(180) A Sphere(3) ] [ RU(40) F(10) RH(180) A Sphere(3) ];

Sphere Z; ?

(F(n) liefert Linie der vorgegebenen Länge n,Sphere(n) eine Kugel mit Radius n)

Page 44: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Erweiterung des Konzepts:

Lasse reellwertige Parameter nicht nur bei Turtle-Kommandos wie "RU(45)" und "F(3)" zu, sondern bei allen Zeichen

parametrische L-Systeme

beliebig lange, endliche ParameterlistenParameter werden bei Regel-Matching mit Werten belegt

Beispiel:

Regel A(x, y) F(7*x+10) B(y/2)

vorliegendes Zeichen z.B.: A(2, 6)nach der Regelanwendung: F(24) B(3)

Parameter können in Bedingungen abgeprüft werden(Bedingungen mit Java-Syntax):

A(x, y) (x >= 17 && y != 0) ....

Page 45: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Welche Struktur wird von folgendem L-System erzeugt?

[ RU(90) M(1) RU(90) A(1) ] A(1);

A(n) F(n) RU(90) A(n+1);

Page 46: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Welche Struktur wird von folgendem L-System erzeugt?

[ RU(90) M(1) RU(90) A(1) ] A(1);

A(n) F(n) RU(90) A(n+1);

Variante:

in der zweiten Regel "RU(90)" etwa durch "RU(92)" ersetzen.

Page 47: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Nachteile von L-Systemen:• in L-Systemen mit Verzweigungen (über Turtle-Kommandos) nur 2 mögliche Relationen zwischen Objekten: "direkter Nachfolger" und "Verzweigung"     

Erweiterungen:

• Zulassen weiterer Relationstypen (beliebig wählbar)• Zulassen von Zyklen ( Graph-Grammatik)

 

Page 48: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

• Grammatik modifiziert direkt den Graphen, Umweg über String-Codierung entfällt (bzw. wird nur noch für Regel-Input gebraucht)

"relationale Wachstumsgrammatik"

Page 49: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

außerdem Nachteil der Turtle-Interpretation von L-Systemen: Segmente sind nur Zylinder, keine Objekte im Sinne der OOP

Erweiterungen:

• Knoten des Graphen können beliebige Objekte sein (auch Grafikobjekte)

• Einbettung von Code einer höheren, imperativen oder objektorientierten Programmiersprache in die Regeln (für uns: Java)

Page 50: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Relationale Wachstumsgrammatiken (RGG)

Aufbau einer Regel einer RGG:

Page 51: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

eine RGG-Regel und ihre Anwendung in grafischer Form:

Regel:

Anwendung:

Regel in Textform: i -b-> j -a-> k -a-> i = => j

Page 52: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Kanten-Markierungen repräsentieren verschiedene Artenvon Relationen:

• ist Nachfolger von

• enthält

• trägt als Seitentrieb

• codiert (genetisch)

• ist gepaart mit

• (...)

auch möglich: Darstellung von multiskalierten Strukturen

Page 53: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

RGG als Verallgemeinerungen von L-Systemen:

Zeichenketten entsprechen speziellen Graphen

In Textform schreiben wir allgemeine Kanten als -edgelabel->

Kanten des speziellen Typs "Nachfolger" werden als Leerzeichen geschrieben (statt -successor->)

Sonderformen von RGG-Regeln:

Aktualisierungsregeln ( C,(E) ::> P ): es werden nur Parameter verändert

Instanzierungsregeln: einzelne Module werden in Substrukturen expandiert, ohne Einfluss auf den nächsten Entwicklungsschritt(vgl. Multiplikator-Knoten bei XFROG)

Page 54: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Realisierung dieser Konstrukte in einer Programmiersprache:

Sprache XL (eXtended L-system language)

• RGG-Regeln in Blöcken organisiert Kontrolle der Reihenfolge der Regelanwendungen

• Turtle-Kommandos als Knoten erlaubt

• Knoten sind Java-Objekte

• Sprache Java als Rahmen für die gesamte RGG Benutzer kann Konstanten, Variablen, Klassen... definieren

Page 55: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

XL wird interpretiert von der interaktiven 3D-Plattform GroIMP (Growth-grammar related Interactive Modelling Platform)

• GroIMP stellt Objekte für die 3D-Visualisierung bereit. Diese können in XL verwendet werden (analog zur Turtle-Grafik in klassischen L-Systemen).

• GroIMP ist ein open source-Projekt; siehe

http://www.grogra.de.

Page 56: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente
Page 57: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel für RGG-Anwendung:

• Signalausbreitung in einem Netzwerk

Zellen mit zwei Zuständen (0 oder 1) – codiert als Attribut (Knoten-Markierung) "state"

nur eine RGG-Regel:

(* c1: Cell *) c2: Cell, (c1.state == 1) ==> c2(1)

grafische Darstellung der Regel:

(schattiert: Kontext)

Page 58: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Anwendung auf ein gegebenes Netzwerk:

1 2 3

Verfeinerung:Verwendung reellwertiger Zustände (für Konzentrationen...)und von Regeln, die typische Reaktionskinetiken darstellen Simulation von Reaktions- und Transportnetzwerken

Page 59: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel für Simulation eines genetischen Prozesses:

• Crossing over

Zwei homologe Chromosomenstränge, codiert als Strings mit "Nachfolger"-Relation

RGG-Regel:

Anwendung:

Alignment homologer Allele

Page 60: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Beispiel Gerstenmodell: Gibberellinsäure (GA1) steuert die Streckung der Spross-Segmente

Synthese von GA im Organismus

Page 61: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Regeln:

Substratkonzentrationen:

Cell [s:GA19] [p:GA20] [f:GA1] ::> competitiveInhibition(s, p, f, Vmax, Km, KI)

Transport:

Cell [a:GA19] -predecessor-> Cell [b:GA19] ::> { double r = C * a.concentration; a.concentration :-= r*T; b.concentration :+= r*T; }

Internodienstreckung:

i:Internode [s:GA1] ::> i.length :+= L*s.concentration*T;

prozeduralimplementiert

Page 62: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Wachstum einer Gerstenpflanze (Wildtyp)

• Blätter nicht dargestellt• Zylinder stehen für GA19-Konzentration

Page 63: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente
Page 64: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Wachstum einer Gerstenpflanze (Wildtyp)

• Blätter sichtbar• Konzentrations-Zylinder weggelassen

Page 65: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente
Page 66: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

simulierte Pflanzein gerenderter3D-Darstellung

Page 67: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Wachstum einer Gerstenpflanze: Zwerg-MutanteProduktion von GA19 gehemmt

• Blätter sichtbar• Konzentrations-Zylinder weggelassen

Page 68: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente
Page 69: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Gersten-Züchtungsmodell

mit interaktiver Auswahl der Eltern-Individuenund Simulation der Nachkommenschaft

Page 70: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente
Page 71: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Rapsmodell

(DiplomarbeitChristian Groer)

Page 72: Relationale Wachstumsgrammatiken und GroIMP: Spezifikation multiskalierter Struktur- Funktions-Modelle von Pflanzen mit 3D- Grafik-Komponente

Themen für Studien-, Diplom-, Bachelor-, Masterarbeiten:

- Ausbau von GroIMP durch Interpolationsmöglichkeiten und dynamische Animation

- Erweiterung von GroIMP durch neue Rendering-Möglich-keiten (GPU-Ausnutzung) und Funktionen zur Bilderstellung

- Einsatz von RGG zur künstlichen Evolution von Pflanzen

- Implementation von Analysetools, grafischen Editor-funktionen und Schnittstellen in GroIMP (insbes. VRML)

- Effizientes Graph-Matching für die RGG-Anwendung

- Interaktives Gerstenmodell mit Genauswahl über http-Protokoll für webbasiertes Arbeiten

- ....