Emergent Design - PowerPoint PPT Presentation

About This Presentation
Title:

Emergent Design

Description:

Craig Reynolds, 1986. Used in Lion King, Lord of the Rings, etc. Swarm bots. Real animals ... www.grammatical-evolution.org (Ryan and O'Neill) Grammars ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 63
Provided by: martinh9
Category:

less

Transcript and Presenter's Notes

Title: Emergent Design


1
Emergent Design
  • Martin Hemberg
  • Imperial College London
  • Architectural Association

2
Yours Truly
  • Developed Genr8 with the Emergent Design Group
    (EDG) at MIT in 2001
  • Teach at the Emergent Design Technologies
    (EmTech) MA/MArch program at AA since 2003
  • PhD student at Dept of Bioengineering at Imperial
    College

3
Agenda
  • Motivation
  • Emergence
  • Evolutionary Computation (EC)
  • Artificial Life (ALife)
  • Lindenmayer Systems (L-systems)
  • Genr8

4
Motivation, Architecture
  • New paradigm, based on different concepts than
    traditional design logics
  • New algorithms and ways of thinking required
  • Inspiration from biology
  • Biomimetics
  • Natural form has aesthetic and functional values

5
Motivation, Computer Science
  • Application of EC
  • Exploration, not optimization
  • Fitness evaluation
  • Use computers creatively
  • Beyond CAD tools
  • Require new algorithms and software

6
What is Emergence?
  • The whole is greater than the sum of the parts
  • Bottom-up instead of top-down
  • Local interactions produce global behaviour
  • Examples include brain, economics, flocks, etc

7
Flocking
  • Boids algorithm
  • Craig Reynolds, 1986
  • Used in Lion King, Lord of the Rings, etc
  • Swarm bots
  • Real animals

8
Flocking, rules
Alignment
Cohesion
Separation
9
Why is emergence useful?
  • Focus on bottom-up interactions
  • Traditionally top-down control
  • Complex behaviour comes from interaction of
    simple parts
  • New possibilities for designers and architects

10
Artificial life
  • Understand the principles of Biology
  • How does life arise from the non-living?
  • Potential and feature of evolution
  • What are the potentials and limits of living
    systems?
  • Agent-based and emergent properties
  • Flocks
  • L-systems

11
Evolutionary Computation
  • Randomized optimization algorithm
  • Inspired by natural evolution
  • Comes in many different flavours,
  • Genetic Algorithms (GA), bit-arrays (Holland)
  • Genetic Programming (GP), executable tree
    structures (Koza)
  • Evolutionary Strategies (ES), floating point
    numbers (Rechenberg and Schwefel)

12
Optimization
  • Find the best possible solution
  • MathematicallyGiven a function f  A-gtR from
    some set A to the real numbersSought an element
    x0 in A such that f(x0) f(x) for all x in A.

13
Evolutionary Computation, features
  • Population of candidate solutions
  • Parallel search for solutions
  • Population of solutions for a specific problem
    adapts generation by generation
  • No guarantees for finding global optimum

14
Neo Darwinian Evolution
  • Survival of the fittest
  • Selection on phenotype
  • Through environment
  • Genotypic inheritance
  • Reproduction
  • Blind variation

15
Genotype and phenotype
  • Genotype the genetic makeup of an organism
  • What is inherited
  • Phenotype the visible or measurable
    characteristics of an organism

16
Artificial evolution
  • Pseudocode for an EA
  • generation 0initialize populationwhile
    generation lt max-generation evaluate fitness of
    population members for i from 1 to
    population-size select two parents crossover
    parents -gt child mutate child insert child
    into next generations population endfor gener
    ation update current populationendwhile

17
Fitness
  • A leap from natural evolution
  • Try each member on the problem and rank them or
    quantify their performance
  • A numerical value is assigned to each member

18
Selection
  • Fitter individuals higher probability of
    selection for reproduction
  • Based on phenotype, an expression of genotype

19
Reproduction
  • Sexual vs asexual
  • Recombine the existing solution candidates
  • Heuristically, we know that solution will improve
    on average

20
Crossover and mutation
  • Crossover operator mixes the genetic material
    from parents for offspring
  • Recombine useful genes
  • Mutation is blind variation, introduces new genes
    into the population

21
Simple example
  • Genome is fixed length binary string
  • Fitness is equal to number of ones
  • Select 1 and 2
  • Crossover at 2110011000111
  • New individuals
  • 110111000011

22
Fitness function
  • Previous steps problem independent
  • Choice of fitness function makes EA problem
    specific
  • Defining and evaluating fitness function often
    complicated and time consuming
  • Often evaluates the genome directly

23
When are EAs useful?
  • Good finding near-optimal solutions for
    complicated and non-linear problems
  • Useful when we lack accurate representation for
    solving problem
  • Requires
  • Representation of candidate solutions
  • Fitness function

24
Fitness Evaluation
  • How to assign fitness according to aesthetic
    criteria?
  • How can we assign numerical values?
  • Need to figure out what to optimize
  • Open problem

25
Fitness Evaluation, strategies
  • Rule based
  • Hard to define and encode rules
  • Learn user preference with neural network
  • Too many parameters, fails in practice
  • User acts as fitness function
  • Human fatigue, short runs

26
Fitness Evaluation, my view
  • Creative design tools with the designer central
  • Tools should be open-ended
  • Cant predict and cater for users needs and
    context
  • Parameterized fitness function
  • User has high level control of evaluation

27
Fitness function, features
  • Multiparametric optimization
  • Fitness emerges as a combination of factors
  • Trade-off between criteria
  • Population gives family of solutions

28
Genr8 A design tool for surface generation
  • Combines EC and an organic growth model
  • Surfaces are grown in a reactive simulated
    physical environment

29
Lindenmayer Systems
  • Organic growth model
  • Widely applied to model plant growth in computer
    graphics
  • L-systems are important in formal language theory
  • Prusinkiewicz and Lindenmayer The algorithmic
    beauty of plants

30
Rewrite systems
  • A set of production rules are repeatedly applied
    to a seed
  • Rules are expressed as a grammar
  • Seed aRule a-gtab b-gtba
  • a -gt ab -gt abba -gt abbabaab -gt ....

31
Turtle graphics
  • Turtle graphics is a way to visualize the grammar
  • Rules are interpreted as instructions for moving
    and drawing in 3D space

32
Example, Koch curve
  • Koch curve or snowflake, a fractal curve
    (infinite length but finite area)
  • Seed a
  • Rule a-gtaa--aa
  • Angle 60
  • Letter - move forward and draw line
  • /- - turn left/right

33
Branching
  • Introduce two new operators to allow branching
  • push state on stack
  • pop state from stack

34
Branching, example
  • Seed a
  • Rule a-gtaaa
  • Angle 45

Draw line
Turtle position
Store position on stack
Turn and draw line
Pop position from stack
Draw line
35
L-systems advanced features
  • Additional features include
  • Time delay (flowers and leaves forming)
  • Random growth (not all plants identical)
  • Environment (tropism)

36
Map L-systems
b -gt b
b
b
37
HEMLS
  • Language specifying surface growth
  • 3D
  • Scaling

38
HEMLS, Environment
  • Growth in a simulated reactive physical
    environment
  • Forces
  • Attractors
  • Repellors
  • Gravity
  • Boundaries

39
Growth example
40
Growth example
41
HEMLS
  • More complex productions
  • Context sensitivity
  • Time variation
  • Stochastic

42
HEMLS rewrite systems
  • Genr8 includes parser for HEMLS rewrite system
  • Turtle instructions parameters
  • User-specified rewrite systems
  • Very hard to construct by hand to obtain specific
    outcome
  • Environmental influence very hard to predict

43
Pre-defined rewrite systems
  • Square and triangular patterns pre-defined
  • Versatile
  • Squares can yieldNURBS-surfaces

44
Evolution
  • Search the universe of possible surfaces
  • Find a rewrite system corresponding to the
    surface the designer has in mind
  • Find something the designer was not thinking of

45
Grammatical Evolution
  • Automatic generation of grammars
  • Many constraints -gt problematic for GP
  • Grammatical Evolution allows any language
  • Use Backus-Naur Form (BNF) to map linear genome
    into a grammar
  • Genetic operations are separated from language
  • www.grammatical-evolution.org (Ryan and ONeill)

46
Grammars
  • Form sentences, arrays of symbols or words from
    an alphabet
  • A grammar defines the syntax of a language
  • Formalism can be applied to English, French,
    java, algebra, etc
  • I stand here correct syntax
  • Here stand I incorrect syntax

47
BNF
  • Formal meta syntax for expressing context free
    grammars
  • N - a finite set of non-terminal symbols,
  • T - a finite set of terminal symbols,
  • S - a special start symbol,
  • P - a finite set of production rules
  • Sentences can be expressed as a tree
  • Leaves are terminals

48
HEMLS, BNF
  • Terminals are turtle commands
  • Genr8 evolves instructions for how to grow a
    surface
  • These instructions are interpreted in a simulated
    environment

49
Mapping
  • Several mappings
  • Increases the complexity
  • Individuals represented by linear genome
  • Selection on the phenotype that is expressed
    through an environment

50
Design evaluation and fitness
  • Fitness function with multiple parameters
  • Size
  • Smoothness
  • Soft boundary
  • Subdivisions
  • Symmetry
  • Undulation
  • User determines target values and weights for the
    criteria

51
Fitness evaluation, example
Fitness value 2.23 1.35 6.4 9.98
52
Interruption, Intervention and Resumption (IIR)
  • Allow user more control of the tool
  • User can guide the evolution by interacting and
    interfering

53
Practicalities
  • Plug-in for Maya
  • Advantages for user
  • Easy to integrate into a design process
  • Easier to learn
  • Advantages for developer
  • Lots of functionality for free

54
Scripting
  • GUI
  • MEL command
  • Scripts for sweeping parameter space
  • Automatic saving, exporting etc

55
When and why to use Genr8
  • Digital sketching tool
  • Can provide suggestions to the user
  • Prepare to give up control
  • Create using different logic
  • Explore novel algorithms for form-finding

56
Using Genr8
  • Set up environment
  • Decide pre-defined, user-defined or evolved
    grammar
  • Set fitness function parameters
  • User evaluates output
  • If not happy Go back to 1else End

57
To keep in mind
  • Understand difference between growth and
    evolution
  • Understand difference in impact between
    parameters, environment and fitness criteria
  • Not all parameters are equally important
  • Pre-defined grammars environment very powerful

58
To keep in mind
  • Avoid getting overwhelmed by the volume of output
  • Impose external evaluation criteria which is
    mapped into Genr8, possibly via external analysis
  • Dont let it run and hope it will produce
    interesting results
  • Must actively prod the tool in the desired
    direction

59
Genr8 issues
  • No notion of materials or structure
  • User must rely on geometry
  • A few annoying bugs
  • Not sure how much students really understand?

60
More about emergent design
  • Genr8 website
  • http//projects.csail.mit.edu/emergentDesign/genr8
  • EDG website
  • http//web.mit.edu/arch/edg
  • EmTech website
  • http//www.aaschool.ac.uk/et
  • Special issue of Architectural Design (AD)

61
Acknowledgements
  • MIT
  • Una-May OReilly
  • Peter Testa
  • Simon Greenwold
  • Devyn Weiser
  • AA
  • Achim Menges
  • Mike Weinstock
  • Michael Hensel
  • Katrin Jonas
  • Michel da Costa Goncalves
  • Steve Fuchs
  • many AA students

62
BNF, Example
  • N ltnumbergt, ltdigitgt T 0, 1, 2, 3, 4, 5,
    6, 7, 8, 9 S ltnumbergt P ltnumbergt
    ltdigitgt ltnumbergt ltdigitgt ltdigitgt 0 1
    2 3 4 5 6 7 8 9

Example 542 gt
ltnumbergt
ltdigitgt
ltnumbergt
5
ltdigitgt
ltnumbergt
4
ltdigitgt
ltnumbergt
2
Write a Comment
User Comments (0)
About PowerShow.com