Monografias.com > Computación
Descargar Imprimir Comentar Ver trabajos relacionados

Una aplicación de diseño basado en las gramáticas generativas y en la vida artificial



Partes: 1, 2, 3

  1. Introducción
  2. Marco teórico
  3. L-systems y autómatas celulares
  4. Diseño generativo, software e interfaces
  5. Implementación
  6. Codigo fuente

1 INTRODUCCIÓN

1.1 Definición del problema

Las técnicas de diseño generativo, que se basan en las simulaciones de los procesos naturales y en los sistemas dinámicos y del caos, son cada vez más estudiadas y utilizadas por sus innovadoras metodologías y por las posibilidades creativas que ofrecen. Con la difusión de las computadoras en el diseño, estas técnicas se presentan cómo un complemento y una alternativa al diseño tradicional, así como está implementado en las herramientas digitales actualmente en el mercado.

Pero Las técnicas generativas en el diseño industrial, en la arquitectura y en el diseño gráfico están todavía en un estadio experimental. Existen estudios y prototipos de softwares que utilizan algoritmos de vida artificial para aplicaciones artísticas, pero casi todos son herramientas desarrolladas por investigadores sin necesariamente pensar en aplicaciones prácticas y menos a los usuarios.

Estos sistemas no cuentan con metodologías de interacción con los usuarios amigables y abiertas. En realidad son sistemas poco interactivos y que los usuarios no pueden controlar muy bien. Aún utilizando técnicas generativas, que deberían permitir resultados diversificados, terminan siendo rígidos y deterministas.

Además, no cuentan con interfaces amigables y su uso es difícil.

En el campo educativo no hay herramientas de estudio e investigación en este campo.

Por lo tanto una aplicación eficaz de estas técnicas generativas debería ser: abierta, relativamente fácil de utilizar, interactiva y lo más creativa posible. Debe permitir la libre experimentación de los usuarios en lugar de imponer recetas preestablecidas.

1.2 Justificación del sistema

Una de las ventajas del diseño generativo se refiere a la metodología emergente, abierta e interactivas que las herramientas generativas proporcionan, facilitando así una aproximación sistemica a los problemas del diseño. Dicha posibilidad permite integrar, en modo organico, las complejidades inherentes a los diferentes contextos a los cuales el diseño se refiere. Elementos prexistentes al diseño como las estéticas, las restricciones urbanísticas y ecológicas, los factores sociales y culturales pueden, gracias a la tecnología de la información, ser aprovechados más facilmente.

En segundo lugar, las herramientas generativas relacionan el diseño con los procesos naturales, tanto en los aspectos constructivos (bioingeniería, bioarquitectura) cuanto en los aspectos formales. Aqui las simulaciones y los modelos matemáticos permiten aprovechar creativamente de la complejidad y de la belleza de la naturaleza, ampliando notablemente las posibilidades creativas del diseñador.

Finalmente, la velocidad operativas de los modernos ordenadores permite al diseñador concentrarse en los aspectos estéticos y conceptuales y de experimentar rapidamente diferentes soluciones proyectuales ya que el proceso generativo se encarga de generar las diferentes variaciones de los diseños.

El diseño con la vida artificial y con otros sistemas generativos se puede hacer a mano, pero las caracterísitcas recursivas de estos algorítmos y la grande complejidad geométrica que se puede generar con ellos hace que un software sea la solución más indicada, tanto desde el punto de vista productivo y profesional cuanto educativo y experimental.

Los costos son bajos porque no se requiere de periféricos especiales ni especiales exigencias de memoria, velocidad de procesamiento y visualización en pentalla.

1.3 Objetivos del sistema y del proyecto

Este proyecto tiene como objetivo desarrollar un paquete de diseño digital que ofrezca al diseñador este conjunto de procesos entre los cuales resultan particularmente útiles las gramáticas generativas, los fractales y la autosimilaridad y la vida artificial.

Este software tiene como objetivo principal, en una primer fase, apoyar y fortalecer educativamente la enseñanza del diseño en los aspectos relativos al estudio de la forma, sin que dicha impostación inicial perjudique su expansión y la implementación de funciones más complejas.

El objetivo general de la herramienta es ofrecer un entorno de diseño generativo facil de utilizar, interactivo, personalizado y en grado de ofrecer un apoyo al estudio de formas, al desarrollo de diseños de varias naturalezas en 2 o 3 dimensiones y a la experimentación arquitectónica.

  • Desarrollar una herramienta de diseño generativo basada en dos técnicas: las gramáticas generativa (L-Systems) y algunos aspectos de la vida artificial (Cellular Autómata).

  • Dicha herramienta tiene como finalidad principal el estudio de la forma por medio de procesos emergentes. Se trata entonces de una herramienta académica, pensada, por ahora, por fines educativos, formativos y de investigación

  • Aplicaciones: se puede utilizar dentro los cursos de diseño en especial modo aquellos que implican las cuestiones formales y estéticas del diseño, y puden ser de mucho interes para varias instituciones académicas, no solo de nuestro medio.

  • Funciones y características principales:

