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 |
Top Related