Morphogenesis and Lindenmayer Systems (L-systems) Gabriela Ochoa

Slides:



Advertisements
Similar presentations
Jason Stredwick, MSU 2004 L-Systems Lindenmayer Systems algorithmicbotany.org.
Advertisements

C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
Computer Graphics Lecture 4 Geometry & Transformations.
JYC: CSM17 BioinformaticsCSM17 Week 8: Simulations (part 2): plant morphology sea shells (marine molluscs) fractals virtual reality –Lindenmayer systems.
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.
Biologically Inspired AI (mostly GAs). Some Examples of Biologically Inspired Computation Neural networks Evolutionary computation (e.g., genetic algorithms)
So far we’ve done… Dynamics and chaos Thermodynamics, statistical mechanics, entropy, information Computation, Turing machines, halting problem Evolution,
L systems (Aristid Lindenmayer)
Producing Artificial Neural Networks using a Simple Embryogeny Chris Bowers School of Computer Science, University of Birmingham White.
L-systems Presented by Luv Kohli COMP258 October 30, 2002 Images copyright © 1992 D. Fowler, P. Prusinkiewicz, and J. Battjes.
Procedural Modeling L-Systems Procedural Terrain Procedural Behavior Based on the slides from Spring 2007.
Modeling of Plants Josh Markwordt November 27, 2007.
Simulating Trees with Fractals and L-Systems Eric M. Upchurch CS 579.
Fractals Complex Adaptive Systems Professor Melanie Moses March
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
Intro to AI Genetic Algorithm Ruth Bergman Fall 2004.
LANGUAGE AND GRAMMARS © University of LiverpoolCOMP 319slide 1.
Lectures on Cellular Automata Continued Modified and upgraded slides of Martijn Schut Vrij Universiteit Amsterdam Lubomir Ivanov Department.
College of Computer and Information Science, Northeastern UniversityAugust 12, CS G140 Graduate Computer Graphics Prof. Harriet Fell Spring 2007.
Approaches To Infinity. Fractals Self Similarity – They appear the same at every scale, no matter how much enlarged.
From Extropians to Evolutionary Robotics Simon D. Levy PHIL April 2013 What Machines (Don't) Tell Us About (Trans)Human Nature.
Morphogenesis, Lindenmayer Systems and Generative Encodings Gabriela Ochoa
IlliDOL: A Framework for Exploration of L- Systems in Three Dimensions Vilas Dhar Math 198 Spring 2003.
Chapter 9: Geometry.
Computing & Information Sciences Kansas State University Lecture 37 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 37 of 42 Monday, 28 April.
Dragon Curve Drawn in Project 4… How to generate the string of drawing commands? How does the dragon curve come about? 1.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
Evolutionary Algorithms BIOL/CMSC 361: Emergence Lecture 4/03/08.
Graphics Graphics Korea University cgvr.korea.ac.kr Model Construction 고려대학교 컴퓨터 그래픽스 연구실.
CS 376 Introduction to Computer Graphics 04 / 30 / 2007 Last Lecture :( Instructor: Michael Eckmann.
Model Construction 김 성 남. Contents What is Modeling? Model Construction - Interactive modeling tools - Scanning tools - Computer vision -
Andrew Leeuwenberg.  Hypothesis & Aim  Methodology summary  Result  Discussion and Future work  Conclusion.
Schemata Theory Chapter 11. A.E. Eiben and J.E. Smith, Introduction to Evolutionary Computing Theory Why Bother with Theory? Might provide performance.
L-Systems and Procedural Plants CSE 3541 Matt Boggus.
Different Varieties of Genetic Programming Je-Gun Joung.
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.
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.
Lindenmayer systems Martijn van den Heuvel May 26th, May 26th, 2011.
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.
1 Chapter 13 Artificial Life: Learning through Emergent Behavior.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
1 10/27/ :26 UML Simplicity in Complexity. 2 10/27/ :26 UML Rewriting Systems Classic Example: Koch 1905 Initiator Generator.
Neural and Evolutionary Computing - Lecture 9 1 Evolutionary Neural Networks Design  Motivation  Evolutionary training  Evolutionary design of the architecture.
CAP6938 Neuroevolution and Developmental Encoding Developmental Encoding Dr. Kenneth Stanley October 2, 2006.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
Procedural Modelling of Plant Scenes Presented by: Kim R 2 Supervisors:Shaun Bangay Adele Lobb A research project for Computer Science Honours 2004.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Special Models.
LINDFERN Lindenmayer Systems in VPython Nick Langhammer.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Chia Y. Han ECECS Department University of Cincinnati Kai Liao College of DAAP University of Cincinnati Collective Pavilions A Generative Architectural.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
Emergent Design Martin HembergImperial College2004Emergent Design.
Experimenting with Grammars to Generate L-Systems October 29, 2007
Integration of simulation tools in online virtual worlds Stéphane SIKORA AI Lab of Paris5 University 2nd conference on.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
제 6 주. 응용 -2: Graphics Evolving L-systems to Generate Virtual Creatures G.S. Hornby and J.B. Pollack, Computers & Graphics, vol. 25, pp. 1041~1048, 2001.
Evolutionary Robotics The Genotype-to-Phenotype Map The genotype to phenotype map: the algorithm that transforms the genotype into the phenotype. Direct.
1 What did we learn before?. 2 line and segment generation.
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.
CAP6938 Neuroevolution and Artificial Embryogeny Artificial Embryogeny
ATCM 3310 Procedural Animation
A Gentle introduction Richard P. Simpson
Presentation transcript:

Morphogenesis and Lindenmayer Systems (L-systems) Gabriela Ochoa

Content Morphogenesis  Biology  Alife Lindenmayer Systems  Self-similarity, Rewriting  D0L-systems  Graphic Interpretation Generative Encodings for Evolutionary Algorithms

Morphogenesis in Biology One of the major outstanding problems in the biological sciences Fundamental question of how biological form and structure are generated Biological form at many levels, from individual cells, through the formation tissues, to the assembly of organs and whole organisms.

Morphogenesis in Alife Central Question in Morphogenesis: How the information coded in linear DNA molecules becomes translated into a three-dimensional form? Going from Genotype to Phenotype General assumption: the DNA does not specify 'as some kind of description' the final form of the body. More like 'a recipe' for baking a cake A typical Alife approach is to look at possible, very general, ways to generate complex forms from relatively simple rules -- often very abstract

L-Systems A model of morphogenesis, based on formal grammars (set of rules and symbols) Introduced in 1968 by the Swedish biologist A. Lindenmayer Originally designed as a formal description of the development of simple multicellular organisms Later on, extended to describe higher plants and complex branching structures.

Self-Similarity “When a piece of a shape is geometrically similar to the whole, both the shape and the cascade that generate it are called self- similar” (Mandelbrot, 1982) The recursive nature of the L-system rules leads to self-similarity and thereby fractal- like forms are easy to describe with an L- system.

Self-Similarity in Fractals Exact Example Koch snowflake curve Starts with a single line segment On each iteration replace each segment by As one successively zooms in the resulting shape is exactly the same

Self-similarity in Nature Approximate Only occurs over a range of scales In the Fern self- similarity occurs only at a few discrete scales (3 In this example)

Rewriting Define complex objects by successively replacing parts of a simple object using a set of rewriting rules or productions. Example: Graphical object defined in terms of rewriting rules - Snowflake curve Construction: recursively replacing open polygons First four orders of the Koch Curve

Rewriting systems on character strings The most extensively studied rewriting systems operate on character strings (Late 50s, Chomsky`s work on formal grammars) Later applications to Computer and formal Languges (BNF form) A. Lindenmayer (1968) new type of string- rewriting mechanism (L-systems). In L-systems productions are applied in parallel Reflects Biological motivation of L-systems

Types of L-systems Context-free: production rules refers only to an individual symbol Context-sensitive: the production rules apply to a particular symbol only if the symbol has certain neighbors Deterministic: If there is exactly one production for each symbol, Stochastic: If there are several, and each is chosen with a certain probability during each iteration

D0L-systems Simplest class of L-systems, deterministic and context free. Example:  Alphabet = {a,b}  Rules = {a → ab, b → a}  Axiom: b b | a └ a b ┘ │ a b a ┘ │ └ a b a a b _/ / ┘ └ \ a b a a b a b a Example of a derivation in a DOL-System

Graphic Interpretation L-systems were conceived as a formal theory of development. Geometric aspects were not considered Later, geometrical interpretations were proposed. Tool for fractal and plant modelling Graphic Interpretation of strings, based on turtle geometry (Prusinkiewicz et al, 89). State of the turtle: (x, y, α)  (x, y): Cartesian coordinates, turtle position  α: angle (heading) direction in which the turtle is facing Given the step size d and the angle increment δ, the turtle can respond to the commands represented by the following symbols:

Turtle interpretation of strings F Move forward a step of length d. The state of the turtle changes to (x',y', α ), where x'= x + d cos( α ) and y'= y + d sin( α ). A line segment between points (x,y) and (x',y') is drawn f Move forward a step of length d without drawing a line. The state of the turtle changes as above + Turn left by angle δ. The next state of the turtle is (x,y, α + δ ) - Turn left by angle δ. The next state of the turtle is (x, y, α -b)

Model of plants: bracketed L-systems To represent branching structures, L-systems alphabet is extended with two new symbols: [, ], to delimit a branch. They are interpreted as follows: [ Push the current state of the turtle onto a pushdown stack. ] Pop a state from the stack and make it the current state of the turtle. No line is drawn, in general the position of the turtle changes

w: F+F+F+F p: F →F+F-F-FF+F+F-F n= 0 n = 1 n = 2 w: F p: F → F[-F]F[+F][F] n = Quadratic Koch island

Modeling in three dimensions Turtle interpretation of strings can be extended to 3D Represent the current state by 3 vectors: H, L, U, indicating turtle’s Heading, Left, and, Right. These vector have unit length and are perpendicular to each other 3 rotation matrices: R U, R L, and R H and a fixed angle δ The following symbols control turtle orientation in space:  +, - : Rotations left and right, using matrix R U (δ)  &, ^ : Rotations down and, using matrix R L (δ)  \, / : Rotations left and right, using matrix R H (δ)  | : Turning around, using matrix R U (180º)

3D L-Systems

3D Bracketed L-Systems

Generative Encodings for Evolutionary Algorithms EAs has been applied to design problems Past work has typically used a direct encoding of the solution Alternative: Generative encoding, i.e. an encoding that specifies how to construct the genotype Greater scalability through self- similar and hierarchical structure. Reuse of parts

Examples of Generative Encoding (for EAs) L-systems (Jacob, Ochoa, Hornby & Pollack) Biomorphs, The Blind Watchmaker (R. Dawkins) Graph encoding for animated 3D creatures Cellular automata rules to produce 2D shapes Context rules to produce 2D tiles Cellular Encoding for artificial neural networks

Evolving Plant-like Structures Genotype: single ruled bracketed D0L-systems Phenotype: 2D branching structures, resulting from derivation and graphic interpretation of L-systems Genetic Operators: Recombination and Mutation preserve syntactic structure of rules Selection  Automated: fitness Function inspired by evolutionary hypothesis about plant development  Interactive: allowing the user to direct evolution towards preferred phenotypes

Automated Selection Hypotheses about plant evolution (K.Niklas, 1985):  Plants with branching patterns that gather the most light can be predicted to be the most successful (photosynthesis).  Need to reconcile the ability to support vertical branching structures Analytic procedure, components:  (a) phototropism (growth movement of plants in response to stimulus of light),  (b) bilateral symmetry,  (c) proportion of branching points.

Recombination Parents Offspring F[-FF]+[FFF]-FF[-F-F] F[+F]+[-F-F]-FF[+F][-F][F]F[-FF]+[FFF]-FF[+F] F[+F]+[-F-F]-FF[-F-F][-F][F]

Mutation Symbol Mutation Block Mutation F[+F]+[+F-F-F]-FF[-F-F] F[+F]+[+F-F-F]-F[-F][-F-F] FF[+FF][-F+F][FFF]F FF[+FF][-F+F][-F]F

Results Considering phototropism, and symmetry Considering phototropism, symmetry and branching points Considering symmetry only Considering branching points only Considering phototropism only

Sea Stars and Urchins Obtained by a fitness function considering symmetry only. And interactively mutating and recombining organisms

Developmental rules for Neural Networks - 1 Firstly, biological neural networks: there is simply not enough information in all our DNA to specify all the architecture, the connections within our nervous systems. So DNA (... with other factors...) must provide a developmental 'recipe' which in some sense (partially) determines nervous system structure -- and hence contributes to our behaviour. Secondly, artificial neural networks (ANNs): we build robots or software agents with (often) ANNs which act as their nervous system or control system.

Developmental rules for Neural Networks - 2 Alternatives: Design or evolve ANN archithecture. Evolving: Direct encoding, or generative encoding Early References: Frederick Gruau, and Hiroaki Kitano. Gruau invented 'Cellular Encoding', with similarities to L- Systems, and used this for evolutionary robotics. ( Cellular Encoding for Interactive Evolutionary Robotics, Gruau & Quatramaran 1997 ) Kitano invented a 'Graph Generating Grammar‘.: A Graph L- System that generates not a 'tree', but a connectivity matrix for a network (Designing Neural Networks Using Genetic Algorithms with Graph Generation System. Hiroaki Kitano. Complex Systems, 4(4), 1990)

Generative Representations for Design Automation Dynamical & Evolutionary Machine Organization (DEMO). Brandeis University, Boston, USADEMO Evolved Tables: Fitness function rewarded structures for maximizing: height; surface area;stability/volume; and minimizing the number of cubes.

Hierarchically Regular Locomoting Robots Evolve both the morphology and the controllers for different robots. Generative encoding based on L- systems Scorpion Serpent A constructed genobot

References Hugo de Garis. Artificial embryology : The genetic programming of an artificial embryo. In Branko Soucek and the IRIS Group, editors, Dynamic, Genetic and Chaotic Programming.Wiley, P. Bentley and S. Kumar. Three ways to grow designs: Acomparison of embryogenies of an evolutionary designproblem. In Banzhaf, Daida, Eiben, Garzon, Honavar,Jakiel, and Smith, editors, Genetic and EvolutionaryComputation Conference, pages 35–43, Karl Sims. Evolving Virtual Creatures. In SIGGRAPH 94 Conference Proceedings, Annual Conference Series,pages 15–22, 1994.