1 / 62

Emergent Design

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

doli
Download Presentation

Emergent Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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.

  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. 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;

  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 • Can’t predict and cater for user’s 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->ab b->ba a -> ab -> abba -> abbabaab -> ....

  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->a+a--a+a 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->a[+a]a 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. 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

  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 -> 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)

  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

More Related