63
INTRO TO ALGORITHMIC DESIGN |

INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

  • Upload
    buinhu

  • View
    226

  • Download
    2

Embed Size (px)

Citation preview

Page 1: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

INTRO TO ALGORITHMIC DESIGN |

Page 2: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

In mathematics, computing, linguistics, and related disciplines, an algorithm is a definite list of

well-defined instructions for completing a task; a recipe; that given an initial state, will proceed

through a well-defined series of successive states, eventually terminating in an end-state.

The transition from one state to the next is not necessarily deterministic; some algorithms,

known as probabilistic algorithms, incorporate randomness.

What is an “algorithm”?

Page 3: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

A scripting language, script language or extension language is a programming language that

allows control of one or more software applications.

"Scripts" are distinct from the core code of the application, which is usually written in a different

language, and are often created or at least modified by the end-user.

Scripts are simple algorithms written by the user to automate processes in various software

platforms , as well as, to gain access to the full capabilities of a software.

What is a script or scripting?

Page 4: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 5: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 6: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Recursion, in mathematics and computer science, is a method of defining

functions in which the function being defined is applied within its own

definition; specifically it is defining an infinite statement using finite

components. The term is also used more generally to describe a process

of repeating objects in a self-similar way. For instance, when the surfaces

of two mirrors are exactly parallel with each other the nested images that

occur are a form of infinite recursion.

http://en.wikipedia.org/wiki/Recursion

Page 7: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 8: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Maya | MEL Script

Rhinoceros 3D | VB Script

3DS Max | Max Script

Catia | Catia Script

PLATFORMS

Page 9: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Basic Algorithms Types

1. Tiling and Weaving Algorithms

2. Packing Algorithms - Random Search and Cellular Automata

3. L-Systems, Branching, and Fractal Algorithms

4. Swarming and Flocking Algorithms - Particle Simulation, Crowd Simulation

5. Evolutionary Algorithms

Page 10: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Tiling and Weaving Algorithms

Page 11: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 12: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

muqarnas

Page 13: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Aperiodic tiling - Girih tiling in the decagonal pattern

Page 14: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Aperiodic tiling – Danzer Triangles

Page 15: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Aperiodic tiling – Aranda Lasch

Page 16: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 17: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 18: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Tiling and Weaving Algorithms

Page 19: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 20: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

http://ncertainties.wordpress.com/category/mark-bearak/

Page 21: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

http://ncertainties.wordpress.com/category/mark-bearak/

Page 22: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 23: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 24: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 25: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Serpentine Gallery – Toyo Ito

Page 26: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 27: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Packing Algorithms

Page 28: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 29: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Packing Algorithms –

Random Search and Cellular Automata

Log Cabin

Aranda and Lasch

Page 30: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Shohei Matsukawa / 000studio,

Algorithmic Space Bungalow

Page 31: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Shohei Matsukawa / 000studio,

Algorithmic Beach House

Page 32: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Laser-cut model scale 1/75 of the Jyväskylä Music and Art Centre by OCEAN NORTH

Page 33: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 34: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Pseudo code

1. Create the grid of poly surfaces with individualized

names.

2. Select each poly surface and randomly assign

visibility of 1 or 0

3. Select each cell, look at neighbors, count how many

are visible, save value for each cells

4. Look at each cell’s neighbor count and apply and

if/else rule to determine state of cell.

Cellular Automata (CA’s)

http://mathworld.wolfram.com/ElementaryCellularAutomaton.html

http://mathworld.wolfram.com/CellularAutomaton.html

http://www.wolframscience.com/nksonline/section-3.5

Page 35: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 36: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Packing Algorithms –

Random Search and Cellular Automata

Museum of Art and Design

Silican Valley, California 2003

Mike Silver Architects

Page 37: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

L-Systems, Branching, and Fractal Algorithms

Page 38: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Fractal Example: Using Koch Curves

The central concept of L-systems is that of rewriting. In general, rewriting is a