Diseño de modelos arquitéctonicos bi y tridimensionales

Diseño de gramáticas generativas personalizadas

Diseño e implementación de primitivas geométricas

Editing interactivo de los procesos generativos

Gestión de base de datos de lenguajes y gramáticas

Gestión de colores y texturas

Compatibilidad con VRML y paquetes freeware de rendering y animación 3D

Gestión de imagenes bitmap y compatibilidad con los formatos BMP y TGA en alta resolución

  • Características técnicas

Compatible Windows/Linux

Implementación en VisualBasic, C++ o en Java

Interfaces gráfica

Expandibilidad

Compatibilidad

2 MARCO TEÓRICO

2.1 Arte generativo

Por generativo se entiende un proceso que utiliza alguna dinámica natural o artificial, orgánica o inorgánica, química o mecánica que sea capaz de generar autónomamente algunas forma estructurada o de orden estético [Galanter, 2000]. Un proceso generativo es indeterministico y emergente, en el sentido que el orden o el resultado del proceso no son determinados de antemano sino que resultan desde la interacción entre los elementos del sistema. Ahora hay que decir que los procesos realmente indeterministicos son producidos por sistemas vivos, los sistemas inorgánicos o artificiales en realidad son impredecibles solamente en el sentido que la complejidad que alcanzan no puede ser descrita sino al finalizar el proceso. Un caso de este tipo son los fractales.

Sin embargo, los procesos artificiales pueden ser indeterministicos cuando interactúan con el usuario, que es entonces aquel que brinda aquélla variedad que en lo artificial se simula mediante el uso de funciones aleatorias.

Una de las ventajas del diseño generativo se refiere a la metodología emergente, abierta e interactivas que las herramientas generativas proporcionan, facilitando así una aproximación sistémica a los problemas del diseño. Dicha posibilidad permite integrar, en modo organico, las complejidades inherentes a los diferentes contextos a los cuales el diseño se refiere. Elementos prexistentes al diseño como las estéticas, las restricciones urbanísticas y ecológicas, los factores sociales y culturales pueden, gracias a la tecnología de la información, ser aprovechados más facilmente.

En segundo lugar, las herramientas generativas relacionan el diseño con los procesos naturales, tanto en los aspectos constructivos (bioingeniería, bioarquitectura) cuanto en los aspectos formales. Aquí las simulaciones y los modelos matemáticos permiten aprovechar creativamente de la complejidad y de la belleza de la naturaleza, ampliando notablemente las posibilidades creativas del diseñador.

Esta nueva aproximación, que utiliza procesos dinámicos interactivos, se empieza a aceptar comúnmente cómo diseño generativo, y constituye la nueva tendencia que se está adoptando por ahora en algunas facultades de Arquitectura, ya que esta es más sensible a la relación entre creatividad, sociedad, ciencia y tecnología.

2.2 Fundamentos científicos

2.2.1 Complejidad y teoría de sistemas

Por complejidad se entiende la características de aquellos sistemas (conjuntos cuya unidad es determinada por la interacción e integración de sus partes) que son demasiado ricos y diversificados para ser comprendidos mediante una metodología reduccionista, es decir, separando y analizando individualmente sus partes o componentes.

La aproximación sistémica pretende dar razón de la totalidad y de la complejidad de la naturaleza, de los organismos vivientes y de los procesos sociales. Esta perspectiva comienza a desarrollarse en los años cincuenta, y precisamente con la cibernética de Wiener, la teoría de la información de Shannon y Weaver, la teoría de los juegos de von Neumann y Morgenstern y finalmente la teoría general de los sistemas [Bertalanffy, 1976].

2.2.2 Teoría del caos y sistemas dinámicos

Estas teorías, surgidas algunos años más tarde de la teoría general de los sistemas, estudian una clase especial de sistemas cerrados que presentan analogías y un cierto grado de isomorfismo con los sistemas abiertos (los organismos vivos). Dichos sistemas presentan, en primer lugar, características de entropía negativa (pueden alcanzar un estado ordenado); secundariamente, presentan una cierta independencia de sus condiciones iniciales; un ejemplo de esta nueva clase de sistemas son los autómatas celulares. La teoría del caos, por otro lado, se ocupa de la entropía de los sistemas determinísticos, en modo especial de la impredicibilidad del estado final de algunos sistemas que presentan una particular sensibilidad a pequeñas variaciones en su estado inicial.

2.2.3 Autoorganización y autopoiesis

