Lindenmayer systems Martijn van den Heuvel May 26th, May 26th, 2011.

Slides:



Advertisements
Similar presentations
Formal Languages: main findings so far A problem can be formalised as a formal language A formal language can be defined in various ways, e.g.: the language.
Advertisements

Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
CFGs and PDAs Sipser 2 (pages ). Long long ago…
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
L-System Aristid Lindenmayer (1968), biologist. L-System A method of constructing a FRACTAL that is also a MODEL for plant growth. The Computational Beauty.
CS21 Decidability and Tractability
CFGs and PDAs Sipser 2 (pages ). Last time…
So far we’ve done… Dynamics and chaos Thermodynamics, statistical mechanics, entropy, information Computation, Turing machines, halting problem Evolution,
L systems (Aristid Lindenmayer)
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
CS 310 – Fall 2006 Pacific University CS310 Pushdown Automata Sections: 2.2 page 109 October 9, 2006.
Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007.
Simulating Trees with Fractals and L-Systems Eric M. Upchurch CS 579.
1 Other Models of Computation. 2 Models of computation: Turing Machines Recursive Functions Post Systems Rewriting Systems.
CS 490: Automata and Language Theory Daniel Firpo Spring 2003.
79 Regular Expression Regular expressions over an alphabet  are defined recursively as follows. (1) Ø, which denotes the empty set, is a regular expression.
Normal forms for Context-Free Grammars
Lindenmayer Systems . Lindenmayer systems There is no distinction between terminal and non-terminal symbols. All the words derived from a given word.
1 Context-Free Languages. 2 Regular Languages 3 Context-Free Languages.
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
LANGUAGE AND GRAMMARS © University of LiverpoolCOMP 319slide 1.
Finite State Machines Data Structures and Algorithms for Information Processing 1.
CS 3240: Languages and Computation Pushdown Automata & CF Grammars NOTE: THESE ARE ONLY PARTIAL SLIDES RELATED TO WEEKS 9 AND 10. PLEASE REFER TO THE TEXTBOOK.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
College of Computer and Information Science, Northeastern UniversityAugust 12, CS G140 Graduate Computer Graphics Prof. Harriet Fell Spring 2007.
Morphogenesis and Lindenmayer Systems (L-systems) Gabriela Ochoa
IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.
Biomedical Signal and Data Processing Group Artificial Life Lenka Lhotska Gerstner laboratory, Department of Cybernetics CTU FEE Prague
Modelling of Ecosystems by Tools from Computer Science Summer School at Czech University of Life Sciences, Prague, September, 2013 Winfried Kurth.
::ICS 804:: Theory of Computation - Ibrahim Otieno SCI/ICT Building Rm. G15.
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
College of Computer and Information Science, Northeastern UniversityOctober 13, CS U540 Computer Graphics Prof. Harriet Fell Spring 2007 Lecture.
The Artificial Life of Plants Przemyslaw Prusinkiewicz, Mark Hammel, Radom´ır Mˇech Department of Computer Science University of Calgary Calgary, Alberta,
Examining the World of Fractals. Myles Akeem Singleton Central Illinois Chapter National BDPA Technology Conference 2006 Los-Angeles, CA.
Pushdown Automata (PDAs)
1 Context-Free Languages. 2 Regular Languages 3 Context-Free Languages.
L-Systems Lindenmayer Systems Prusinkiewicz and Lindenmayer
Summer School „Modelling and Simulation with GroIMP“ / Tutorial for beginners University of Göttingen (Germany), September, 2010 Winfried Kurth Some.
L-system and SVG 2D SVG Tree 2002/10/16.
Evolutionary Robotics Using A Formal Grammar To Evolve Robot Bodies and Brains Hornby, G.S., Pollack, J. (2001) Creating high-level components with a generative.
How to Draw a Tree L-Systems in Computer Graphics Steven Janke.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
Copyright © by Curt Hill Grammar Types The Chomsky Hierarchy BNF and Derivation Trees.
1 10/27/ :26 UML Simplicity in Complexity. 2 10/27/ :26 UML Rewriting Systems Classic Example: Koch 1905 Initiator Generator.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
Banff 2007: Innovations in Mathematics Education via the Arts Interactive Graphics Tools and Global Learning Mara Alagic & Glyn Rimmington Wichita State.
Cellular Automata Martijn van den Heuvel Models of Computation June 21st, 2011.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2010 with acknowledgement.
CS 3813: Introduction to Formal Languages and Automata Chapter 13 Other Models of Computation These class notes are based on material from our textbook,
1 Other Models of Computation Costas Busch - LSU.
Experimenting with Grammars to Generate L-Systems October 29, 2007
Grammar Set of variables Set of terminal symbols Start variable Set of Production rules.
CSE 311 Foundations of Computing I Lecture 20 Context-Free Grammars and Languages Autumn 2012 CSE
Development of structure. Additional literature Prusinkiewicz P, Lindenmayer A., 1990, The algorithmic beauty of plants, Springer Korvin G., 1992, Fractal.
Turing Machines CS 130 Theory of Computation HMU Textbook: Chap 8.
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
Experimenting with Grammars to Generate L-Systems – in JFLAP March 31, 2011 Prof. Susan Rodger Computer Science Dept.
Grammars, L-Systems Jim Whitehead UC Santa Cruz School of Engineering courses.soe.ucsc.edu/courses/cmps265/Spring14/01 23 Apr 2014.
Review : Theory of Computation. Regular Language and Finite Automata Context-free Language and Pushdown Automata Turing Machine and Recursive Enumerable.
L-systems L-systems are grammatical systems introduced by Lyndenmayer to describe biological developments such as the growth of plants and cellular organisms.
Linear Bounded Automata LBAs
Automata and Languages What do these have in common?
ATCM 3310 Procedural Animation
Other Models of Computation
CSE322 The Chomsky Hierarchy
A HIERARCHY OF FORMAL LANGUAGES AND AUTOMATA
Prof. Susan Rodger Computer Science Dept
The Chomsky Hierarchy Costas Busch - LSU.
Presentation transcript:

