Romanesco-Blumenkohl

Ähnliche Dokumente
Biograe Grundlagen Arten Anwendung Problem. L-Systeme. Fabian Trattnig, Georg Messner, Benedikt Huber. 25. Jänner 2008

Fraktale und Lindenmayer-Systeme Zusammenfassung des Vortrages

11.1 Kontextsensitive und allgemeine Grammatiken

Ökosystemanalyse am Beispiel des Kohlenstoffkreislaufes (OG.1)

Rekursiv aufzählbare Sprachen

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Theorie der Informatik

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

2.4 Kontextsensitive und Typ 0-Sprachen

Berechenbarkeit und Komplexität

FRAKTALE GEOMETRIE SS DEISSLER Lindenmayersysteme Einführung-2000.doc. Lindenmayer-Systeme. Das Programm L-Sys. R.Deißler

7. Formale Sprachen und Grammatiken

(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)

Programmiersprachen und Übersetzer

2 Selbstähnlichkeit, Selbstähnlichkeitsdimension

Theoretische Informatik Testvorbereitung Moritz Resl

Die Chaostheorie und Fraktale in der Natur

Automaten, Spiele und Logik

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Automaten, Spiele, und Logik

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Automaten und Formale Sprachen

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

L-Systeme nicht sensitive Bäume

6 Kontextfreie Grammatiken

Modellieren von Natur

Sprachen/Grammatiken eine Wiederholung

2.11 Kontextfreie Grammatiken und Parsebäume

Formale Sprachen und Grammatiken

Grammatiken und ANTLR

Adaptive Systeme. Sommersemester Prof. Dr. -Ing. Heinz-Georg Fehn. Prof. Dr. rer. nat. Nikolaus Wulff

Vorlesung Theoretische Informatik

2. Schriftliche Leistungskontrolle (EK)

Martin-Anderson-Nexö-Gymnasium, Dresden

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Theoretische Informatik I

Induktive Definitionen

Theoretische Grundlagen der Informatik

Kapitel 8. Rekursionsgleichungen. Landau-Symbole. Lösen von Rekursionsgleichungen Allgemeines Iterationsmethode Spezialfälle Erzeugende Funktionen

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Theoretische Informatik 2

Ein Anforderungskatalog für die Gestaltung von Laubbäumen in 3D

Grundbegriffe der Informatik

Theoretische Grundlagen des Software Engineering

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Ausgewählte unentscheidbare Sprachen

Reguläre Ausdrücke. Karin Haenelt

ε δ Definition der Stetigkeit.

Grundbegriffe der Informatik

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Jeweils am Montag um 18:30 treffen sich Studenten in Seminarraum 3 zum gemeinsamen Lernen.

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

27 Taylor-Formel und Taylor-Entwicklungen

Schwach kontextsensitive Grammatikformalismen

2 Euklidische Vektorräume

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

3 Reihen. 3.1 Konvergenz und Divergenz. Die Eindeutigkeit nach Satz 13 ergibt schließlich (5). (6) folgt aus (2) und (1) wegen. 1 a +log ba.

7.8. Die Regel von l'hospital

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.

Mathematik 1 für Wirtschaftsinformatik

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Lösungsvorschläge Blatt 4

Informatik I WS 07/08 Tutorium 24

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

2. Fraktale Geometrie

Kunst und Wissenschaft

8. Turingmaschinen und kontextsensitive Sprachen

Einführung in die Physik I. Schwingungen und Wellen 1

Lösung zur Klausur. Grundlagen der Theoretischen Informatik. 1. Zeigen Sie, dass die folgende Sprache regulär ist: w {a, b} w a w b 0 (mod 3) }.

Theoretische Informatik I

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Aufgabentypen die in der Klausur vorkommen

Rekursionen (Teschl/Teschl )

Rhetorik und Argumentationstheorie.

Analysis I - Stetige Funktionen

11. Folgen und Reihen.

DEUTSCHE SCHULE MONTEVIDEO BIKULTURELLES DEUTSCH-URUGUAYISCHES ABITUR ( AUF SPANISCH )

Didaktik der Mathematik der Sekundarstufe II

Wenn man eine Folge gegeben hat, so kann man auch versuchen, eine Summe. a 0 + a 1 + a 2 +

Dynamische Systeme eine Einführung

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Übungen zur Vorlesung MATHEMATIK II