Con auto organización se entiende la capacidad de un sistema dinámico de lograr un orden o un comportamiento global coherente, logro que es fruto de la libre interacción de los elementos del sistema, es decir, sin el apoyo de una intervención externa al sistema mismo. Un comportamiento emergente es un proceso "bottom up": es el movimiento desde el caos a bajo nivel (un estado inicial constituido por un patrón de individuos con comportamientos caóticos o aleatorios) al orden global del sistema. A nivel local el comportamiento de cada elemento es libre e independiente, pero las interacciones de estos movimientos producen un comportamiento global a nivel del sistema, donde se manifiesta un patrón unitario y ordenado. Este orden es espontáneo y aparece, durante el desarrollo del sistema dinámico, como producto de la complejidad de las interacciones presentes.

La interacción de los elementos del sistema se basa en el "feed back", o retro alimentación, entre el sistema y sus elementos. En el caso de un sistema abierto, la retro alimentación incluye las informaciones relativas al entorno, lo que permite la adaptación: en otras palabras, el sistema abierto puede modificarse y desde luego desarrollar una forma de evolución.

Con Maturana y Varela la auto organización es una hipótesis científica que se inserta en un contexto teórico mucho más amplio, que abarca la epistemología, la comunicación y la sociología. La teoría de la auto poiesis nace desde los estudios de neurofisiología de Maturana en los años setenta. La auto poiesis, entonces, no es solo el estudio de la auto organización, sino trata de definir, en términos biológicos, la naturaleza de los proceso cognitivos, del conocimiento y del lenguaje.

Según la auto poiesis, el conocimiento y la comprensión son mecanismos internos a los organismos biológicos, y se presentan como una forma de adaptación al médium o contexto en el cual vive el organismo. Según Maturana y Varela, el proceso cognitivo es una forma de autoorganización porque no depende de una interferencia externa, sino es el producto de las mismas estructuras del organismo que se auto modifica interactuando con su entorno y los demás organismos que lo habitan. El conocimiento es la condición que permite al organismo modificarse de acuerdo al entorno, y según la auto poiesis, no consiste en una elaboración abstracta de datos (en una perspectiva empirista), sino en un proceso interno al organismo que reproduce en sus estructuras los procesos externos del ambiente. La auto poiesis enfatiza entonces tanto el aspecto auto referencial del conocimiento cuanto la importancia de la interacción con el ambiente y otros organismos.

2.2.4 Autosimilaridad

La auto similaridad, una característica formal de muchas manifestaciones naturales, ha sido puesto en primer plano por Mandelbrot y la geometría de los fractales. Su éxito ha sido tal que hoy se puede consideradar un nuevo criterio estético, del mismo rango de importancia de la simetría o de la divina proportione [Flake, 1998]. Por auto similaridad de un objeto (natural o artificial) se entiende la igualdad de estructura formal que existe entre la estructura global del objeto y las diferentes partes que la componen. Esta similitud se repite recursivamente, porque estas partes son a su vez formadas por partes más pequeñas, que conservan las misma arquitectura formal de la estructura global. Los ejemplos más conocidos de auto similaridad son algunas formas ramificadas vegetales y animales, las montañas, las nubes o ciertos minerales. El proceso auto similar tiene límites en la naturaleza, pero puede ser repetido al infinito en las simulaciones matemáticas, como en el famoso conjunto de Mandelbrot.

2.3 Aspectos filosóficos y estéticos

Los aspectos estéticos del software y su importancia para un artista, un diseñador o un arquitecto no se pueden entender sin considerar sea la compleja cuestión de la relación entre arte, tecnología y ciencia sea las complejidades de la cultura posmoderna. No es entonces excesivo, hablando del software, considerar el conjunto de estos problemas y las cuestiones estéticas y filosóficas. En el contexto de este trabajo me limitaré a resumir los aspectos esenciales:

1) Las aporías de la estética del genio. En general el sistema del arte está en crisis[1]Muchos autores hablan de muerte del arte [Danto, 1999], con lo cual se entiende la muerte del arte de vanguardia y de sus reciclajes posmodernos. Según estos autores, este sistema se ha vuelto auto referencial principalmente porque: a) los efectos de la globalización y de la sobreproducción anulan la importancia de las obras de arte; b) la herencia romántica de la estética del genio, fundándose en la individualidad, aísla el arte de los procesos sociales y del conocimiento [Gadamer, 2000]; c) el arte es fagocitado por la industria cultural y los medios masivos en abierta contradicción con las intenciones aparentes de los artistas.

2) La reproducibilidad técnica. La fragmentación del arte como sistema complejo en medios masivos y vanguardia es una fractura que produce dos consecuencias fatales: a) los medios de comunicación masivos, apoderados de toda función comunicativa, son vinculados a las exigencias comerciales y no pueden desarrollar un discurso cultural autentico, b) el arte culto o la vanguardia que se dedica a la experimentación teórica llega a la asfixia, ya que sin el contacto con lo social (la comunicación y el conocimiento) el proceso artístico existe solamente para poder sobrevivir a sí mismo.

