L-Systeme nicht sensitive Bäume
|
|
|
- Damian Schmitz
- vor 9 Jahren
- Abrufe
Transkript
1 L-Systeme nicht sensitive Bäume Vortrag im Rahmen des Seminars Artifical Life und Multiagentsysteme bei Prof.Dr.W.Kurth von Michael Henke SS03 am
2 Gliederung Anwendungsgebiete, Mächtigkeit L-Systeme: die Grundlagen, die Arbeitsweise Turtle-Grafiken, als graphische Interpretation Erweiterungen der L-Systeme Beispiel: Zweigentwicklung Rotbuche Modellierung konkreter botanischer Objekte Wie kommt man zum L-System? Einschränkungen, Grenzen
3 Anwendungsgebiete Hauptanwendung Pflanzenmodellierung (z.b. bei Kräutern, Gräsern, Blüten, Sträuchern, Bäumen) realistische Nachbildung Selbstbeeinflussung, Umweltinteraktion Aber auch bei Webmustern, fraktaler Musik, Konfiguration von Rechnersystemen, Architektur von Gebäuden sowie Robotik Zell- und Bakterienwachstum und Ausbreitung Tierverhalten, Nahrungsaufnahme, Vermehrung
4 Aristid Lindenmayer( ) Botaniker an der University of Utrecht (NL) Suchte eine Methode zur Beschreibung von einfachen Zellorganismen (fadenförmigen Algen) 1968 erste Veröffentlichungen zum Thema Mathemathical models for cellular interactions in development PartI and II
5 L-Systeme Formalismus Spezielle Grammatiken L d (Σ, α, Ρ) Σ, das Alphabet, eine nicht leer, endliche Menge von Zeichen α, einem Startwort aus Σ+ P, eine Menge von Produktionsregeln der Form: Symbol Folge von Symbolen; P 3 Σ x Σ* anzuwenden parallel auf alle Symbole der Zeichenkette zum Zeitpunkt t in einen neue Zeichenkette zu Zeit t+1 Zeichen, auf die keine Regeln anwendbar sind, werden unverändert übernommen.
6 Beispiel Alphabet: Σ = {A, B, F, +, -} Startwort: α = A Produktionsregeln: Ρ = {(A A+FB+F), (B -FA-FB)} L-System d {{A,B,F,+,-}, A, {(A A+FB+F), (B -FA-FB)}} Generationenübergang: - beginnend bei i = 0, dem Startwort entsprechend, gemäß den Produktionsregeln
7 Ergebnis nach der 10 Iteration Drachen-Kurve (Umgebungsvariablen: n = 10; l = 1; δ = 90 )
8 Turtle-Graphik Die Spur der Bewegungen einer Schildkröte als grafische Interpretation
9 Das Turtle-Modell Ein Stift mit folgenden Eigenschaften Vektoren (2D oder 3D) eindeutigen Position P = (px, py, pz) aktuelle Richtung H = (hx, hy, hz) Methoden F.. Vorwärtsbewegung entsprechend H +,-.. Drehungen Zahlenwerte (Umgebungsvariablen) Farbe, Länge, Schreibstärke, Drehwinkel
10 Hauptmethoden einer Turtle-Klasse Vor(), Vor(s) Zurueck(), Zurueck(s) DreheRechts(), DreheRechts(δ) DreheLinks(), DreheLinks(δ) StiftHoch(), StiftRunter() SetzeXXX(x) Bewegt den Stift vorwärts, um den Defaultwert bzw. um s Bewegt den Stift rückwärts, um den Defaultwert bzw. um s Dreht den Stift nach rechts, um den Defaultwinkel bzw. um δ Dreht den Stift nach links, um den Defaultwinkel bzw. um δ Hebt bzw. senkt den Stift Farbe, Länge, Winkel, Stiftstärke,
11 Beispiel void maketree(turtle mturtle, float s) { if (s < 1) return; Point2D p = mturtle.getstiftposition(); float w = mturtle.getstiftrichtung(); mturtle.drehelinks(45); mturtle.vor(s); maketree(mturtle, s/2); mturtle.setstiftposition(p); mturtle.setstiftrichtung(w); mturtle.dreherechts(45); mturtle.vor(s); maketree(mturtle, s/2); }.. Turtle mturtle = new Turtle(xStart, ystart); maketree(mturtle, 5);..
12 Interpretation Eingabe: Zeichenkette (meist vom L-System erzeugt) Ausgabe: geometrische Interpretation, Visualisierung, 2D/3D-Modell Arbeitsweise: Beginnend bei S[0], dem ersten Zeichen, lineare Interpretation jedes einzelnen Zeichens des Strings Zeichen, für die keine Interpretationsvorschrift vorhanden ist, werden ignoriert Interpretation (der Grundsymbole): F.. Sichtbare Vorwärtsbewegung der Länge l f.. Unsichtbare Vorwärtsbewegung der Länge l +.. Drehe links um Winkel δ -.. Drehe rechts um Winkel δ
13 Veranschaulichung Umgebungsvariablen: l = 1; δ = 90 a) Interpretation der Symbole: F, +, - b) Interpretation eines Strings
14 Grammatikerweiterungen Zufallswerte, Variablen- und Konstantendefinitionen: \var i 0, \const x 10 Funktionsdefinition/aufrufe: sin(x), func(a,b) Bedingungen: if (i<5 && j>=3), (i<5) Stack (Verzweigungen) : [ ] Multiskalarität: / Interpretationsregeln: ## Mathematischen Ausdrücke: (i*1.1+a/3) Schleifen: &(i<5) B Einfügen von Kugeln, Quadern, Kegeln, Kurven, Freiflächen Abkürzende Schreibweisen: RU45, RH10, RL-90.. Drehanweisungen L5.. Länge auf 5 setzen P10.. Farbe auf 10 setzen volle Mächtigkeit einer höheren Programmiersprache
15 Stack (Verzweigungen) ermöglicht Verzweigungen, wie sie bei Pflanzen häufig vorkommen [.. Lege den aktuellen Zustand der Turtle auf dem Stack ab. ].. Hole das oberste Element vom Zustandsstack und mache es zum aktuellen Zustand der Turtle. Die Turtle bewegt sich in diesen Zustand, ohne daß eine Linie gezogen wird. Turtle-Interpretation eines geklammerten Wortes
16 Turtle-Interpretationen von geklammerten Systemen System Iterationen Drehwinkel Startwort Produktionsregeln a F F F[+F]F[-F]F b F F FF-[-F+F+F]+[+F-F-F] c X X F-[[X]+X]+F[+FX]-X F FF
17 Wachstumsgrammatiken Zur Simulation des natürlichen Wachstums von Pflanzen, Bäumen, Zellen usw. Benutzt z.b. zur Ertragsberechnung eines Flurstückes in der Forstwirtschaft Laubmenge und Holzvolumen eines Baumes Stoffverteilung/bewegung im Baum; z.b. Wasser, Chlorophyll, Zucker Umweltbeeinflussungen wie Schattenwurf, Wasseraufnahme
18 Zweigentwicklung Rotbuche 0 \angle 5, 1 \var l1 table , 2 \var l2 table , 3 \var l3 table , 4 \var l4 table , 5 \var i index, 6 \var x1 normal 40 5, 7 \var len length, 8 \const bl 35, 9 \const minlf 15, 10 \const cf 0.2, 11 \const secgr 1.6, 12 \axiom veg 1 2, 13 \axiom shoot 1-8, 14 veg # bud, 15 bud # leaf, 16 leaf #, 17 bud ## P12 [RU-90 F1 S(0)] RU90 F1 18 S(1) RU-132 F3.8 S(2) f RU88 F4 S(3) f-0.8 RU-84 F S(4) RU52 F7.2 S(5) C(0,2) C(2,4) 21 C(5,3) C(3,1), 22 leaf ## P2 D1 F12 D0 [S(0) [RU58 f(15) S(1)] [RU53 23 f(30) S(2)] &(7)<F(l1(i)) [RU(55-4*i) F(l2(i)) 24 S(i+3)] > F11 S(10)] [RU-45 f(15) S(18)] 25 &(7)<f(l3(i)) [RU(4*i-55) F(l4(i)) S(17-i)]> 26 &(18)<C(i, i+1)> C(18, 0), 27 shoot # L(bl) D+1.2 m(1, 9), 28 (j<2) m(j, n) # m(j+1, n), 29 (j=2 && n>1) m(j, n) # L* &(n-1)<-a(0) RH180 - [RU(x1) ang m(1, if(i<(n-1)/2,i/2, 31 i-1))] L*1.1 > - L*0.5 a(0) RH180 - L*1.7 m(1, n), 32 (j=2 && n<=1) m(j, n) # L*0.4 a(0) L*2 m(1, 1), 33 ang # RU10, 34 a(t) # a(t+0.5), 35 a(t) ## Dl+(secgr * t) F, 36 m(j, n) ## Ll(len/bl + 1/(cf*len+1/minlf)) Dl1 O(veg, j),
19 Entwicklungsschritte 1 bis 6
20 Entwicklungsschritte 7 und 8
21 Modellierung konkreter botanischer Objekte Analyse des Objektes in mehreren Zuständen in der Natur (Beobachtung) und / oder im Labor Auf nichtformalem Weg die Regeln aufstellen Regeln und Anfangszustand in ein L-System verwandeln Simulation laufen lassen, Erzeugung eines Wortes Resultat(wort) in eine graphische Ausgabe übersetzen (Interpretation) Das Bild (bzw. mehrere Bilder von verschiedenen Stadien) mit dem Verhalten des wirklichen Objektes vergleichen Evtl. Korrekturen vornehmen und die erforderlichen Schritte wiederholen
22 Beispiel Fichte
23 Analyse des Modells Auszugsweise an den Allgemeinen Charakteristiken veranschaulicht Anzahl der Wachstumseinheiten Probe A (gemessen) 3009 Modell (Durchschnitt aus 5 Modell-Läufen) 3140 Länge des gesamten Astes 2379 mm 2285 mm Radius des gesamten Astsystems 1473 mm 1352 mm Summe aller Wachstumseinheiten Längen Mittlerer Verzweigungswinkel m m 57.0 Box-Dimension (der Projektion)
24 Einschränkungen, Grenzen Kontrolle nur durch Vorgänger-Symbol (linear) oder stochastisch Fehlende Interaktion innerhalb des modellierten Objektes oder mit der Umwelt Determinismus oder stochastische Modelle ohne kausale Komponenten Beschränkung auf ortsfeste Organismen und auf diskrete Entwicklungsschritte
25 Literatur / Software [P. Prusinkiewicz et al. (1990)] Przemyslaw Prusinkiewicz, Aristid Lindenmayer: "The Algorithmic Beauty Of Plants", Springer Verlag, 1990 [Prusinkiewicz et al. (1989)] Przemyslaw Prusinkiewicz, James Hanan: "Lindenmayer systems, fractals and plants", Springer 1989 Fortgeschrittene Softwaresysteme zur Umsetzung:. cpfg / LStudio Grogra LParser
26 Noch FRAGEN?
LINDENMAYER SYSTEME Astrid Koennecke
LINDENMAYER SYSTEME Astrid Koennecke Geschichte: Ein Lindenmayer System (L-System) ist ein mathematischer Formalismus, der im Jahr 1968 von dem theoretischen Biologen Aristid Lindenmayer als Grundlage
Lindenmayer-Systeme. Zusammenfassung des Vortrags im Proseminar Theoretische Informatik. Benjamin Aram Berendsohn 11.
Lindenmayer-Systeme Zusammenfassung des Vortrags im Proseminar Theoretische Informatik Benjamin Aram Berendsohn 11. November 2014 1 Geschichte Lindenmayer-Systeme, kurz L-Systeme, wurden zuerst 1968 von
11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n!
Mathematische Rekursion 11. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration, Lindenmayer Systeme Viele mathematische Funktionen sind sehr natürlich
12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! =
Lernziele Sie verstehen, wie eine Lösung eines rekursives Problems in Java umgesetzt werden kann. Sie wissen, wie Methoden in einem Aufrufstapel abgearbeitet werden. 12. Rekursion Mathematische Rekursion,
Biograe Grundlagen Arten Anwendung Problem. L-Systeme. Fabian Trattnig, Georg Messner, Benedikt Huber. 25. Jänner 2008
Biograe Grundlagen Arten Anwendung Problem Fabian Trattnig, Georg Messner, Benedikt Huber 25. Jänner 2008 Biograe Grundlagen Arten Anwendung Problem Einteilung 1 Biograe 2 Grundlagen 3 Arten 4 Anwendung
regelbasiertes Programmierparadigma:
4. Regelbasierte Systeme regelbasiertes Programmierparadigma: Computer = Transformationsmaschine für Strukturen Es gibt eine aktuelle Struktur, die solange transformiert wird, wie dies möglich ist. Arbeitsprozess:
Erinnerung an Kapitel 6: Szenengraphen als Möglichkeit der Modellierung komplexer Strukturen (vgl. Übung, VRML)
Erinnerung an Kapitel 6: Szenengraphen als Möglichkeit der Modellierung komplexer Strukturen (vgl. Übung, VRML) Kreuze: Transformationsknoten, Transformation wird auf alle darunterliegenden Gruppen und
Mathematische Rekursion
Rekursion Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die Funktion erscheint in ihrer eigenen Definition. Mathematische Rekursion o Viele mathematische
FRAKTALE GEOMETRIE SS 2000 1 DEISSLER Lindenmayersysteme Einführung-2000.doc. Lindenmayer-Systeme. Das Programm L-Sys. R.Deißler
FRAKTALE GEOMETRIE SS 2000 1 DEISSLER Lindenmayer-Systeme Das Programm L-Sys R.Deißler SS 2000 FRAKTALE GEOMETRIE SS 2000 2 DEISSLER Lindenmayersysteme (L-Syteme) Lindenmayersysteme sind Systeme zur Modellierung
Ökosystemanalyse am Beispiel des Kohlenstoffkreislaufes (OG.1)
Ökosystemanalyse am Beispiel des Kohlenstoffkreislaufes (OG.1) für Geoökologie Master Blodau, Matzner, Hauhs Teil 3: Modellierung BayCEER, Uni-Bayreuth SS 2009 www.bayceer.uni-bayreuth.de Gliederung Allgemeine
L-Systeme (Lindenmayer-Systeme)
L-Systeme (Lindenmayer-Systeme) im Vergleich zu den bisher vorgestellten Ansätzen der Morphogenese-Modellierung sind L-System-Modelle: strukturorientiert diskret in Zeit und Struktur (aber kontinuierlich
Theoretische Informatik I
Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften
Romanesco-Blumenkohl
Lindenmayer-Systeme Romanesco-Blumenkohl Selbstähnlichkeit der Struktur Fraktale Fraktale: Beispiel Kochkurve Erzeugung durch Rekursion: initiator Ersetzung jeder Strecke durch den Generator generator
Entwurf und Implementation eines Baukastens zur 3D-Pflanzenvisualisierung in GroIMP mittels Instanzierungsregeln
Brandenburgische Technische Universität Cottbus (BTU) Entwurf und Implementation eines Baukastens zur 3D-Pflanzenvisualisierung in GroIMP mittels Instanzierungsregeln Diplomarbeit am Lehrstuhl für Praktische
4 Programmieren in Java III
1 4 Programmieren in Java III 4.1 Rekursive Funktionen und Prozeduren Ein Unterprogramm kann sich selbst aufrufen. Dabei sind, in einer korrekt entworfenen Programmiersprache, die lokalen Variablen der
Formale Systeme, Automaten, Prozesse
Formale Systeme, Automaten, Prozesse Peter Rossmanith Theoretische Informatik, RWTH Aachen 28. April 2009 Organisatorisches Termine (Folie 1, Seite 1 im Skript) Vorlesung Dienstags, 8:15-9:00 Uhr, Grüner
Turtlegrafik in Logo
Syntaktische Methoden der Bilderzeugung Turtlegrafik in Logo Referent: Daniel Gent ([email protected]) Gliederung Programmiersprache Logo Übersicht Interpreter Variablen Prozeduren Kontrollstrukturen Verwendung
1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
Formale Systeme, Automaten, Prozesse
Peter Rossmanith Theoretische Informatik, RWTH Aachen 13. Juni 2017 Organisatorisches Termine (Folie 1, Seite 1 im Skript) Vorlesung Montags, 10:15-11:45 Uhr, Grüner Hörsaal Dienstags, 10:15-11:00 Uhr,
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
3.2.b Turtle-Graphik. male einen 10cm langen Strich (und warte kurz) Der Datentyp Turtle
3.2.b Turtle-Graphik Der Datentyp Turtle Idee: Bilder lassen sich mit einem Bleistift malen, indem man wiederholt eine Richtung 0 360 einnimmt in diese Richtung einen geraden Strich einer bestimmten Länge
1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
Formale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.
Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger
Fraktale und Lindenmayer-Systeme Zusammenfassung des Vortrages
Proseminar Grundlagen der theoretischen Informatik Dozent: Prof. Helmut Alt Fraktale und Lindenmayer-Systeme Zusammenfassung des Vortrages Richard Wilhelm Wintersemester 2007 Fraktale Vorgestellt wurden
WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
Wie "bastelt" man sich einen Kalkül?
Wie "bastelt" man sich einen Kalkül? Ein Kalkül ist ein rein formales, deduktives System, das seinen eigenen deterministischen Regeln folgt und im übrigen keine weitere Bedeutung hat. Um einen Kalkül zu
Lindenmayer-Systeme: Fraktale rekursiv zeichnen
Lindenmayer-Systeme: Fraktale rekursiv zeichnen Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) o Σ * = Menge aller
Computergrafik SS 2016 Oliver Vornberger. Vorlesung vom Kapitel 11: Fraktale
Computergrafik SS 2016 Oliver Vornberger Vorlesung vom 03.05.2016 Kapitel 11: Fraktale 1 Selbstähnlichkeit 2 Koch'sche Schneeflocke a+(x-a) cos(60 ) - (y-b) sin(60 ) b+(y-b) cos(60 ) + (x-a) sin(60 ) a,b
Ogden s Lemma: Der Beweis (1/5)
Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in
Mathematica kompakt. Einführung-Funktionsumfang-Praxisbeispiele von Dipl.-Math.Christian H.Weiß. Oldenbourg Verlag München
Mathematica kompakt Einführung-Funktionsumfang-Praxisbeispiele von Dipl.-Math.Christian H.Weiß Oldenbourg Verlag München Inhaltsverzeichnis Vorwort Tabellenverzeichnis VII XVII 1 Einleitung 1 1 Grundlagen
Sprachen sind durch folgenden Aufbau gekennzeichnet:
BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder
Java Übung. Übung 2. Werner Gaulke. 19. April Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 2 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 19. April 2006 (UniDUE) 19. April 2006 1 / 13 Java Programme Java Programme bestehen aus (meist mehreren) Klassen. In den Klassen
Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,
Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen
Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri
Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS
Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
GTI. Hannes Diener. 18. Juni. ENC B-0123,
GTI Hannes Diener ENC B-0123, [email protected] 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.
Lexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009
Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache
Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen
Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,
Algorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
Alphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
Lexikalische Analyse, Tokenizer, Scanner
Lexikalische Analyse, Tokenizer, Scanner Frühe Phase des Übersetzers Aufgabenteilung: Scanner (lokale) Zeichen (Symbol-)Analyse Parser Syntax-Analyse Aufgabe des Scanners: Erkennung von: Zahlen, Bezeichner,
Grundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
Kapitel IV Formale Sprachen und Grammatiken
Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist
Kontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
Theoretische Informatik II
Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle
Informatik III - WS07/08
Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner [email protected] Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition
Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue
Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile.
Tutorial zum Umgang mit Scratch
Tutorial zum Umgang mit Scratch In diesem Tutorial sollst du die grundlegenden Funktionen von Scratch ausprobieren und kennen lernen Danach solltest du gut mit dem Programm umgehen können und eigene Programme
Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)
Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /
Algorithmische Geometrie: Einstimmung
Algorithmische Geometrie: Einstimmung Nico Düvelmeyer WS 2009/2010, 20.10.2009 Überblick 1 Organisatorisches 2 Fachgebiet Typische Untersuchungsgegenstände Typische Anwendungsgebiete 3 Inhalte der Vorlesung
Die mathematische Seite
Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion
Algorithmen in Zellularautomaten. Thomas Worsch Institut für Theoretische Informatik Karlsruher Institut für Technologie
Algorithmen in Zellularautomaten Thomas Worsch Institut für Theoretische Informatik Karlsruher Institut für Technologie Sommersemester 08 Grundlegende Definitionen. Beispiel. Betrachten wir die folgende
Einführung in die Programmierung für NF. Arrays
Einführung in die Programmierung für NF Arrays ARRAY (REIHUNG) 4 Arrays 2 Array In der Programmierung werden o: Tupel verschiedener Länge benutzt. Beispiel: Vektoren (1.0, 1.0) (0.2, 1.2, 7.0) Beispiel:
Berechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
Mathematik erzeugt grafische Kunstwerke und zauberhafte Videos: Was sind Fraktale?
Mathematik erzeugt grafische Kunstwerke und zauberhafte Videos: Was sind Fraktale? Klaus Kusche Frühjahr 2019 Inhalt Unser Ziel Was ist ein Fraktal? Von linearen geometrischen Abbildungen zu iterierten
StarLogo Befehle. Erzeugt number Schildkröten. Erzeugt number Schildkröten, die jeweils die list of commands ausführen. Entfernt alle Schildkröten.
StarLogo Befehle Erzeugen / Löschen von Schildkröten oder Feldern create-turtles crt create-turtles-anddo crt-and-do clear-turtles clearturtles ct clear-graphics cg clearall clear-all Erzeugt Schildkröten.
Das Postsche Korrespondenzproblem
Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w
Ein Anforderungskatalog für die Gestaltung von Laubbäumen in 3D
Ein Anforderungskatalog für die Gestaltung von Laubbäumen in 3D Abschlussvortrag Projektarbeit Jörg Moldenhauer LFE Medieninformatik 09.02.2010 LMU Lehr- und Forschungseinheit Medieninformatik Abschlussvortrag
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer
Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen
Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien
Kontextfreie Sprachen
Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch
Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren
Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen
Mathematik in der Biologie
Erich Bohl Mathematik in der Biologie 4., vollständig überarbeitete und erweiterte Auflage Mit 65 Abbildungen und 16 Tabellen ^J Springer Inhaltsverzeichnis Warum verwendet ein Biologe eigentlich Mathematik?
Universität Bielefeld. Elementare Geometrie. Sommersemester Rückblick. Stefan Witzel
Universität Bielefeld Elementare Geometrie Sommersemester 2018 Rückblick Stefan Witzel Outline Grundlagen, Axiome Euklid I Bewegungen Verhältnisse, Ähnlichkeiten Kreise Fundamentale Objekte und Eigenschaften
Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko
Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der SS 2016: Grossmann, Jenko Die Beschreibung orientiert sich am Begriffssystem der Beschreibung natürlicher Sprachen Sprache in der steht
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
12. Felder (Arrays) II. Caesar-Code, Strings, Lindenmayer-Systeme, Mehrdimensionale Felder, Vektoren von Vektoren, Kürzeste Wege
373 12. Felder (Arrays) II Caesar-Code, Strings, Lindenmayer-Systeme, Mehrdimensionale Felder, Vektoren von Vektoren, Kürzeste Wege Caesar-Code 374 Ersetze jedes druckbare Zeichen in einem Text durch seinen
Objektorientierte Programmierung
Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren
Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung
Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 3.1. Ressourcenkompression
Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende
5.2 Endliche Automaten
114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.
Theoretische Informatik I
(702765) Skript zur Vorlesung am 30.6.2000 Aus der vorherigen Vorlesung: Theoretische Informatik I Satz W: Sei X ein Alphabet. Zu jeder regulären Sprache R X * gibt es ein n N, so daß für alle Wörter z
