Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2010 - Winfried Kurth PowerPoint Presentation
Download Presentation
Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2010 - Winfried Kurth

Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2010 - Winfried Kurth

118 Views Download Presentation
Download Presentation

Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2010 - Winfried Kurth

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2010 - Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik 7. Vorlesung: 10. 6. 2010

  2. zuletzt: • stochastische Ausbreitungsmodelle • kontextsensitive L-Systeme • Interpretationsregeln

  3. als nächstes: • Graphen als mathematische Grundstruktur • topologische Analyse von Verzweigungsstrukturen • Graph-Ersetzungsregeln • zwei Regeltypen: L-System- und SPO-Regeln

  4. Der Schritt zu Graph-Grammatiken Nachteil 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

  5. Ein Graph: eine Art, Daten zu organisieren • Def.: eine Menge von Knoten, (teilweise) verbunden durch (gerichtete) Kanten (Relationen). T T T I I I Kantentypen (Relationen): Nachfolgerbeziehung Verfeinerungsbeziehung Knoten T I (T = Trieb, I = Internodium)

  6. Eine Zeichenkette (string): ein sehr einfacher Graph • Eine Zeichenkette kann man als 1-dimensionalen Graphen mit nur einem Kantentyp auffassen • Nachfolger-Kanten (successor relation) A A B C A A B C A

  7. Finden Sie so eine Struktur irgendwo im realen Leben wieder? R S S S S S S S S S S S S S B B B B B B B B B B B B B B B B B B B B B B B B B B B

  8. vielleicht jetzt? Bud Shoot Bud Bud Shoot Shoot Shoot Shoot Bud Bud Bud Bud Bud Bud Bud Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Bud Bud Bud Bud Bud Bud Bud Bud Root

  9. es handelt sich um einen Baum. Bäume sind spezielle Graphen. 4 • 3 Knotentypen • Wurzelkompartiment • Jahrestriebe • Knospen 3 2 • 2 Kantentypen • Nachfolgerrelation (selbe Achse) • Verzweigungsrelation (neue Achse) 1

  10. zugrundeliegendes Teilgebiet der Mathematik: Topologie

  11. zwei isomorphe Graphen:

  12. dichotom Fischgräten

  13. nun werden die Graphen zeitlich veränderlich gemacht! Graph-Grammatik (Beispiel) Regel:

  14. Graph-Grammatik (Beispiel) Regel: Anwendung: hier nicht anwendbar! (falscher Kantentyp)

  15. Eine relationale Wachstumsgrammatik (RGG)* (spezieller Typ von Graph-Grammatik) enthält: * relational growth grammar • ein Alphabet • die Definition aller erlaubten • Knotentypen • Kantentypen (Typen von Relationen) • das Axiom • ein initialer Graph, der aus Elementen des Alphabets zusammengesetzt ist • eine Menge von Graphersetzungsregeln.

  16. Erinnern Sie sich? Bud Shoot Bud Bud Shoot Shoot Shoot Shoot Bud Bud Bud Bud Bud Bud Bud Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Shoot Bud Bud Bud Bud Bud Bud Bud Bud Bud Root

  17. Eine relationale Wachstumsgrammatik enthält: Root Shoot Bud Nachfolger Verfeinerung Root Shoot Bud • ein Alphabet • die Definition aller erlaubten • Knotentypen • Typen von Relationen • das Axiom • ein initialer Graph, der aus den Elementen des Alphabets zusammengesetzt ist • eine Menge von Graphersetzungsregeln

  18. Was sind nun diese Graphersetzungsregeln(RGG-Regeln) ? und wie wendet man sie an?

  19. Graphersetzungsregeln sind • Regeln für die Transformation eines Graphen (Teilgraphen) in einen anderen Graphen. • eine Regel besteht im wesentlichen aus: • linker Regelseite ==> rechter Regelseite

  20. Wie eine RGG-Regel angewandt wird • jede linke Regelseite beschreibt einen Teilgraphen (ein Muster aus Knoten und Kanten, das im Gesamtgraphen gesucht wird), welches ersetzt wird bei der Regelanwendung. • jede rechte Regelseite definiert einen neuen Teilgraphen, der als Ersatz für den entfernten Teilgraphen eingefügt wird.

  21. einfaches Beispiel mit Zeichenkette • Jedes Vorkommen des in der linken Regelseite definierten Teilgraphen wird ersetzt! A B C A C wird ersetzt durch A D D B C D C 2 Regelanwendungen im selben Zeitschritt.

  22. eine vollständige RGG-Regel kann 5 Teile enthalten: (* Kontext *), Linke Regelseite, ( Bedingung ) ==> Rechte Regelseite { imperativer XL-Code }

  23. Kontext-Beispiel (* Kontext *), Linke Regelseite, (Bedingung) ==> Rechte Regelseite { imperativer XL-Code } Beispiel: A B C A C *) (* wird ersetzt durch A B D D C A B C

  24. Bedingungs-Beispiel (* Kontext *), Linke Regelseite, ( Bedingung ) ==> Rechte Regelseite{ imperativer XL-Code } Beispiel: A B C A C ( a[length] > 10 ) wird ersetzt durch D a:A B D C A C 2 mögliche Ergebnisse, abhängig vom aktuellen Längenparameter des A-Knotens A B C A C

  25. RELATIONALE WACHSTUMSGRAMMATIKEN (RGG: Relational Growth Grammars, parallele Graph-Gramm.) Zusammenfassung: Aufbau einer Regel einer RGG

  26. RGG als Verallgemeinerungen von L-Systemen: Zeichenketten entsprechen speziellen Graphen In Textform schreiben wir allgemeine (selbstdefinierte) Kanten als -kantensorte-> Kanten des speziellen Typs "Nachfolger" werden meist als Leerzeichen geschrieben (statt -successor->)

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

  28. 2 Regeltypen für Graph-Ersetzungsregeln in XL: ● L-System-Regel, Symbol: ==> sorgt für Einbettung der rechten Seite in den Graphen (d.h. ein- und ausgehende Kanten werden beibehalten) ●SPO-Regel, Symbol: ==>> Ein- und ausgehende Kanten werden gelöscht (sofern ihre Beibehaltung nicht explizit in der Regel angegeben wird) „SPO“ von „single pushout“ - ein Fachbegriff aus der universellen Algebra

  29. Beispiel: a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A Ausgangs-graph: A B C

  30. a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A A B C D E A

  31. a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A A B C a: D E A

  32. a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A A D E A a: = Endergebnis C

  33. Testen Sie das Beispiel sm09_b27.rgg : module A extends Sphere(3); protected void init() [ Axiom ==> F(20, 4) A; ] public void runL() [ A ==> RU(20) F(20, 4) A; ] public void runSPO() [ A ==>> ^ RU(20) F(20, 4, 5) A; ] (^ bezeichnet den Wurzelknoten im aktuellen Graphen)

  34. Hausaufgabe zum 15. 6. (Dienstag, 9:15 Uhr): • Frischen Sie Ihre Kenntnisse zum dtd-Code wieder auf • (siehe Teil 1 des Folienskripts) • - Studieren Sie auf der „Grogra-CD“ (http://elan.forst.uni-goettingen.de/grogracd/index.htm) den Abschnitt „Vom Messen zum Modell“ (ohne den Unterabschnitt „Umsetzen“).