3) El nihilismo. La herencia de Nietzsche y Heidegger es por un lado un drama filosófico y moral, por el otro es una oportunidad y una abertura hacia nuevos significados [Vattimo, 1999]. Así mismo, los procesos de constructivos que discuten la supremacía epistemológica de la ciencia así como los límites de la física y de la matemática no constituyen un rechazo del método y del dato sino un estímulo para ampliar la ciencia en sentidos que no excluyen las humanidades y el arte. Una vez liberada de sus enlaces con la modernidad, la posmodernidad se presenta entonces cómo una época de extraordinaria aún difícil creatividad.

4) El arte y la verdad como eventos. El pluralismo y la multiplicidad (superficialmente aceptados en lo social y en lo artístico) implican cambiar la naturaleza ontológica del arte y la misma verdad que le pertenece en modo hermeneuticamente constitutivo. Verdad y arte se ubican como horizontes indeterminados y abiertos, que deben ser fundamentados y discutidos permanentemente. Entonces, por no ser metafísicamente garantizados, se deben transformar en eventos o procesos abiertos, cuyos resultados son indeterminados y emergentes.

2.3.2 La obra abierta

La vertiente abierta e indeterminada de las estéticas contemporáneas se debe a las razones antes expuestas [Eco, 2000]. Desde el punto de vista metodológico, Eco define, en primer lugar, la naturaleza abierta de todas las obras de arte: esta apertura depende del juego entre los aspectos denotativos (referenciales) y los aspectos connotativos (emotivos) del lenguaje. El artificio estético aporta una dinámica intencional entre denotación y connotación, que se desarrolla esencialmente en el contexto de la lectura y se alimenta con la experiencia del lector. Este artificio obliga el lector a perseguir un significado que rebota entre referencia y emoción (es la costumbre a esta dinámica o el surgir de un nuevo contexto cultural con el cual la obra no logra integrarse que agotan la atención del lector). Eco, en el contexto de la lectura, resalta el concepto orden pre existente: este es el gusto, es decir, las tradiciones culturales relativas a un cierto contexto socio cultural. Ahora bien, la obra abierta es aquella obra que hace de la abertura estructural que hemos apenas examinado su única estrategia estética y su único objetivo comunicativo.

Eco recurre a la teoría de la información para explicar científicamente el concepto de apertura. Este se relaciona con el aumento de la cantidad de información, que es proporcional a la entropía (desorden) del mensaje. Eco señala que entropía se debe entender en sentido traslado, es decir, no es entropía en el sentido científico (termodinámico o cibernético), sino en cuanto relativo a un orden pre existente: en este sentido, el desorden acrece la atención y la riqueza del contexto de la lectura. Es el concepto de originalidad.

2.3.3 Software art

El aspecto estético fundamental del software es que el código al mismo tiempo ejecuta y es ejecutado. Existe una evidente analogía con el texto poético y la partitura musical, que se refiere al aspecto interpretativo (la ejecución) y a la lectura del texto en sí. Así mismo el software puede ser apreciado en el código escrito y en su ejecución. Probablemente estos aspectos no pueden ser considerados por separados. En los años ochenta Donald Knuth dijo que el valor del software no es solamente performativo: "economically and scientifically rewarding, but also […] an aesthetic experience much like composing poetry or music".

"Put simply, this emphasises that art-orientated programming needs to acknowledge the conditions of its own making —its poesis. This requires both a technical and cultural impulse reflecting current thinking in the critical discourse around "software art". For instance, it has become a truism to emphasise that code is not merely functional but can have poetic qualities, and political significance. In such examples, the code is the material — most clearly likened to the materiality of language —leading to the idea of software as potential literature. In this formulation, the formal qualities of code cannot be separated from its broader discursive framework."

3 L-Systems y autómatas celulares

3.1 Fractales, autosimilaridad y vida artificial

Los fractales son los gráficos de funciones matemáticas iterativas cuyas variables son números complejos (números que incluyen una parte imaginaria). Un fractal se caracteriza por ser auto similar y por una dimensión fraccionaria, es decir, son figuras geométricas que no son ni bidimensionales ni tridimensionales. La geometría fractal fue lanzada a la atención del mundo científico en los años setenta por Benoit Mandelbrot, pero tienen un historia más antigua, que incluye, en los últimos dos siglos, los aportes de matemáticos como Peano y Cantor entre otros. La estructura curiosamente complicada de los fractales se presta a la descripción geométrica de muchos elementos naturales, como los perfiles de las costas, las nubes, las montañas: formas tan complicadas que escapan de los límites de las dimensiones tradicionales de la geometría euclidea. Los fractales son formulas matemáticas, sin embargo existen métodos geométricos para obtener curvas fractales, como las funciones IFS de Michael Barnsley[2]

