Emergent design
Download
1 / 62

Emergent Design - PowerPoint PPT Presentation


  • 235 Views
  • Updated On :

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Emergent Design' - doli


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Emergent design l.jpg

Emergent Design

Martin Hemberg

Imperial College London

Architectural Association


Yours truly l.jpg
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 l.jpg
Agenda

  • Motivation

  • Emergence

  • Evolutionary Computation (EC)

  • Artificial Life (ALife)

    • Lindenmayer Systems (L-systems)

  • Genr8


Motivation architecture l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Flocking

  • Boids algorithm

  • Craig Reynolds, 1986

  • Used in Lion King, Lord of the Rings, etc

  • Swarm bots

  • Real animals


Flocking rules l.jpg
Flocking, rules

Alignment

Cohesion

Separation


Why is emergence useful l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Neo Darwinian Evolution

  • Survival of the fittest

  • Selection on phenotype

    • Through environment

  • Genotypic inheritance

  • Reproduction

  • Blind variation


Genotype and phenotype l.jpg
Genotype and phenotype

  • Genotype – the genetic makeup of an organism

    • What is inherited

  • Phenotype – the visible or measurable characteristics of an organism


Artificial evolution l.jpg

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 l.jpg
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 l.jpg
Selection

  • Fitter individuals higher probability of selection for reproduction

  • Based on phenotype, an expression of genotype


Reproduction l.jpg
Reproduction

  • Sexual vs asexual

  • Recombine the existing solution candidates

  • Heuristically, we know that solution will improve on average


Crossover and mutation l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Branching

  • Introduce two new operators to allow branching

    • “[“ – push state on stack

    • “]” – pop state from stack


Branching example l.jpg
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 l.jpg
L-systems advanced features

  • Additional features include

    • Time delay (flowers and leaves forming)

    • Random growth (not all plants identical)

    • Environment (tropism)


Map l systems l.jpg

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 l.jpg
HEMLS

  • Language specifying surface growth

    • 3D

    • Scaling


Hemls environment l.jpg
HEMLS, Environment

  • Growth in a simulated reactive physical environment

    • Forces

      • Attractors

      • Repellors

      • Gravity

    • Boundaries




Hemls41 l.jpg
HEMLS

  • More complex productions

    • Context sensitivity

    • Time variation

    • Stochastic


Hemls rewrite systems l.jpg
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 l.jpg
Pre-defined rewrite systems

  • Square and triangular patterns pre-defined

    • Versatile

    • Squares can yieldNURBS-surfaces


Evolution l.jpg
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 l.jpg
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 l.jpg
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


Slide47 l.jpg
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 l.jpg
HEMLS, BNF

  • Terminals are turtle commands

  • Genr8 evolves instructions for how to grow a surface

  • These instructions are interpreted in a simulated environment


Mapping l.jpg
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 l.jpg
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 l.jpg
Fitness evaluation, example

Fitness value = 2.23 + 1.35 + 6.4 = 9.98


Interruption intervention and resumption iir l.jpg
Interruption, Intervention and Resumption (IIR)

  • Allow user more control of the tool

  • User can guide the evolution by interacting and interfering


Practicalities l.jpg
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


Scripting l.jpg
Scripting

  • GUI

  • MEL command

    • Scripts for sweeping parameter space

    • Automatic saving, exporting etc


When and why to use genr8 l.jpg
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 l.jpg
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


To keep in mind l.jpg
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 mind58 l.jpg
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 l.jpg
Genr8 issues

  • No notion of materials or structure

    • User must rely on geometry

  • A few annoying bugs

  • Not sure how much students really understand?


More about emergent design l.jpg
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)


  • Acknowledgements l.jpg
    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 l.jpg
    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>

    2


    ad