Mathematik für Wirtschaftswissenschaftler

Beispiel: Evolution infizierter Individuen

Tutoren Simon Andermatt Lukas Beck. Alexis Peter Thomas Ritter

Haskell, Typen, und Typberechnung. Grundlagen der Programmierung 3 A. Einige andere Programmiersprachen. Typisierung in Haskell

Grundbegriffe der Informatik



Transkript:

Lindenmayer-Systeme

Romanesco-Blumenkohl

Selbstähnlichkeit der Struktur

Fraktale

Fraktale: Beispiel Kochkurve Erzeugung durch Rekursion: initiator Ersetzung jeder Strecke durch den Generator generator

Fraktale: Beispiel Kochkurve Geometrische Betrachtung: (4/3)-fachung der Länge

Fraktale: Beispiel Kochkurve Geometrische Betrachtung: Somit ist die Länge der unvollständigen Kurve nach n Rekursionsschritten: 4 n L(n)=( ) 3 Länge des Fraktals: unendlich

Fraktale: Beispiel Kochkurve Bestimmung der fraktalen Dimension: Überlagerung mit Gitter: ε Gitterbreite N(ε) Anzahl der Treffer Zerlegung der Kurve in N(ε) Teile d = 1: N ( ε)= g ε d = 2: N ( ε)= g 2 ε allgemein: N ( ε)= l d ε

Fraktale: Beispiel Kochkurve Bestimmung der Fraktalen -Dimension: N ( ε)= l d ε d =lim ε 0 nach d umgeformt: d= log( N (ε)) 1 log ( ) ε log( N (ε)) 1 log ( ) ε Für Fraktale muss dieser Wert nicht zwingend ganzzahlig sein.

L-Systeme

fact sheet: LSysteme 1968: Aristid Lindenmayer - Pflanzenmodelierung Ersetzungssysteme auf string-basis ähnlich zu BNR-Form/formale Sprachen

Unterschiede: L-Systeme zu kontextfreie Sprachen Terminalsymbole nicht zwingend ( weitere Iteration) keine sequentielle Anwendung der Produktionen sondern: Parallele Anwendung

DOL-Systeme

Deterministische Kontextfreie L-Systeme

Wachstum der Anabaena catenula

L-Systeme: formale Definition V sei ein Alphabet, V* alle Wörter aus V, V+ alle nichtleeren Wörter aus V. Ein DOL-System ist ein Tripel G = (V, ω, P) mit: V das System des Alphabets, ω V+ das Axiom oder Initiator P V V* ist die Menge der Produktionen a V ohne Produktion: Identitätsproduktion angenommen Somit: L(DOL-Systeme) L(Kontextfreie Grammatiken) Sei μ = a1 am V* Dann ist ν = χ1... χm V direkt von μ abgeleitet, gdw. ai für χi alle i = 1,..., m.

Biologisches Wachstum durch L-Systeme Anabaena: entweder groß oder klein wächst nach links oder rechts

Algenwachstum durch L-Systeme A = (V, ω, P) mit: V = {Gl,Gr,Kl,Kr} Alphabet ω = Gr Axiom/Initiator P: Ersetzungsregeln Gl KlGr Zelldivision l G r Gl K r Zelldivision r Kl Gl Zellwachstum l Kr Gr Zellwachstum r

Algenwachstum durch L-Systeme Axiom als Anfang 0: 1: 2: 3: Gr Kl Gr Gl K l Gr Gl Kr Gl Kl Gr Grafische Darstellung: Gl K l Gr Gr GlKr Kl G l Kr G r

Fraktale durch L-Systeme K = (V, ω, P) mit: V = {F, +, -} Alphabet ω=f Axiom/Initiator P: Ersetzungsregeln F F+F-F+F

Fraktale durch L-Systeme Axiom als Anfang F K0 parallele Anwendung der Erzeugungsregeln (F) + (F) - (F) + (F) K1 parallele Anwendung der Erzeugungsregeln (F + F - F + F) + (F + F - F + F) - (F + F - F + F) + (F + F - F + F) K2

Fraktale durch L-Systeme Im Gegensatz zur kontextfreien Sprachen: (F) + (F) - (F) + (F) keine selektive Anwendung Falsch: (F + F - F + F) + (F) - (F) + (F + F - F + F)