La vida artificial es un campo de estudio que se mueve entre los aportes de la biología, de la ecología, de la genética de la teoría de la evolución y la lógica, la matemática y la cibernética. El término Vida Artificial (Artificial Life) fue presentado oficialmente a la comunidad científica en los años '80 por un equipo de investigadores del Santa Fe Institute for Non-Linear Dynamics, sin embargo las ideas fundamentales de Vida Artificial tienen una origen más antigua ya que los primeros que intentaron una simulación artificial de la vida fueron von Neumann y Ulam a fines de los años '40. Esencialmente por vida artificial se entiende la simulación de organismos o grupos de organismos por medio de algoritmos y programas informáticos, que se apoyan teóricamente en las disciplinas citadas.

Una Shape Grammar (gramática de la forma) es una técnica generativa presentada por George Stiny y James Gips del MIT en los años setenta. Mediante este sistema, se generan pinturas y esculturas abstractas, precisamente por medio de una gramática que determina las relaciones y las estructuras con la cual se combinan las formas y por los algoritmos que, aplicando dicha gramática, producen el objeto artístico final. En efecto, estamos hablando de sistemas-L estéticos, aplicados a la pintura y a la escultura: se trata de una estética matemática que se basa en criterios cuales la complejidad formal, la simplicidad y la eficiencia del proceso y su elegancia formal.

3.4. Autómatas celulares

Entre la varias técnicas que se pueden utilizar para la vida artificial, las más simples son los autómatas celulares, entre los cuales el más famoso es el "Juego de la Vida", creado en los años '60 por John Conway. Los CA son sistemas dinámicos compuestos por un cierto número de células dispuestas en un espacio bi o tridimensional; estas células tienen un mecanismo de interacción con sus células vecinas y de acuerdo al resultado de esta interacción modifican su vitalidad y su comportamiento.

Monografias.com

fig. 1: Autoorganización de un autómata celular (Brain rule). Imagenes del autor.

Muchos autómatas celulares presentan, después de un tiempo, formas de auto organización (dentro de una prudencial suspensión del juicio teorético acerca de la auto poiesis artificial) muy complejas, no solo desde el punto de vista formal, sino por su semejanza con muchos procesos naturales.

Monografias.com

fig. 2. Patrones autoorganizados en un CA del tipo cazador-presa. Imágenes del autor.

Los conceptos claves de los automatas celulares son los siguientes:

  • Estado: es un valor numerico que define el modo en el cual se encuentra una celula del autómata. Normalmente 1=celula viva 0=celula muerta. Pero hay CA que pueden tener varios estados transitorios, como por ejemplo el CA conocodi como Hodge. El estado de cada celula se obtiene según la suma de los estados de las celulas vecinas y aplicando reglas de transformación que dependen de dicho valor.

  • Vecindad: es el entorno de las celulas que circundan la celula que se está calculando. Normalmente se calculan las 8 celulas más cercanas, pero se puede utilizar un entorno de vecindad mayor, dependiendo de lo que se quiere obtener.

  • Reglas: son las condiciones que definen el estado de una celula dependiendo del valor de su vecindad. Por ejemplo, si la vecindad es menor de un cierto valor, la celula muere, si la vecindad es mayor y la celula está muerta, se genera una nueva celula viva, etcétera.

La técnica de los autómatas celulares provee un sistema simple y eficiente para autootganizar cualquier conjunto de elementos relacionados entre sí.

3.3 Lyndenmayer Systems

Los Sistemas-L, llamados también sistemas Lindenmayer en homenaje a su inventor, son sistemas dinámicos especiales porque se puede de determinar históricamente las etapas geométricas de su evolución. Un Sistema-L está compuesto por un alfabeto (una serie finita de elementos geométricos), un axioma (es decir una secuencia determinada de símbolos de este alfabeto) y un regla recursiva de sustitución de símbolos por axiomas (por esto se llaman también "parallel string-rewrite systems", traduciendo un poco libremente sistema de escritura recursiva).

Estos sistemas pueden generar formas geométricas muy complejas: son de esta naturaleza la curva de Peano o el copo de nieve de von Coch. Los Sistemas-L son un método compacto y eficiente para aprovechar la gráfica iterativa, posibilidad típica, por ejemplo, del lenguaje LOGO y de la "turtle graphics".

