INTRO TO ALGORITHMIC DESIGN - WordPress.com · INTRO TO ALGORITHMIC DESIGN | In mathematics,...

Preview:

Citation preview

INTRO TO ALGORITHMIC DESIGN |

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”?

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?

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

Maya | MEL Script

Rhinoceros 3D | VB Script

3DS Max | Max Script

Catia | Catia Script

PLATFORMS

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

Tiling and Weaving Algorithms

muqarnas

Aperiodic tiling - Girih tiling in the decagonal pattern

Aperiodic tiling – Danzer Triangles

Aperiodic tiling – Aranda Lasch

Tiling and Weaving Algorithms

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

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

Serpentine Gallery – Toyo Ito

Packing Algorithms

Packing Algorithms –

Random Search and Cellular Automata

Log Cabin

Aranda and Lasch

Shohei Matsukawa / 000studio,

Algorithmic Space Bungalow

Shohei Matsukawa / 000studio,

Algorithmic Beach House

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

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

Packing Algorithms –

Random Search and Cellular Automata

Museum of Art and Design

Silican Valley, California 2003

Mike Silver Architects

L-Systems, Branching, and Fractal Algorithms

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.

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.

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

L-Systems, Branching, and Fractal Algorithms

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

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

Prague, 2006

Ocean and Scheffler + Partner

Swarming and Flocking Algorithms - Particle Simulation, Crowd Simulation

Swarming and Flocking Algorithms –

Particle Simulation, Crowd Simulation

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

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

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

Technique: Path tracing

Evolutionary Algorithms

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

BASIC STEPS IN AN EVOLUTINARY DESIGN ALGORITHM

1

2

3

THE GENTIC CODE

FITNESS AND SELECTION

REPRODUCTION

Genetic Method

Stage 1: Random Sample

Genetic Method

Stage 2: Fitness ‘Filter’

Genetic Method

Stage 3: Breed new

population

Hill Climbing Method

Locating Local ‘Optimum’

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

FITNESS AND SELECTION | FITNESS EVALUATION MULTIPLE PARAMETERS

Evolutionary Algorithms

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

Evolutionary Algorithms

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

Qatar Convention Center 2004-

Architect: Arata Isozaki Engineer: Mutsuro Sasaki

INTRO TO ALGORITHM IC DESIGN |

Recommended