Chapters 2 -Algorithm
Transcript of Chapters 2 -Algorithm
-
8/12/2019 Chapters 2 -Algorithm
1/11
Chapter 2: Algorithm
What is an algorithm ?
An algorithm is
A finite procedure,Written in a fixed symbolic vocabulary,Governed by precise instructions,Moving in discrete steps,1,2,3,.,Whose execution requires no insight,cleverness,Intuition, intelligence or perspicuity,
And that ,sooner or later, comes to anend.-Berlinski (1999)
During 820 AD, Abu jafar Muhammad
ibn musa al-khwarizmi writes hisab al-
jabr wal-muqabala, calculation by
restoration and reduction, which
demonstrate the solution of linear and
quadratic equations.
Origin of the words algebra and
algorithm are based on his name.
An algorithm is a finite set of
instructions that aim to fulfill a clearly
defined purpose in a finite number of
steps.(Dino,2012)
In simple terms algorithms means a step
by step procedure for calculation. It is a
process of addressing a problem in a
finite number of steps .
An algorithm is the abstraction of a
process and serve as a sequential
pattern that leads towards the
accomplishment of a desired task .
(Terzidis, Algorithmic Architecture)
It is basically a series of instruction also
known as code. Code is defined
primarily as computer program and it
serves three main purpose which are
communication, clarification or
obfuscation.
The simple example of algorithm is a
pattern for knitting a scarf.
Row 1 : (RS) *K2 , P2 across
Row 2,3 & 4 :Repeat row 1
Row 5 : *K2 ,P2 ,C8F *Repeat to last 4 sts,K2 ,P2
Row 6: Repeat row 1
Repeat rows 1-6 for desired length ,ending
with row 4
Bind off in K2 ,P2 pattern
An algorithm is an articulation of either a
strategic plan for solving a known
problem or a stochastic search towards
possible solutions to a partially knownproblem. In doing so , it serves as a
codification of the problem through a
series of finite ,consistent and rational
steps .While most algorithms are
designed with a specific solution in mind
to a problem , there are some problems
whose solution is unknown , vague or ill-
defined. In the latter case , algorithms
become the means for exploring
possible paths that may lead to potentialsolution
(algorithmic architecture , Kostas
terizidis)
An algorithm can be seen as mediator
between human mind and the
-
8/12/2019 Chapters 2 -Algorithm
2/11
computers processing power . This
ability of an algorithm to serve as a
translator can be interpreted as bi-
directional : either as means of dictating
to the computer how to go about solving
the problem , or as a reflection of ahuman thought into the form of an
algorithm .
An algorithm is not only a computer
implementation , a series of lines of
code in a program , or a language , it is
also a theoretical construct with deep
philosophical , social , design and
artistic repercussions .
Like wise , directions to get from one
place to another ,instructions for
assembling kit-ofparts furniture, and
many other types of guidelines are also
algorithms.
Hiking direction to point break
From the north :-Follow the trail from the nature center-Turn right at the water ,walk until you seethe old oak tree
From the south :-From the pinic grove ,follow the botany trail-Turn right on the south meadow trail-Turn right on the meadow ranch trail, walkuntil you see the old oak tree-Follow directions from the old oak tree
From the old oak tree :-Follow the path under the tree-Turn right onto the long hill trail-Follow the trail until you reach point break
Algorithm has four kind of qualities andin order to understand those ,weassociate it with above example of traveldirection .
1) multiple ways to write analgorithmIn other words there are many
ways to reach from point A topoint B.
2) An algorithm needassumptions.Hiking direction take intoassumption that you areproficient in hiking. So dont getinto instruction related to hiking.
3) An algorithm includesdecisions.Direction often include instructionfrom different starting locationsbased on that person need tochoose a starting point
4) A complex algorithm should bebroken down into modularpieces.Direction are often divided intosmall units to make them easy tofollow. There may be separatedirections for coming from thenorth or south, but at a certainpoint the directions converge andboth groups follow the sameinstructions.(Casey Reas)
Three basic control instruction :for algorithm
Sequence ( executing instructionin order )
Selection ( choosing whichinstruction to execute based onconditional if then statements )
Iteration ( repeating instruction in
a linearly or recursively
( chang,2003)
-
8/12/2019 Chapters 2 -Algorithm
3/11
An algorithm can be seen as acomputational procedure for addressinga problem in a finite number of steps . Itinclude deduction , induction ,generalization and structured logic.
It is the systematic extraction of logicalprinciples and the development ofgeneric solution plan .
Algorithmic strategies utilize the searchfor repetitive patterns , universalprinciples , interchangeable modulesand inductive links .
The intellectual power of an algorithmlies in its ability to infer new knowledgeand to extend certain limits of the
human intellect .- (Terzidis, Algorithmic Architecture)
Contrary to common belief , algorithm
are not always based on a solution
conceived entirely in the mind of a
human programmer . Many algorithms
are simulations of the way natural
processes work and as such they must
not be regarded as human inventions
but rather as human discoveries .Suchkind of algorithms also referred as
Nature inspired algorithms .L-system ,
Fractal geometry ,voronoi geometry
are examples of it.
The human programmer serve the
purpose of translating a process
external to human mind to be complied
into machine language which is also
external to the human mind.
Mathematics is a discipline
characterized by rigorous logic and
processes of clearly defined operations
.Methods of computations arise out of
precisely defined numeric systems,
which in turn logically determine valid
operations and geometric representation
.Mathematics in its purest form seeks
not merely solutions, but elegance
,simplicity and beauty .
Mathematics can be understood not
only through its numerical gymnastics,but also simply as a method looking at
the worlda process which can be
experienced and appreciated apart
from the quantitative analyses that it
governs.
Architecture, too seeks beauty through
form and structure, and in the best
instance, conveys through the
articulation of its spatial a new or altered
relationship with its surrounding.
Figure 1.1 Mandelbrot curve
Figure 1.2 Fractal
Figure 1.3 L-sytem
Figure 1.4 voronoi geometry
-
8/12/2019 Chapters 2 -Algorithm
4/11
An algorithm is a formal process thatcan be counted on-logically-to yield arepeatable result whenever it is run orinstantiated. Every computer program isan algorithm, ultimately composed ofsimple steps that can be executed withstupendous reliability by one simplemechanisms or another(Danett,1995)
Algorithm is related to mathematical
discipline , so how it can be associated
with architecture. In order understandthis relation between algorithm and
architecture we need to understand the
term algotecture.
A brief history of algotecture
Algotecture is a term coined here todenote the use of algorithms inarchitecture. This term differs from the
popular terms CAD or computergraphics in the sense that algorithmsare not necessarily dependent oncomputerswhereas the former are, at least, by
definition.
algorithmic architecture is form
authored by external algorithms with no
direct relevance to the designexcept to
determine the aesthetics of it
-DDA
In architectural practice, inputting data
points, calculating structural elements,or printing large line drawings are tasks,or problems, that require the use of thecomputer even though they can beperformed manually. Yet, there aresome problems whose complexity, levelof uncertainty, ambiguity, or range ofpossible solutions required a synergeticrelationship between the human mindand a computer system. Such a synergyis possible only through the use ofalgorithmic strategies that ensure acomplementary and dialecticrelationship between the human mindand the machine.
In the world of design, and in particulararchitecture, the problems designers arecalled upon to solve are not necessarilysolvable in the traditional sense offinding a path between A and B. Apartfromspecific quantitative localized subproblems that occur within somestandardized patterns of construction,the general formal, aesthetic, orplanning considerations are barelyaddressable as discrete solvableproblems. Consequently, it may be moreappropriate to use the term problem-addressing rather than problem-solving.
-
8/12/2019 Chapters 2 -Algorithm
5/11
Whatever the choice is, an algorithmserves as a means for articulating theproblem whether solvable oraddressable. More importantly, becauseof its translational power, an algorithm
can carry out that articulation one stepfurther and process it using acomputersarithmetic and logical power.The combination of both systems, thatis, that of the human and that of thecomputer, is where the true power ofalgorithms lies.
Algorithm is a way of thinking and itsbeing a counter part of the computer, itallows human thoughts to break their
limitations.
Because design is a way of thinkingintrinsically weaved with the mostexistential human characteristics, that oflogic, artificiality, creativity, andidentity, algorithms serve as the meansto explore beyond, in parallel, or in lieuof traditional established ways ofthinking.The notion of addressabilityversus solvability is important in designbecause it allows the algorithms toaddress a problem offering hints,suggestions, or alternatives which maynever have occurred to the humandesigner. In such a synergeticrelationship the unpredictable,impossible or unknown factors give birthto exploration.
In design, algorithms can be used tosolve, organize, orexplore problems with increased visualor organizational complexity. In itssimplest form, a computational algorithmuses numerical methods to addressproblems.
The basic linguistic elements used inalgorithms are constants, variables,
procedures, classes, and libraries andthebasic operations are arithmetical,logical, combinatorial, relational, andclassificatory arranged under specific
grammatical and syntactical rules.
These elements and operationsare designed to address the numericalnature of computers while at the sametime provide the means for composinglogical patterns. For example, pixels ona computer screen are numericalelements defined by their color valueand their x and y coordinates, but at the
same time they can be addressed asvisual compositions defined by logicalpatterns.
While the connotation of an algorithmmay be associated with computerscience, nonetheless the use ofinstructions, commands, or rules inarchitecturalpractice are, in essence, algorithms.Implicitly within the concept of a designalgorithm is perhaps the assumption ofa lack of formal or aesthetic sensitivitydue to the rational and technocraticconnotations associated withmathematical and logical processes.The dominant mode for using computersin architecture today is a combination ofmanually driven design decisions andformally responsive computerapplications. The problem with thiscombination is that neither the designeris aware of the possibilities thatcomputational schemes can producenor the software packages are able topredict the moves, idiosyncrasies, orpersonality of every designer. Therefore,the result is a distancing between thepotential design explorations and thecapacity built into computational tools.
-
8/12/2019 Chapters 2 -Algorithm
6/11
Designers often miss the opportunityopened up to them through digital tools,merely because of lack of understandingthat computation can be part of thedesign process as well.Nature of
Design has always been parametric &the algorithmic.
When architects have a sufficient
understanding of algorithmic concepts,
when we no longer need to discuss the
digital as something different then
computation can become a true method
of design for architecture.
- ADcomputational works-the buildingalgorithmic thoughtbrady peters-pg 7
Computation and computerization
Computation is a term that differs from,but is often confusedwith, computerization.While computation is the procedure of
calculating, i.e. determining somethingby mathematical or logical methods,computerization is the act of entering,processing, or storing information in acomputer or a computer system.
Computerization means :Automation, mechanization, digitization,and conversion.
Computation means:
Rationalization, Logic, algorithm,Deduction, Induction, Extrapolation,Exploration, Estimation, Reasoning.
Generally, it involves the digitization ofentities or processes that arepreconceived, predetermined, and welldefined. In contrast, computation is
about the exploration of indeterminate,vague, unclear, and often ill-definedprocesses; because of its exploratorynature, computation aims at emulatingor extending the human intellect.
In its manifold implications, it involvesproblem-solving, mental structures,cognition, simulation, and rule-basedintelligence, to name a few.
If design becomes completelycomputable there will be no use fordesigners. An understanding ofcomputational design will help youunderstand why this will nothappen. Yet an understanding of
computational design is increasinglyimportant.
I see computational design at the centreof a fruitful intersection of three somewhatindependent bodies of knowledge:computation, design theory, and biology.They each have their ownlanguage and frameworks to describeand discuss what we call design.
Figure 1.5 Interrelationship diagram(DDA)
Computational design is not about
programming .it is more about
understanding design as an information
-
8/12/2019 Chapters 2 -Algorithm
7/11
model that you shape through the
design process .
Computational Design is not aboutcomputation
. Computational Design has very little todo with computation. While computationrelates closely with computer science,its links with design are problematic.Mainlybecause computation is aboutdeterministic processes, whereascomputational design is about theopposite of that. It is
about the exploration of intermediate,
vague, unclear and ill
definedprocesses; because of its exploratorynature, computational design aims atextending the human intellect(Terzidis, Hybrid Form)
Computational design is about thinkingand discussing design using thelanguage of computation. Computationaldesign is just like that, it is written in thelanguage that computers understand,
butwhats being discussed is somethingelse. We need to be very clear of thisdistinction; Especially since the use ofcomputers in architecture is very muchabout computation. It has virtually verylittle to do with computational design.Computational design has very little todo with the way computers areused in design today.Ways to think about design While
computer science provides us the worstlanguage for discussing design, itfurnishes us with incredible tools topractice design. But in early stagedesign Its main value is geometrymanagement.Biology on the other hand seems tohave nothing other than the inspiration
to offer. The way nature it designs isvery different to the way designersdesign. We develop designs throughgeometry. Wedraw, sketch and develop the details as
we progress. The sketch is a simplerform of the original, onlylacking in detail. We are dependent onthe visual link with form. Unlike nature,we cannot design incode. Worst still, we cannot evenimagine the ways in which we candesign other than sketching arepresentations of the final design.
we conceive design development. Weconceive design development as
geometrical process, based on drawingout our designs in lower levels of detailfirst, and progressing to higher levels ofdetail as we complete the design. But onthe other hand, both nature andcomputers design with code. Onedesigns with genes and the other withbytes.
Computers are now used as toolsmainly to represent the final construct.
Technically, computers are currently notused for design.
Computers are used mainly torepresent designs aided byalgorithms to reduce the amount ofeffort and time involved.
Interestingly, both nature and computersdo not visualize design they do notneed to. We need to. So we use tools to
help us with our inabilities. Wejust cannot imagine other ways ofdesigningwithout having to visualize itfirst. We are stuck on this account.While we are aware that there are otherways of designwe are unable toimagine how wecan use it.
-
8/12/2019 Chapters 2 -Algorithm
8/11
Role of computers
The dominant mode of utilizing
computers in architecture today is thatof computerization; entities or processesthat are already conceptualized in thedesigners mind are entered,manipulated, or stored on a computersystem.In contrast, computation or computing,as a computer based design tool, isgenerally limited. The problem with thissituation is that designers do not takeadvantage of
the computational power of thecomputer.
Figure 1.6 : The ENIAC (Y)
Originally the role of computers in
architecture was to replicate humanendeavors and to take the place ofhumans in the design process. Later therole shifted to create systems that wouldbe intelligent assistants to designers,relieving them from the need to performthe more trivial tasks and augmentingtheir decision-making capabilities.
Today, the roles of computers vary fromdrafting and modeling to form-basedprocessing of architecturalinformation. While the future ofcomputers appears to include a variety
of possible roles, it is worth exploringthese roles in the context provided bythe question: Who designs?
It is a common belief among architectsand designers that the mental processof design is conceived , envisioned andprocessed entirely in the human mindand that the computers is merely a toolfor organization , productivity orrepresentation. Whatever capabilities a
computer may have it lacks any level ofcriticality and its visual effects arenothing but mindless connections to beinterpreted by human designer .It is a common belief that , at best , thecomputer can serve merely asprocessor of information provided asdata by the designer and as code bythe programmer outputting simply theresults data processed by algorithms .
What makes this process problematic isthe fact that contrary to common beliefalgorithms can produce results for whichthere is no intention or prediction thereof their behavior .
If one takes the position that designingis not exclusively a human activity andthat ideas exist independently of humanbeings, then it would be possible todesign a computational mechanismwhich would associate those ideas.
These problems, as well as the practicalneeds of architectural offices, led tochanges in the approach. Rather thancompeting with, emulating, or replacing
-
8/12/2019 Chapters 2 -Algorithm
9/11
designers, the approach in the 1970swas predicated on the belief that theyshould assist, complement or augmentthe design process. The machine wasintroduced as an aid to instruction, as a
mediator for the goals and aspirations ofthe architects. The computer couldcommunicate with architects byaccepting information, manipulating it,and providing useful output. In additionto synthesizing form,computers are also able to accept andprocess nongeometric information aboutform.
One pioneering effort in this area is
GLIDE, a language which allowed theuser to assemble buildings. Anotherapproach in the direction of computer-augmented architectural design was themanipulation of architectural formsaccording to rules. Basic structural andfunctional elements were assembled tomake volumes (elements ofcomposition) which, in turn,were assembled to make buildings. Allelements were stored in the computersmemory in symbolic form, and the useroperated on them by manipulatingsymbols in accordance with rulesderived through the classic academictradition.
The good thing about computers is thatthey do not understand anything. Wehave to tell them explicitly how to dostuff. They can learn stuff, based onwhat we teach them. But to get themstarted, we need to represent what wewant them to deal with, in a way theycan munch on it. Thismakes talking to them about designexceedingly difficult because, we in thefirst place do not know what we aretalking about. Such is the nature ofdesign.
In comparison, natures work differently.It uses codes to create stuff that createsstuff that creates other stuff. Its notbased on blue prints of the final form. Itis s sophisticated orchestration of so
many rich and complex activitieselsewe can fix our nose shapes by findingand modifying our nose gene. Wecannot do that. We can only do that inCADbecause the representation isdirect. It provides a direct means ofrepresenting what we want, it happensto be a very poor way of representingwhat we can have. Design should be allabout what we can do.
CAD is very poorly structured for that.CAD in its current form is animpoverished means of representingpossibilities orexploring designs. It was neverdesigned to do that. CAD is a byproduct of Computer AidedManufacturing (CAM). CAM was firstdeveloped to control manufacturingmachines. Of course you needed nicerways to input the design data. That ishow CAD got started. Because of this, ithasexcellent capabilities to representdesignsmaking it ideal to run analysisonto do what computer scienceswould consider as computation. But forus, when we get to that point, it is nolonger design;because the representation of thedesign is finalized. Parametric mayhelp it to stretch it here and there butthat is very little in the vastness ofdesign possibilities that we need toconsider first .
-
8/12/2019 Chapters 2 -Algorithm
10/11
What is digital?
Digital, in the true sense of the meaning,is about the reduction of a process into
discrete patterns and the articulation ofthese patterns into new entities to beused by a computer. Digital is anachievement of the collectiveorganizational properties of computersnot the intrinsic nature of theappearance of their products. In otherwords, digital is a process not aproduct.
If it is seen as a process, then the
emphasis is placed on understanding,distinguishing, and discerning themeans by which design can enter theworld of computation, and not the otherway around.In the last two decades,architecture has transformed from amanually driven tool-based design andpractice profession to a computer-driven form-based design and globalpractice.
Algorithmic logic is about the articulationof thoughts and a vague struggle toexplore possibilities of existentialemergence. When composing analgorithm one is dealing with a symboliclanguage whose vocabulary, syntax,and meaning is closely dependent onthe features of a digital computer.In contrast to a physical language whichis dependent on its communicativepower between human beings,
algorithmsare based on a language which isdependent on its communicative powerbetween a human and a computer.In the early 1960s, a need for rationalityin the design process was beginning togain ground, due primarily to the rise ofthe computer, as an arithmetic and
logical device. If design is a conceptualinteraction between thecontexts demands and the adjustmentsof the form, thenthere may be a way to encode it as a
process by making an abstract picture ofthe problem, which will retain only itsabstract structural features, i.e. analgorithm.
Problem with algorithm
What makes algorithmic logic soproblematic for architects is that they
have maintained an ethos of artisticsensibility and intuitive playfulness intheir practice. In contrast, because of itsmechanistic nature, an algorithm isperceived as a non-human creation andtherefore is considered distant andremote. Traditionally, the dominantmode for discussing creativity inarchitecture has always been that ofintuition and talent, where stylistic ideasare pervaded by an individual, a star,
or a group of talented partners within thepractice. In contrast, an algorithm is aprocedure, the result of which is notnecessarily credited to its creator.
Algorithms are understood as abstractanduniversal mathematical operations thatcan be applied to almost any kind or anyquantity of elements. For instance, analgorithm in computational geometry isnot about the person who invented it but
rather about its efficiency, speed, andgenerality. Consequently, the use ofalgorithms to address formal problemsis regarded suspiciously by some as anattempt to overlook human identity andcreativity and give credit instead to ananonymous, mechanistic, andautomated procedure. In any case,
-
8/12/2019 Chapters 2 -Algorithm
11/11
algorithms are encapsulations ofprocesses or systems of processes thatallow one to leap and adventure into theworld of the unknown whether natural orartificial.
Algorithm are not just the endproduct, but rather a device forexploration.
Rather than using algorithms tocopy, simulate , or replace manualmethods of design , instead they canbe studies as methodologies thatoperate in ways similar , parallel or
complimentary to that of the humanmind.
What distinguishes these processesfromcommon problem-solving is that theirbehavior is often non-predictable andthat frequently they produce patterns ofthought and results that amaze eventheir own creators.