3.3.1 Componentes de un L-System

  • Sistema de reescritura: genera la cadena final del Lsystem, comenzando desde el axioma y sustituyendo recursivamente los símbolos por sus reglas por el numero de ciclos determinado por el usuario.

  • Parser: interpreta la cadena de símbolos y ejecuta el código correspondiente

  • Axioma: es el símbolo o los símbolos iniciales.

  • Símbolos no terminales: son los que producen nuevos simbolos de acuerdo a su regla. A cada simbolo no terminal se asocia un cierto objeto geométrico: una linea, una esfera, un cubo, etc. Cada vez que el parser encuentra uno de estos simbolos, mueve el cursos en la posición correspondiente y dibuja un elemento geométrico. En general son uno, al máximo dos por gramática.

  • Símbolos terminales: son los que permiten controlar la posición, la rotación, el tamaño de los objetos y las ramificaciones. Cuando el parser encuentra uno de estos elementos, rota el cursos, modifica el tamaño del objeto, cambia la dirección o genera una ramificación. Generalmente incluyen + – < > que se utilizan para rotar el cursor, : que se utiliza para modificar el tamaño de los objetos, [ ] que permiten crear ramificaciones (se apila con [ y se desapila con ]), X Y Z que permiten orientar el cursos en los 3 ejes cartesianos. F mueve el cursor sin dibujar nada.

  • Reglas: Las reglas son las transformaciones de cada símbolo no terminal del lenguaje del sistema en una cadena de otros símbolos, terminales o no terminales. El conjunto de reglas constituye la gramática del L-System.

Monografias.com

fig 3. Ejemplo de L-System.

3.3.2 Lsystems predictivos

Dado un axioma, cada símbolo no terminal se reproduce de acuerdo a la regla establecida.

Ejemplo 1:

axioma="a"; a="ab"; b="a"

1 generación: "ab"

2 generación: "aba"

3 generación: "abaab"

… etc.

3.3.3 LSystems estocásticos

Son Lsystems en los cuales las reglas se asignan introduciendo según un valor aleatorio o segun un calculo de probabilidad. Se aprovecha entonces de la ambigüedad, y se resuelve por azar o probabilidad. Esta metodología permite una cierta irregularidad o impredecibilidad de estos sistemas.

Ejemplo 2:

axioma="a";

a="ab" (50%) probabilidad de esta regla

a="abaa" (25%)

a="a" (25%)

b="a"

3.3.4 L-Systems paramétricos

Son sistemas a los cuales se pueden pasar parámetros que controlan varias características del sistema: direcciones, transformaciones geométricas, dimensiones, formas de los elementos, etc. Usualmente los parámetros están asociados a los símbolos del lenguaje.

Se pueden utilizar para simular varios fenómenos naturales, como la gravedad, asociando al símbolo un parámetro peso. Un símbolo, además, puede tener más de un parámetro, puede tener, por ejemplo, el color, la transparencia y un estado cómo las células de los autómatas celulares. Recuperando la distancia del símbolo de su raíz es posible entonces modificar su posición o la primitiva gráfica asociada, como se explica en el párrafo "Objetos Inteligentes".

Los parámetros se pueden incluir en las reglas:

Ejemplo 3:

axioma="a";

a IF P="ab" (si el paramétro P del símbolo a es verdadero)

a="abaa" (se hace si P es falso)

a="a"

b="a"

3.3.5 L-Systems sensibles al contexto

Son aquellos cuyos símbolos se reproducen dependiendo de sus vecinos, analogamente a lo que sucede con las gramáticas de Chomsky[3]

La sensibilidad al contexto, por la naturaleza geométrica de estos sistemas, no se ha hecho solamente a nivel de reglas, sino al momento de generar el modelo tridimensional. Mediante una tabla de todos los elementos es posible detectar intersecciones y conflictos entre partes del sistema.

Ejemplo 4:

Left context <Predecessor> Right context : Condition -> Sucessor

De esta forma se pueden implementar varios mecanismos de control, como la propagación de señales o la difusión de sustancias nutritivas. El sistema puede de esta manera autocorregirse, propagando las correcciones alrededor de las conexiones.

3.3.5 Evolutionary L-Systems

La idea en este caso consiste en utilizar algoritmos genéticos para la evolución de las reglas de la gramática de un L_System[4]

"The system used in these experiments consists of three parts (Design, L-system and evolutionary algorithm). First is the design builder and evaluator, which builds a model from a sequence of commands taken from the design language (such as forward(n), backward(n) etc). The design is then evaluated before being encoded by a parametric, context-free L-system (denoted as P0L-system). The evolutionary algorithm is then applied to a population of L-systems (initial population created at random). New populations are created through mutation and recombination. The fitness is a function of the characteristics of the structure created – height, surface area, stability and excess".

"The GA that was used in these simulations was different from the traditional GA. The main difference being that the genotype was based on L-systems, and therefore had a variable length string and a well defined syntactic structure. The fitness function is based on five quantized features: Positive phototropism (preference towards taller plants), Bilateral Symmetry (preference towards structures where the left to right ratio is close to 1), Light gathering ability, Structural ability (preference towards branching points that do not have "too many" branches) and Proportion of branching points (preference towards structures with a high number of branches). The experiment results showed that the L-systems were able to provide an adequate genetic representation for evolution studies".

3.4 L-Systems extendidos

