Chapters 2 -Algorithm

download Chapters 2 -Algorithm

of 11

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.