660 likes | 1.08k Views
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
E N D
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 concepts than traditional design logics • 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 • Beyond CAD tools • Require new algorithms and software
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
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 • Traditionally top-down control • 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 numbersSought: 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 problem adapts generation by generation • 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
Iterate by generation Fitness biased selection Inheritance Variation 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; crossover parents -> child; mutate child; insert child into next generation’s population; endfor; generation++; update current populationendwhile;
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 length binary string • Fitness is equal to number of ones • Select 1 and 2 • Crossover at 2110011000111 • New individuals 110111000011
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 • Trade-off 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: aRule: 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
L-systems advanced features • Additional features include • Time delay (flowers and leaves forming) • Random growth (not all plants identical) • Environment (tropism)
c b b b b a -> d[~a]b b a a a c c d b a b b d a a d b b d seed b b b b b b b b b b b b a c d b b b b b b a b b b c -> b[-~a]b c a c d b B b b b b b b c d c d -> c Map L-systems b -> b b b
HEMLS • Language specifying surface growth • 3D • Scaling
HEMLS, Environment • Growth in a simulated reactive physical environment • Forces • Attractors • Repellors • Gravity • Boundaries
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 yieldNURBS-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