Algoritmos y arquitectura: Un nuevo horizonte del diseño

 

Despiertas y debes preparar tu desayuno. Una vez decidido, planeas qué necesitas específicamente y qué actividades realizarás para lograr tu objetivo: ollas, insumos, cantidades y tiempo. Este procedimiento discreto lo realizamos cada vez que intentamos resolver un problema en nuestras mentes, gracias a la experiencia que hemos adquirido. Como una receta de cocina, así mismo están compuestos los algoritmos: un conjunto de acciones ordenadas alimentado con parámetros específicos, con el objetivo de lograr un resultado determinado. ¿Necesitas más huevos? ¿Precisas bajar la temperatura? Cualquier cambio resulta en un desayuno diferente.

 
[Receta de cocina.](Infografía del autor)

[Receta de cocina.](Infografía del autor)

 

Pero, ¿cómo contextualizamos nuestro proceso de diseño por medio de algoritmos? Primero, un poco de historia.

Las herramientas de diseño básico y fluido siempre han sido sencillas, desde los inicios rupestres hasta el lápiz, la tinta y el papel, capturando nuestras ideas, precisas o abstractas, para visualizar o resolver problemas. Durante este proceso se pueden producir múltiples resultados, pero, bajo este método, solo lo terminado queda grabado. 

Con la llegada de la era digital, el diseño asistido por computadora (CAD, por sus siglas en inglés) evolucionaría el medio a una manera versátil y sostenible. Esto trajo consigo la oportunidad de probar y corregir diseños de una forma mucho más eficiente y económica. Supuso un cambio del medio físico al digital que era necesario, pero aún requería realizar tareas muy repetitivas y análogas.

 
[Imagen 2][La digitalización del proceso de dibujo arquitectónico ha sido un gran avance en la facilidad de lograr resultados de forma eficiente y económica.] (Infografía del autor)

[Imagen 2]

[La digitalización del proceso de dibujo arquitectónico ha sido un gran avance en la facilidad de lograr resultados de forma eficiente y económica.] (Infografía del autor)

 

En la búsqueda de una metodología que realmente aprovechara las ventajas del manejo de datos computacionales y el proceso de diseño arquitectónico, el modelado de información de construcción (BIM) formuló, por primera vez, una interfaz de parámetros preprogramados enfocados realmente en satisfacer la necesidad de simplificar tareas repetitivas, convirtiendo el proceso al campo tridimensional y el manejo de datos simultáneamente. Un escenario híbrido entre la manera artesanal de diseñar y elementos paramétricos preestablecidos que ayudan a facilitar el resultado final.

 
[Imagen 3][La implementación BIM ha tomado una punta de lanza en el nuevo siglo XXI, como parte del enfoque en desarrollar una plataforma integral en la arquitectura.] (Infografía del autor)

[Imagen 3]

[La implementación BIM ha tomado una punta de lanza en el nuevo siglo XXI, como parte del enfoque en desarrollar una plataforma integral en la arquitectura.] (Infografía del autor)

 

Al arribar el internet, esto supuso un cambio radical en la manera cómo transmitimos información y el desarrollo del software abrió las puertas a no solo el desarrollo tipo “caja negra” (desarrollo orientado a lo que hace y no a cómo lo hace), sino también un tipo de colaboración conjunta de código abierto (open source). Esto logró que muchos usuarios experimentaran creando scripts: libretos escritos en un lenguaje de programación para generar resultados de manera casi inmediata. Por primera vez empezamos a diseñar, no solo el resultado, sino el proceso.

Dentro del avance surgió una nueva ventana para programar, no solo a través de scripts de texto en lenguajes de programación como Python o C#, sino también a la programación visual, basado generalmente en nodos predefinidos que realizan acciones. Esto dio como resultado el surgimiento de programas como Grasshopper, un software enlazado a Rhinoceros 3D que usa la programación visual para diseñar algoritmos de modelado 3D. Esto supondría un campo completamente nuevo dentro de la arquitectura: el modelado algorítmico.

 
[Imagen 4][La posibilidad de incluir scripts dentro del proceso de diseño enriquece enormemente la ejecución de tareas demandantes y ha colaborado con la introducción del arquitecto a la programación.] (Infografía del autor)

