Title: Emergent Design
1Emergent Design
- Martin Hemberg
- Imperial College London
- Architectural Association
2Yours 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
3Agenda
- Motivation
- Emergence
- Evolutionary Computation (EC)
- Artificial Life (ALife)
- Lindenmayer Systems (L-systems)
- Genr8
4Motivation, 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
5Motivation, Computer Science
- Application of EC
- Exploration, not optimization
- Fitness evaluation
- Use computers creatively
- Beyond CAD tools
- Require new algorithms and software
6What 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
7Flocking
- Boids algorithm
- Craig Reynolds, 1986
- Used in Lion King, Lord of the Rings, etc
- Swarm bots
- Real animals
8Flocking, rules
Alignment
Cohesion
Separation
9Why 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
10Artificial 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
11Evolutionary 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)
12Optimization
- 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.
13Evolutionary 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
14Neo Darwinian Evolution
- Survival of the fittest
- Selection on phenotype
- Through environment
- Genotypic inheritance
- Reproduction
- Blind variation
15Genotype and phenotype
- Genotype the genetic makeup of an organism
- What is inherited
- Phenotype the visible or measurable
characteristics of an organism
16Artificial 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
17Fitness
- 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
18Selection
- Fitter individuals higher probability of
selection for reproduction - Based on phenotype, an expression of genotype
19Reproduction
- Sexual vs asexual
- Recombine the existing solution candidates
- Heuristically, we know that solution will improve
on average
20Crossover 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
21Simple example
- Genome is fixed length binary string
- Fitness is equal to number of ones
- Select 1 and 2
- Crossover at 2110011000111
- New individuals
- 110111000011
22Fitness 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
23When 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
24Fitness Evaluation
- How to assign fitness according to aesthetic
criteria? - How can we assign numerical values?
- Need to figure out what to optimize
- Open problem
25Fitness 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
26Fitness 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
27Fitness function, features
- Multiparametric optimization
- Fitness emerges as a combination of factors
- Trade-off between criteria
- Population gives family of solutions
28Genr8 A design tool for surface generation
- Combines EC and an organic growth model
- Surfaces are grown in a reactive simulated
physical environment
29Lindenmayer 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
30Rewrite 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 ....
31Turtle graphics
- Turtle graphics is a way to visualize the grammar
- Rules are interpreted as instructions for moving
and drawing in 3D space
32Example, 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
33Branching
- Introduce two new operators to allow branching
- push state on stack
- pop state from stack
34Branching, 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
35L-systems advanced features
- Additional features include
- Time delay (flowers and leaves forming)
- Random growth (not all plants identical)
- Environment (tropism)
36Map L-systems
b -gt b
b
b
37HEMLS
- Language specifying surface growth
- 3D
- Scaling
38HEMLS, Environment
- Growth in a simulated reactive physical
environment - Forces
- Attractors
- Repellors
- Gravity
- Boundaries
39Growth example
40Growth example
41HEMLS
- More complex productions
- Context sensitivity
- Time variation
- Stochastic
42HEMLS 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
43Pre-defined rewrite systems
- Square and triangular patterns pre-defined
- Versatile
- Squares can yieldNURBS-surfaces
44Evolution
- 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
45Grammatical 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)
46Grammars
- 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
47BNF
- 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
48HEMLS, BNF
- Terminals are turtle commands
- Genr8 evolves instructions for how to grow a
surface - These instructions are interpreted in a simulated
environment
49Mapping
- Several mappings
- Increases the complexity
- Individuals represented by linear genome
- Selection on the phenotype that is expressed
through an environment
50Design evaluation and fitness
- Fitness function with multiple parameters
- Size
- Smoothness
- Soft boundary
- Subdivisions
- Symmetry
- Undulation
- User determines target values and weights for the
criteria
51Fitness evaluation, example
Fitness value 2.23 1.35 6.4 9.98
52Interruption, Intervention and Resumption (IIR)
- Allow user more control of the tool
- User can guide the evolution by interacting and
interfering
53Practicalities
- 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
54Scripting
- GUI
- MEL command
- Scripts for sweeping parameter space
- Automatic saving, exporting etc
55When 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
56Using 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
57To 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
58To 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
59Genr8 issues
- No notion of materials or structure
- User must rely on geometry
- A few annoying bugs
- Not sure how much students really understand?
60More 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)
61Acknowledgements
- 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
62BNF, 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