Fraktale durch L-Systeme grafische Interpretation des strings Turtle-Grafik: dressierte Schildkröte Bei F: Nach vorne bewegen Bei -: um δ nach rechts drehen Bei F: Nach vorne bewegen Bei +: um δ nach links drehen Bei f: Nach vorne bewegen ohne Zeichen

Fraktale durch L-Systeme Turtle-Grafik von F + F - F + F mit δ = 60

Fraktale durch L-Systeme Turtle-Grafik von F + F - F + F mit δ = 60 n = 2, mit kleineren Liniengrößen

Modellierung durch L-Systeme Wie konstruiert man ein L-System für eine gewünschte Struktur oder einen gewünschten Wachstumsprozess? inference problem der L-System-Theorie Ansätze für algorithmische Lösung spez. Probleme, aber nicht gut genug für Pflanzenmodellierung Anderer Ansatz: Intuition

space-filling, self-avoiding, simple and self-similar: FASS-Kurven

FASS-Kurven Endliche, selbst-ausweichende Annäherungen an Kurven, die alle Punkte eines Quadrats ausfüllen. Zwei Ansätze für erleichterte FASS-Konstruktion: Kantenersetzung Knotenersetzung

FASS-Kurven: Kantenersetzung Fl Fr

FASS-Kurven: Knotenersetzung Bei einer Produktion werden an den Knoten der Vorgängerkurve Polygone eingefügt, die selber Knoten haben, die ersetzt werden können

FASS-Kurven: Beispiele Kantenersetzung

FASS-Kurven: Beispiele

FASS-Kurven: Beispiele

FASS-Kurven: Beispiele Knotenersetzung

FASS-Kurven: Beispiele

FASS-Kurven: Beispiele

Verzweigende Strukturen

Bäume

Bäume F+F+F FF F+F FF+ F F Resultat wäre: nicht gewollt

Bäume: geklammerte OL-Systeme F [+ F [+ F] F] F [ F [+ F] [ F]] F [+ F] F Einführung der Positionsspeicherung: [ = push Position & Orientierung auf stack ] = pop Position & Orientierung von stack

geklammerte OL-Systeme: Beispiele

geklammerte OL-Systeme: Beispiele

stochastische L-Systeme

stochastische L-Systeme Problem: deterministisch generiert immer das selbe Lösung: Randomisierung der Produktionen

stochastische L-Systeme: Definition Ein stochastisches OL-System ist ein Vier-Tupel Gπ = (V, ω, P, π) mit: V, ω, P wie in DOL-Systemen, π : P (0,1], genannt die Wahrscheinlichkeitsverteilungsfunktion Für jedes a V sei die Summe aller Produktionswahrscheinlichkeiten gleich 1. Beispiel:

stochastische L-Systeme: Beispiel Beispiel:

kontextsensitive L-Systeme

kontextsensitive L-Systeme: IL-Systeme

IL-Systeme: Notwendigkeit Umgebung für Pflanzenwachstum relevant: Nährstoff- oder Hormonfluss Wachstumsprozesse: Blatt- und Blütenbildung

IL-Systeme: Typen 1L-Systeme: Produktionen sehen wie folgt aus: al < a b (a wird nur mit b ersetzt, wenn es auf al folgt) oder a > ar b (analog zu oben)

IL-Systeme: Typen 1L-Systeme: al < a b 2L-Systeme: al < a > ar b OL-, 1L- und 2L-Systeme sind Teil der größeren Menge der IL-Systeme, auch (k,l)-systeme genannt, deren linker Kontext k-lang und deren rechter Kontext l-lang ist.

IL-Systeme: Definition Ein (k,l)l-system (kurz: IL-System) ist ein Tripel G = (V, ω, P) mit: V, ω wie in DOL-Systemen Die Produktionsregeln von P sind in der Form: al a ar al b ar, wobei al = k und ar = l Die Identitätsproduktion wird verwendet, wenn in P keine Produktion vorhanden ist. Kontextsensitive Produktionen haben Vorrang vor Produktionen, deren al = 0 und ar = 0.

IL-Systeme: Beispiele #ignore: + ω : baaaaaaaa ω : Fb [+ Fa ] Fa [ - Fa ] Fa [ + Fa ] Fa p1: b< a b p 1: p2 : b a baaaaaaaa abaaaaaaa aabaaaaaa aaabaaaaa... F b < Fa F b