Los L-Systems son generalmente utilizados para la simular y estudiar el crecimiento de organismos, la estructura de elementos orgánicos o inorgánicos; solo recientemente se está pensando en aplicaciones de diseño, tanto para las artes visuales y para la arquitectura.

En estos casos la teoría y las herramientas existentes son rígidas y no permiten una gestión creativa y flexible de estos sistemas.

Hay dos aspectos importantes: el lenguaje, la gramática y los objetos. Todos estos aspectos se combinan y se pueden utilizar paralelamente.

En el caso de aplicaciones artísticas, los problemas y las dificultades son diferentes. Se puede aprovechar de los modelos matemáticos desarrollados en muchos contextos d ela computer science, pero considerando que los objetivos son muy diferentes.

3.4.1 Lenguaje extendido

Sin embargo este vocabulario no permite un control preciso del objeto. Por lo tanto se ha introducido nuevos símbolos:

a,b,c,d,e se utilizan 5 símbolos no terminales diferentes, cada uno con sus reglas.

M Macro. Se trata de una regla especial que permite posicionar el cursos en una posición específica, independentemiente de los parámetros del sistema.

R Función, permite generar una secuencia de símbolos independentemiente de las reglas de la gramática. Las funciones pueden ser diseñadas interactivamente por el usuario. Se puede establecer un lenguaje específico para cada función.

Ejemplo 5:

axioma="a"; a="ab"; b="aR"

R=rnd(5,a,b,F) (produce aleatoriamente 5 simbolos que pertenecen al lenguaje de la función)

1 generación: ab;

2 generación: abaR;

3 generación: ababaFaab (R ha generado aFaab)

* genera valores aleatorios para las rotaciones y las traslaciones. Afecta toda una secuencia de símbolos y desminuye gradualmente de intensidad, la propagación de sus efectos se puede establecer interactivamente.

= Latencia. Este símbolo convierte temporalmente un simbolo no terminal en un simbolo terminal, permitiendo así de controlar cuando un cierto simbolo comienza a producir.

Ejemplo 6[5]

axioma :- a; a :- a=b; b :- a

1 generación: a=b;

2 generación: aa; (a permanece igual, b produce a, = desaparece)

3 generación: abab (el efecto de = dura una generación)

A,B Representan subsistemas. El usuario puede generar un L-System normalmente y guardarlo como subsistema. Luego es posible asociar este sistema previamente generado a un simbolo no terminal. Este método permite incrustar o anidar varios sitemas dentro un sistema principal. La ventaja es que los parámetros del sistema principal y de los subsistemas se pueden controlar separadamente, lo que permite obtener variaciones muy grandes ya que el sistema general depende de sus partes.

Notar que los subsistemas son procesados por un parser especial.

3.4.1 Gramática dinámica

Un conjunto de reglas produce resultados deterministicos. En parte este determinismo (es decir, el hecho que un conjunto produzca siempre el mismo resultado) se resuelve utilizando reglas estocásticas. En este caso el uso de valores aleatorios introduce variaciones pero estas son arbitrarias y no guardan una relación lógica con la gramática.

Una primera opción es introducir reglas sensibles al contexto. De esta manera el sistema se construye de acuerdo a la generación precedente.

Sin embargo lo que falta considerar es el factor tiempo. La generación de un organismo, en efecto, cambia con su edad (el ciclo en el cual se encuentra). Aquí se propone un sistema de reglas que depende de la generación en la cual el sistema se encuentra.

Entonces para cada etapa o ciclo la regla asociada a un símbolo puede cambiar. Esta técnica ofrece un control directo sobre el crecimiento del sistema.

Ejemplo 7:

axioma :- a;

1) a :- ab;

2) a :- acb;

3) a :- aba;

4) …

n) a :- bc;

b :- a

c :- c;

Naturalmente cada regla puede ser sensible al contexto o estocástica, lo que amplifica considerablemente la complejidad de la gramática y su potencial generativo.

3.4.1 Objetos inteligentes

Como ya hemos dicho, a cada símbolo no terminal el parser asocia el dibujo de una cierta primitiva geométrica, que puede ser una línea, un polígono o uno o más sólidos tridimensionales.

Cada símbolo tiene asociada una primitiva geométrica, sin embargo esta puede tener variantes de acuerdo al contexto (el conjunto que forma su vecindad) en el cual se encuentra el símbolo.

De esta manera una primitiva gráfica puede cambiar su forma o adquirir un comportamiento que puede ser diferente si este símbolo es por ejemplo, una raíz o una hoja.

Un objeto inteligente se puede implementar de varias maneras: directamente en el código de la primitiva gráfica, en un subsistema, utilizando una regla sensible al contexto, o como script.