[Imagen 4]

[La posibilidad de incluir scripts dentro del proceso de diseño enriquece enormemente la ejecución de tareas demandantes y ha colaborado con la introducción del arquitecto a la programación.] (Infografía del autor)

 

·      Modelado algorítmico

A pesar de que la programación visual no es nueva, ha significado una ventana muy intuitiva hacia diseñadores no afines al campo de la programación y una forma diferente en cómo formular el proceso de diseño. Grasshopper es esencialmente un programa de modelado algorítmico, donde usas el teclado y el ratón para diseñar, explícitamente, algoritmos. Cada nueva interación que se diseñe es recomputada, pero el proceso de diseño queda registrado.

 
[Imagen 5 - árbol de Grasshopper y visualizada en rhino][En Grasshopper, toda geometría creada es visualizada tridimensionalmente en Rhinoceros 3D (programa CAD) desde puntos, líneas, superficies, mallas o datos en general.] (Infografía del autor)

[Imagen 5 - árbol de Grasshopper y visualizada en rhino]

[En Grasshopper, toda geometría creada es visualizada tridimensionalmente en Rhinoceros 3D (programa CAD) desde puntos, líneas, superficies, mallas o datos en general.] (Infografía del autor)

 

El método que emplea el diseño algorítmico para realizar sus procesos está compuesto por 3 elementos básicos: entrada de datos (input), proceso determinado y salida de datos (output). Regresando, por ejemplo, a nuestro desayuno: tomar los ingredientes (input), cocinarlos en la olla (proceso clave) y servir tu comida (output). De cierta forma, muchos procesos humanos tienen una base algorítmica, pero de una manera implícita.

 
[Imagen 6][Orden de construcción algorítmica en Grasshopper.] (Infografía del autor)

[Imagen 6]

[Orden de construcción algorítmica en Grasshopper.] (Infografía del autor)

 

Al modelar una masa de manera tradicional seguimos una serie de pasos específicos: primero pensamos en nuestro objetivo (masa), luego escribimos los comandos necesarios para crearla, moverla, escalarla, rotarla y cortarla como queramos, y visualizamos nuestra creación al instante y de una forma muy interactiva. Pero en el modelado algorítmico no existe interacción, cada acción que se quiera tomar debe especificarse de manera explícita, ya sea dimensiones, vectores, orientación, etc., por medio de parámetros.

[Imagen 7][Readaptación del sistema estructural de Eden Project (Cornualles, Inglaterra) sobre la forma de un cíclido parabólico.] (Infografía del autor)

[Imagen 7]

[Readaptación del sistema estructural de Eden Project (Cornualles, Inglaterra) sobre la forma de un cíclido parabólico.] (Infografía del autor)

