bartlett

Shared by:
Categories
Tags
-
Stats
views:
1
posted:
11/11/2011
language:
English
pages:
62
Document Sample

```							Emergent Design

Martin Hemberg
Imperial College London
Architectural Association
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
Agenda
• Motivation
• Emergence
• Evolutionary
Computation (EC)
• Artificial Life (ALife)
– Lindenmayer Systems
(L-systems)
• Genr8
Motivation, Architecture
• New paradigm, based on different
– New algorithms and ways of thinking required
• Inspiration from biology
– Biomimetics
• Natural form has aesthetic and functional
values
Motivation, Computer Science
• Application of EC
– Exploration, not
optimization
– Fitness evaluation
• Use computers
creatively
– Require new
algorithms
and software
What is Emergence?
• The whole is greater than
the sum of the parts
down
• Local interactions produce
global behaviour
• Examples include brain,
economics, flocks, etc
Flocking
• Boids algorithm
• Craig Reynolds, 1986
• Used in Lion King,
Lord of the Rings, etc
• Swarm bots
• Real animals
Flocking, rules

Alignment                 Cohesion

Separation
Why is emergence useful?
• Focus on bottom-up interactions
– Complex behaviour comes from interaction of
simple parts
– New possibilities for designers and architects
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
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)
Optimization

• Find the best possible solution
• Mathematically:
Given: a function f : A->R from some set A to the real numbers
Sought: an element x0 in A such that f(x0) ≤ f(x) for all x in A.
Evolutionary Computation, features
• Population of candidate solutions
– Parallel search for solutions
• Population of solutions for a specific
• No guarantees for finding global optimum
Neo Darwinian Evolution
• Survival of the fittest
• Selection on
phenotype
– Through environment
• Genotypic inheritance
• Reproduction
• Blind variation
Genotype and phenotype
• Genotype – the
genetic makeup of an
organism
– What is inherited
• Phenotype – the
visible or measurable
characteristics of an
organism
Artificial evolution
Pseudocode for an EA:
generation = 0;
initialize population;
while generation < max-generation
evaluate fitness of population members
for i from 1 to population-size
select two parents;                 Fitness biased selection
crossover parents -> child;         Inheritance Iterate
mutate child;                       Variation      by
insert child into next generation’s population;    generation
endfor;
generation++;
update current population
endwhile;
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
Selection
• Fitter individuals
higher probability of
selection for
reproduction
• Based on phenotype,
an expression of
genotype
Reproduction
• Sexual vs asexual
• Recombine the existing solution
candidates
• Heuristically, we know that solution will
improve on average
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
Simple example
•   Genome is fixed        Genome   Fitness   Select
length binary string   110011   4         1/3
•   Fitness is equal to
000111   3         ¼
number of ones
–   Select 1 and 2     011010   3         ¼
–   Crossover at 2     000101   2         1/6
110011
000111
•   New individuals
110111
000011
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
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
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
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
Fitness Evaluation, my view
• Creative design tools with the designer
central
– Tools should be open-ended
– Can’t predict and cater for user’s needs and
context
• Parameterized fitness function
– User has high level control of evaluation
Fitness function, features
• Multiparametric
optimization
– Fitness emerges
as a combination
of factors
between criteria
• Population gives
family of solutions
Genr8 – A design tool for surface
generation
• Combines EC and an
organic growth model
• Surfaces are grown in
a reactive simulated
physical environment
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”
Rewrite systems
• A set of production rules are repeatedly
applied to a seed
• Rules are expressed as a grammar:
Seed:         a
Rule:         a->ab
b->ba

a -> ab -> abba -> abbabaab -> ....
Turtle graphics
• Turtle graphics is a
way to visualize the
grammar
• Rules are interpreted
as instructions for
moving and drawing
in 3D space
Example, Koch curve
• Koch curve or
snowflake, a fractal
curve (infinite length
but finite area)
Seed:     a
Rule:     a->a+a--a+a
Angle:    60
– Letter - move forward
and draw line
– +/- - turn left/right
Branching
• Introduce two new operators to allow
branching
– “[“ – push state on stack
– “]” – pop state from stack
Branching, example
Seed:          a
Rule:          a->a[+a]a
Angle:         45

Draw line
Turtle position
Store position on stack
Turn and draw line
Pop position from stack

Draw line
include
– Time delay (flowers
and leaves forming)
– Random growth (not
all plants identical)
– Environment (tropism)
Map L-systems
c                   b           b             b        b
a -> d[~a]b    a   b a                                              a
b                       d b                       c   b       a         c
d                                                a
a                       b       d             b        d
b -> b         b   b            seed
b           b               b            b            b        b
b               b           b             b           b         b
a                           d b                   c b
b                           b                         b
b    a                           b                         b                     b
c -> b[-~a]b   c                    d                               c a
b            b               c               b b b                 b B b

d   c
d -> c
HEMLS
• Language
specifying
surface
growth
– 3D
– Scaling
HEMLS, Environment
• Growth in a simulated
reactive physical
environment
– Forces
• Attractors
• Repellors
• Gravity
– Boundaries
Growth example
Growth example
HEMLS
• More complex
productions
– Context sensitivity
– Time variation
– Stochastic
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
Pre-defined rewrite systems
• Square and
triangular patterns
pre-defined
– Versatile
– Squares can yield
NURBS-surfaces
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
Grammatical Evolution
• Automatic generation of grammars
• Many constraints -> 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 O’Neill)
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
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
HEMLS, BNF
• Terminals are turtle
commands
• Genr8 evolves
instructions for how
to grow a surface
• These instructions are
interpreted in a
simulated
environment
Mapping
• Several mappings
– Increases the
complexity
• Individuals
represented by linear
genome
• Selection on the
phenotype that is
expressed through an
environment
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
Fitness evaluation, example
Criteria     Target   Weight     Surface      Diff         W Diff
Smooth       5        1
7.23         2.23         2.23
Subdivisio   0        3          0.45         0.45         1.35
ns
Undulation   3        2          6.2          3.2          6.4

Fitness value = 2.23 + 1.35 + 6.4 = 9.98
Interruption, Intervention and
Resumption (IIR)
• Allow user more
control of the tool
• User can guide the
evolution by
interacting and
interfering
Practicalities
• Plug-in for Maya
– Easy to integrate into a design process
– Easier to learn
Scripting
• GUI
• MEL command
– Scripts for sweeping
parameter space
– Automatic saving,
exporting etc
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
Using Genr8
1. Set up environment
2. Decide pre-defined, user-defined or
evolved grammar
– Set fitness function parameters
3. User evaluates output
4. If not happy
Go back to 1
else
End
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
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
– Don’t let it run and hope it will produce
interesting results
– Must actively prod the tool in the desired
direction
Genr8 issues
• No notion of materials
or structure
– User must rely on
geometry
• A few annoying bugs
• Not sure how much
students really
understand?
• 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)
Acknowledgements
• MIT
–   Una-May O’Reilly
–   Peter Testa
–   Simon Greenwold
–   Devyn Weiser
• AA
–   Achim Menges
–   Mike Weinstock
–   Michael Hensel
–   Katrin Jonas
–   Michel da Costa Goncalves
–   Steve Fuchs
–   + many AA students
BNF, Example
• N = { <number>, <digit> }
T = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
S = { <number> }
P = {<number> ::= <digit> | <number> <digit>
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }

Example: 542 => <number>

<digit> <number>
5
<digit> <number>
4
<digit> <number>

```
Related docs
Other docs by 28x4n3X
Conklin
MediaBestPractices
Chalk 20Flower
J117534868 - Excel - Excel