Lindenmayer systems Martijn van den Heuvel May 26th, May 26th, 2011

Outline Origin Origin Definition Definition Characteristics Characteristics Extensions Extensions Comparision with other models Comparision with other models Conclusion Conclusion

Origin - Aristid Lindenmayer 1925 – 1989 (63 years old) 1925 – 1989 (63 years old) Hungarian/US Hungarian/US Biologist at Utrecht University Biologist at Utrecht University L-systems (1968) L-systems (1968) Biological development of multicellular organisms (algae) Biological development of multicellular organisms (algae) Chomsky (formal) grammars (1957) Chomsky (formal) grammars (1957)

Definition Rewriting system: Rewriting system: Define complex objects by rewriting simple objects Define complex objects by rewriting simple objects Tuple: G = (A,s,R) Tuple: G = (A,s,R) G = grammar A = alphabet (symbol set/states) s = starting axiom (seed) R= set of production/transition rules ‘Constants’ are identity functions; a  a

Characteristics Recursive Recursive Parallel applying of productions Parallel applying of productions Rules can be deterministic/non-deterministic Rules can be deterministic/non-deterministic Context-free / context sensitive states Context-free / context sensitive states Namecontext -system Rules 0L-systemfree -L-systema  z IL-systemsensitive -L-system  z 2L-systemsensitive -L-system  z

Example D0L-system States: { a,b,c,d,k } Rules: a  cbc b  dad c  k d  a k  k Tuple: G = (A,s,R) G = grammar A = alphabet (symbol set/states) s = starting axiom (seed) R= set of production/transition rules acbckdadkkacbcakkcbckdadkcbckkkdadkkacbcakkdadkkkkacbcakkcbckdadkcbckkacbcakk… Repeating structure from 4th array: S n = kS n-3 S n-2 S n-3 k

Example D0L-system Geometrical interpretation: Geometrical interpretation: a and b are sharp tips a and b are sharp tips c and d are lateral margins of lobes c and d are lateral margins of lobes k represents a notch k represents a notch

Geometrical extensions: Turtle graphics Turtle has: A position (coordinates; x,y) A position (coordinates; x,y) An orientation (angle; a) An orientation (angle; a) A state s=(x,y,a) A state s=(x,y,a) Also (possible): Angle increment b Angle increment b Step size d Step size d

Geometrical extensions: Turtle graphics Example: Sierpinski triangle Example: Sierpinski triangle variables: A Bboth mean “draw forward” variables: A Bboth mean “draw forward” constants: + means “turn left by angle” constants: + means “turn left by angle” −means “turn right by angle” −means “turn right by angle” start: A start: A rules: (A → B−A−B), (B → A+B+A) rules: (A → B−A−B), (B → A+B+A) angle: 60° angle: 60° Fixed step size (d), no angle increment (b) Fixed step size (d), no angle increment (b)

Geometrical extensions: Turtle graphics Result for n=2, n=4, n=6 and n=8

Geometrical extensions: Bracketing Extends previous turtle extension to split Extends previous turtle extension to split Uses brackets [,] to delimit branches: Uses brackets [,] to delimit branches: [ means“Pop a state from the stack and make it the current state of the turtle.” [ means“Pop a state from the stack and make it the current state of the turtle.” ] means“Push the current state of the turtle onto a pushdown stack.” ] means“Push the current state of the turtle onto a pushdown stack.”

Geometrical extensions: Bracketing Start: F Start: F Rule: F  F[-F]F[+F][F] Angle: 25°

Comparision to other MOC Very similar to semi-Thue & Markov systems Very similar to semi-Thue & Markov systems L-systems parallel/simultaneous, others sequential. L-systems parallel/simultaneous, others sequential. L-systems can be both deterministic/non-deterministic L-systems can be both deterministic/non-deterministic All are Turing-complete All are Turing-complete Cellular automata Cellular automata Also simultaneous application of rules Also simultaneous application of rules Ozhigov proves: Ozhigov proves: The set of languages, computed in a polynomial time on L- systems, is exactly NP- languages. Even states L-systems might be a more powerful MOC than a non-deterministic Turing machine

Conclusions Powerful systems Powerful systems Distinguishing by parallel appliance of rules Distinguishing by parallel appliance of rules As formal language: As formal language: 0L-languages are context free  type-2 in Chomsky hierarchy 0L-languages are context free  type-2 in Chomsky hierarchy IL-languages are context sensitive  type-1 Chomsky hierarchy IL-languages are context sensitive  type-1 Chomsky hierarchy Interesting readings: Interesting readings: The algorithmic beauty of plants – Lindenmayer & Prusinkiewicz (1990) The algorithmic beauty of plants – Lindenmayer & Prusinkiewicz (1990) The algorithmic beauty of plants – Lindenmayer & Prusinkiewicz (1990) The algorithmic beauty of plants – Lindenmayer & Prusinkiewicz (1990) Lindenmayer systems as a model of computations – Y. Ozhigov (1998) Parametric L-systems and their application to the modelling and visualization of plants – J.S. Hanan (1992) (online L-system renderer)