Actualmente el sistema implementa la técnica de script. Uno script se genera cuando se quiere exportar el sistema a otro aplicativo, por ejemplo 3DSMax o POVRay[6]Ambos programas incluyen un lenguaje de script que permite generar archivos ASCII que el programa interpreta para generar modelos y escenas tridimensionales.

Un script es puede ser una simple instrucción para generar un cubo o un programa completo que puede generar una escena con luces, materiales y varios objetos combinados o agrupados entre sí.

GDesign puede generar un archivo script utilizando librerías que el usuario puede escribir por su cuenta y es posible pasar cualquier información desde el L-System al script, lo que permite al mismo script de modificar su comportamiento[7]

3.4.2 Autocorrección

Un lenguaje y una gramática de esta complejidad puede generar topologías muy complicadas de las cuales es casi imposible preveer comportamientos inadecuados o físicamente incorrectos. Es necesario entonces un sistema de autocorrección, o el diseño de un sistema sensible al contexto. Esto puede significar que las reglas se modifican de acuerdo a la topología existente, al espacio disponible u otras restricciones.

Otro sistema que se ha propuesto es de verificar el sistema no tanto a nivel de la gramática sino modificando los vectores tridimensionales que forman el sistema.

Se pueden controlar intersecciones, objetos que se sobreponen o que están uno dentro el otro. Estos objetos se pueden eliminar o mover en otra posición. Pero esta estrategia obliga a propagar el movimiento a lo largo de toda una rama del sistema, quizás hasta a llegar a la rama principal.

Lo que se propone es una técnica diferente, que denominaré "crecimiento controlado".

3.4.3 Autocorrección por crecimiento controlado

El proceso sería lo siguiente:

a) se introduce axioma y reglas

b) se produce la primera generación. El parser interpreta la cadena y controla que cada objeto tenga espacio suficiente, que no interfiera con otro de acuerdo a un espacio de privacidad que se puede determinar interactivamente. Si un objeto interfiere con uno ya existente, el objeto busca en otra dirección. Si no encuentra espacio libre, entonces se borra. El parser automáticamente elimina este símbolo o introduce los símbolos necesarios. El espacio libre es un parámetro que va decreciendo ciclo por ciclo. Así en el ciclo inicial la tolerancia a la privacidad es mucho menor (el objeto necesita mucho más espacio porque puede generar nuevas ramas o nuevos objetos).

c) Terminada la autocorrección, la nueva cadena procede al nuevo ciclo de sustitución.

El sistema modifica así su crecimiento. Al final es siempre posible un último control de errores para eliminar eventuales objetos que han quedado incorrectos.

4 Diseño generativo, software e interfaces

Una aplicación de diseño generativo presenta características peculiares. Pero, en primer lugar, se debe definir la naturaleza de la autopoiesis artificial.

Muchos artista o diseñadores confían en técnicas como los autómatas celulares o las gramáticas generativas pensando que estas están en grado de producir la complejidad, la autoorganización y la impredecibilidad caótica que caracteriza los sistemas naturales.

En realidad cualquier modelo matemático es predictivo, a pesar de la complejidad de las reglas o de los algoritmos que se puedan aplicar; para cualquier conjunto inicial (axiomas, reglas, etc.) se produce siempre el mismo resultado. Sistemas de diseño construidos alrededor de esta suposición equivocada serán siempre repetitivos, aún el diseñador pueda pensar lo contrario observando la complejidad que los procesos recursivos de todas formas generan.

Una auténtica impredecibilidad e indeterminación de estos procesos algorítmicos, en realidad, se consigue parametrizando los procesos. En efecto, es el usuario (el artista, el diseñador) que controlando las variables del sistema puede introducir la variedad y la impredecibilidad que estos no tienen. Cada ser humano, pues, diseña y manipula un proceso en formas diferentes.

El problema del diseño generativo entonces es básicamente un problema de interacción hombre-máquina. El grado de complejidad, variedad e indeterminación que estos sistemas generan depende de cuanto bien se diseña la interacción del usuario con el sistema mismo.

En seguida se presentarán los tópicos teóricos generales de esta aproximación.

4.1 Interactividad

Un diseño generativo implica un alto grado de interactividad entre los usuarios y los procesos. Estos no solamente deben ser oportunamente parametrizados, sino que sus reglas deben ser interactivas y modificables por el usuario en tiempo de ejecución. Esto hace que una aplicación de diseño generativo deba brindar también las herramientas para que el usuario pueda controlar el sistema.

Estas herramientas no son solamente operativas, sino implican la gestión de informaciones y conocimientos. En un cierto sentido es como si se implementara un data warehouse de los principios generativos, sus fundamentos científicos y sus algoritmos. Una verdadera interactividad presupone un intercambio de conocimientos entre el software y los usuarios. Idealmente el sistema debería ser un sistema experto en grado de aprender del usuario (y viceversa).

4.2 Hipertextos

Partes: 1, 2, 3

Página siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter