Why Algorithms?        
           
           
 

What method, what system, does an architect use to design a building? How are programmatic needs and context – with their degrees of freedom and constraints – translated into architectural design?

Regardless of their complexity, the tasks and decisions involved can be formalized as an algorithm. As such, algorithms provide a framework for articulating and defining both input data and procedures. This formalization can promote structure and coherency, while systemically maintaining full traceability of all input data.

In recent years, algorithms in architecture have been able to transcend their role as frameworks of formalization and abstraction. This has been made possible in a large part by the integration of scripting languages into CAD programs.

 

   

Algorithms’ output can now be directly visualized, enabling their use as a generative design tool. Since algorithms provide the benefits of scalability and permutability, multiple variations of a scheme are easily generated. A slight tweaking of inputs or process leads to an instant adaptation of output.

The question arises to what extent the codification of a process through an algorithm has the ability to influence and alter the process itself. Can the structure, grammar, and logic of the language used to depict the algorithm have a relevance per se to the design, and can elements of this logic be embedded into the architecture? Can the language itself provide a basis for architecture?