IL-Systeme: Beispiele #ignore: + ω : baaaaaaaa ω : Fb [+ Fa ] Fa [ - Fa ] Fa [ + Fa ] Fa p1: b< a b p 1: p2 : b a baaaaaaaa abaaaaaaa F b < Fa F b akropetaler Signaltransfer aabaaaaaa Gegensatz: aaabaaaaa basipetal mit... F a > Fb F a

IL-Systeme: Beispiele

Wachstumsfunktion

L-Systeme: Wachstumsfunktion 1. Produktion: Verästelung 2. Produktion: Linienverdoppelung

L-Systeme: Wachstumsfunktion Länge des von (f) erzeugten Wortes wn in Abhängigkeit von n: wn = 2n

L-Systeme: Wachstumsfunktion Allgemeiner Ansatz: G = (V, ω, P) sei ein DOL-System mit V = {a1, a2,, am} Qm m ist die Matrix, in der der Eintrag qij gleich der Anzahl an aj im Ergebnis einer Produktion mit Vorläufer ai. aki ist die Anzahl der ai im Wort x das in k Schritten in G generiert wurde. Daraus folgt: [a 1k a k2 [ ] q11 q12 q1m a km ] q21 q22 q 2m = [a k1 +1 a k2 +1 a km+ 1 ] qm1 qm2 q mm

L-Systeme: Wachstumsfunktion: Beispiel ω:a p1 : a ab p2 : b a somit: [a k k b ] [ ] 1 1 k +1 k +1 = [a b ] 1 0 daraus folgt: ak+1 = ak + bk = ak + ak-1 weiterhin gilt a0 = 1 (aus Axiom) und a1 = 0 Die Anzahl der as in dem L-System wächst demnach gleich der Fibonacci-Zahlenfolge.

parametrische L-Systeme

parametrische L-Systeme: Notwendigkeit z.b.: Streckenlänge/Wachstum eines Segments abh. v. Nähe zur Blüte Parametrisierung der Buchstaben zu Modulen Module bestehen aus Buchstaben mit asoziierten Parametern Mehrere Module ergeben ein parametrisches Wort

parametrische L-Systeme: Definition Ein parametrisches OL-System ist ein Vier-Tupel G = (V, Σ, ω, P) mit: V als Alphabet, Σ die Menge der formalen Parameter, ω (V R )+ wobei R die Menge der reellen Zahlen ist, P (V Σ ) C(Σ) (V E(Σ)) wobei c(σ) ein korrekter logischer Ausdruck auf Σ e(σ) ein korrekter arithmetischer Ausdruck C(Σ) und E(Σ) sind die Mengen aller c(σ) und e(σ)

parametrische L-Systeme: Definition (V Σ ), ein Modul wird auch als A(a1, a2,, an) geschrieben, wobei A V und a1, a2,..., an Σ sind. Die Ableitungen sehen so aus: A(x) : x > 9 B(t+1)CD( t * 0,5, t 2) A(x) wird druch B(t+1)CD( t * 0,5, t 2) ersetzt, wenn x > 9 gilt

parametrische L-Systeme: Beispiel ω p1 p2 p3 p4 : B(2)A(4, 4) : A(x, y) : (y <= 3) A(x 2, x + y) : A(x, y) : (y > 3) B(x)A(x/y, 0) : B(x) : (x < 1) C : B(x) : (x >= 1) B(x 1)

parametrische L-Systeme: Anwendung Anabaena catenula: Heterocysten-Bildung

parametrische L-Systeme: Anabaena catenula again #define CH 900 /* high concentration */ #define CT 0.4 /* concentration threshold */ #define ST 3.9 /* segment size threshold */ #include H /* heterocyst shape specification */ #ignore f H ω : -(90)F(0,0,CH)F(4,1,CH)F(0,0,CH) p1 : F(s,t,c) : t=1 & s>=6 F(s/3*2,2,c)f(1)F(s/3,1,c) p2 : F(s,t,c) : t=2 & s>=6 F(s/3,2,c)f(1)F(s/3*2,1,c) p3 : F(h,i,k) < F(s,t,c) > F(o,p,r) : s>st c>ct F(s+.1,t,c+0.25*(k+r-3*c)) p4 : F(h,i,k) < F(s,t,c) > F(o,p,r) :!(s>st c>ct) F(0,0,CH) H(1) p5 : H(s) : s<3 H(s*1.1)