technique for defining complex objects by successively replacing parts of a

simple initial object using a set of rewriting rules or productions. The classic

example of a graphical object defined in terms of rewriting rules is the

snowflake curve, proposed in 1905 by Koch von Koch.

Page 39: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Pseudo Code

1. Create a initiator and a generator curve.

2. Replace each line segment with the initiator curve.

3. Reapply Step 2 n times.

Page 40: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 41: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 42: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Aristid Lindenmayer (1968).

A Lindenmayer System is a formal grammar that was initially conceived as a theory of plant

growth. L-Systems can describe complex forms of plants with relatively few simple rules.

http://en.wikipedia.org/wiki/Lindenmayer_system

http://algorithmicbotany.org/papers/#abop

Page 43: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

L-Systems, Branching, and Fractal Algorithms

http://www.michael-hansmeyer.com/projects/l-systems.html?screenSize=1&color=1#2

Page 44: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

L-Systems, Branching, and Fractal AlgorithmsNew Czech National Library

Prague, 2006

Ocean and Scheffler + Partner

Page 45: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Swarming and Flocking Algorithms - Particle Simulation, Crowd Simulation

Page 46: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Swarming and Flocking Algorithms –

Particle Simulation, Crowd Simulation

Page 47: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Agent-Based Algorithms | Utilizing ABM’s to generate tectonic + material organizations at detail scale

Page 48: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Agent-based tectonic and material studies by AADRL Behavioral Matter Studio 2012

Page 49: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Agent-Based Algorithms | Utilizing ABM’s to generate tectonic + material organizations at detail scale

Technique: Path tracing

Page 50: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Evolutionary Algorithms

Page 51: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Pseudo code:

1. Choose initial population

2. Set-up development environment

3. “Grow” population of solutions (Genotype + Environment = Phenotype)

4. Evaluate the fitness of each individual in the population

5. Repeat until termination: (time limit or sufficient fitness achieved)

1. Select best-ranking individuals to reproduce

2. Breed new generation through crossover and/or mutation (genetic operations).

3. Give birth to offspring and “grow” population of new solutions

4. Evaluate the individual fitnesses of the offspring

5. Replace worst ranked part of population with offspring

Example Evolutionary Algorithm

Page 52: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

BASIC STEPS IN AN EVOLUTINARY DESIGN ALGORITHM

1

2

3

THE GENTIC CODE

FITNESS AND SELECTION

REPRODUCTION

Page 53: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Genetic Method

Stage 1: Random Sample

Page 54: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Genetic Method

Stage 2: Fitness ‘Filter’

Page 55: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Genetic Method

Stage 3: Breed new

population

Page 56: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Hill Climbing Method

Locating Local ‘Optimum’

Page 57: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Chair ‘Model T1-M’, after 860 generations (86,000 structural evaluations).

FITNESS AND SELECTION | FITNESS EVALUATION MULTIPLE PARAMETERS

Evolutionary Algorithms

Page 58: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Chair ‘Model T1-M’, after 860 generations (86,000 structural evaluations).Evolutionary Algorithms

Page 59: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Evolutionary Algorithms

Page 60: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

REPRODUCTION AND MUTATION | THE TAXONOMY VERSES THE LONE SOLUTION

Keith Besserud, AIA

Skidmore, Owings, & Merrill (BlackBox Studio)

Joshua Cotten

Skidmore, Owings, & Merrill (BlackBox Studio)

OPTIMIZED FOR SUN EXPOSURE

OPTIMIZED FOR SUN EXPOSURE + FLOOR AREA

Page 61: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

Qatar Convention Center 2004-

Architect: Arata Isozaki Engineer: Mutsuro Sasaki

Page 62: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology
Page 63: INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics, computing, ... Mutsuro Sasaki. INTRO TO ALGORITHM IC DESIGN | Title: Geometry / Topology

INTRO TO ALGORITHM IC DESIGN |