Existen algoritmos también capaces de retroalimentar sus propios datos en un ciclo de reacción repetitiva, con la posibilidad de realizar simulaciones físicas. Un plug-in muy utilizado dentro de Grasshopper es Kangaroo physics, con componentes aptos para la simulación de viento, relajación estructural liviana y colisiones.

 
[Imagen 8][A través de Kangaroo physics es posible ejercer lo que se conoce como “form finding”: proceso de diseño enfocado a la elaboración de un sistema estructural lo suficientemente flexible para encontrar su forma en función de las necesidades …

[Imagen 8]

[A través de Kangaroo physics es posible ejercer lo que se conoce como “form finding”: proceso de diseño enfocado a la elaboración de un sistema estructural lo suficientemente flexible para encontrar su forma en función de las necesidades y propiedades mecánicas de sus materiales.
Foto por: Andrés Flajszer]

 

Diseño generativo

Dentro de esta rama (también conocida como diseño computacional) han logrado entrar nuevas ideas que aportan una metodología para resolver problemas aún más complejos que el diseño paramétrico no puede resolver fácilmente, que van desde la aplicación de la teoría de la evolución de Darwin hasta principios de inteligencia artificial, conocido en un término general como diseño generativo, pero este término ha sufrido una definición bastante vaga en el argot computacional. Por ahora solo me referiré a una pequeña parte, como ejemplo, de los múltiples campos dentro del proceso generativo conocido como solucionadores evolutivos (evolutionary solvers).

Los solucionadores evolutivos son algoritmos que implementan el concepto de la “evolución biológica” para analizar la posible solución a un problema. Un algoritmo evolucionario usa una búsqueda metaheurística (método algorítmico para la búsqueda de una solución lo suficientemente buena), funcionando como un medio de optimización aproximada. Durante su función, el algoritmo necesita de parámetros para satisfacer el resultado lo más cercano posible de una manera progresiva. Un algoritmo evolutivo puede tener múltiples objetivos para satisfacer y es deber del diseñador intuir al algoritmo el resultado que busca. Al final, el algoritmo “genera” un paisaje de opciones, de las cuales se debe escoger la que mejor ofrezca el resultado aparente y deseado.

 
[Imagen 9][Optimización de proporción y forma de cintas de membrana mediante el plug-in Octopus: permite admitir múltiples objetivos para optimizar.] (Infografía del autor)

[Imagen 9]

[Optimización de proporción y forma de cintas de membrana mediante el plug-in Octopus: permite admitir múltiples objetivos para optimizar.] (Infografía del autor)

 

Como método de optimización, estos algoritmos empoderan el proceso de diseño con un método capaz de realizar tareas difíciles de resolver, casi como un atajo al resultado, ahorrando una inmensa cantidad de tiempo. También ha servido de piedra angular para la investigación, por ejemplo, de componentes de análisis y optimización estructural, y la optimización topológica estructural (proceso de aligeramiento que mantiene las funcionalidades mecánicas del componente objetivo).

 
[Imagen 10][Optimización estructural topológica mediante el plug-in Ameba. Foto de: https://www.food4rhino.com/app/ameba]

[Imagen 10]

[Optimización estructural topológica mediante el plug-in Ameba. Foto de: https://www.food4rhino.com/app/ameba]

 

Una cosa es cierta, como lo dice David Rutten, creador de Grasshopper, en su blog “I eat bugs for breakfast”, los algoritmos evolutivos no garantizan una solución absoluta, ejecutándose de manera indefinida hasta quizás nunca encontrar la respuesta. También pueden ser “lentos”. Encontrar una solución podría tardar horas, días y hasta semanas. Es un proceso progresivo que necesita intuirse, modificarse muchas veces hasta alcanzar un resultado objetivo. Sin embargo, también pueden ser muy flexibles al tomar una amplia variedad de problemas a la vez.

De arquitecto a programador

Diseñar algoritmos requiere cierto nivel de conocimiento en geometría, matemáticas y programación. Como arquitectos, en un principio puede ser algo abrumador, pero no es imposible que la práctica y el tiempo ayuden a ejercitar ese músculo mental. Con el modelado algorítmico es de suma importancia tomar en cuenta que para llegar a un objetivo específico debes manejar el flujo de la información de una manera ordenada, controlar la economía en el nivel de información y los recursos necesarios para computar el resultado de una manera eficiente. Para ayudarlos a adentrarse, les recomiendo 4 pasos sencillos al momento de realizar un algoritmo:

  1. Piensa claramente en el resultado deseado (output)

  2. Intenta identificar los procesos necesarios para alcanzar el resultado (procesos clave)

  3. Reconoce los datos y los parámetros que necesitas (input)

  4. Define los pasos intermedios para generar los datos implícitos del proceso.

Para realizar un proceso algorítmico no necesitas una computadora. Arquitectos como Gaudí o Frei Otto construyeron modelos interactivos dentro de su proceso de diseño para tener una retroalimentación más directa. Los algoritmos están en todas partes y son elementos de nuestra vida diaria, pero la computación ha levantado el pensamiento algorítmico a nuevos niveles de análisis que un ser humano no podría realizar en poco tiempo. Así que la próxima vez que pienses en cómo hacer tu desayuno, maravíllate de lo increíble que es la mente humana mientras saboreas un rico omelette.


Johan Navarro / Arquitecto

Johan Navarro / Arquitecto

Duabitad más que arquitectura y diseño


Las opiniones plasmadas en este artículo corresponden enteramente al autor del mismo, no representa la opinión de la empresa.