|
In Silico programación por Ing. Marco Antono Montes de Oca
In
Silico es un ambiente de simulación visual tridimensional,
en donde existe una colección de objetos que se desarrollan
en función de sus características e interacciones y del
tiempo.
Sistemas L Son una formalización matemática de la teoría axiomática del desarrollo biológico propuesta por el biólogo Aristid Lindenmayer en 1968. Recientemente los sistemas L han encontrado muchas aplicaciones en la computación gráfica. Las dos principales áreas incluyen generación de fractales y modelos realistas de plantas. Un punto central en los sistemas L es la noción de reescritura, tal y como sucede con las gramáticas regulares o gramáticas libres de contexto, donde la idea básica es sustituir símbolos predecesores por secuencias de símbolos; el patrón de sustitución está determinado por un conjunto de reglas de sustitución o producciones. La aplicación finita de las producciones de un sistema L produce palabras que pertenecen a un lenguaje. El proceso de reescritura puede ser recursivo. Los sistemas que operan bajo cadenas de caracteres han sido los más estudiados y los mejor entendidos. El trabajo de Chomsky acerca de gramáticas formales (1957) generó un gran interés en los sistemas recursivos que formalizaban el crecimiento. Le siguió un periodo de fascinación acerca de las sintaxis y las gramáticas y empezó su aplicación en ciencias computacionales. Lindemayer introdujo un nuevo tipo de gramática que posteriormente tomo el nombre de sistema L. La diferencia esencial con la gramática de Chomsky surge en la manera en la que se aplican las producciones. En el sistema de Chomsky, las producciones son aplicadas secuencialmente, mientras que en el sistema L estas son aplicadas en paralelo, reemplazando simultáneamente todos los símbolos de una sola palabra. Las palabras o expresiones pertenecientes al lenguaje generado por un sistema L tienen una interpretación geométrica en el espacio, esto es, cada expresión derivada a partir de un sistema L se corresponde con un objeto que puede ser situado en el espacio. El tipo de sistema L utilizado en In Silico es un sistema L paramétrico-estocástico. Los símbolos paramétricos son símbolos de un alfabeto asociados con números reales. Además de expresiones paramétricas que resultan en estructuras cambiantes en el espacio, de acuerdo con el dominio paramétrico, estos sistemas L asignan una probabilidad de sustitución a cada producción, haciendo el lenguaje generado "inestable". El alfabeto está conformado por símbolos de dos categorías: símbolos no terminales y terminales, esto es, símbolos sustituibles y símbolos no sustituibles. Comúnmente, los símbolos terminales tienen una interpretación geométrica, mientras que los no terminales solo sirven para definir un patrón de desarrollo a través de una sustitución. Tomemos un ejemplo presente en The Algorithmic Beauty of Plants: Sean En este caso X se reemplazara por una fórmula que significa que la rama se divide en 3 ramas.
- F significa trazar una línea y FF una línea después de la primer - [ ] significan que haga la acción y regrese a su punto de origen - + y - estipulan una rotación de la línea con respecto al origen
La diferencia entre la gramática de Chomsky y la de Lindemayer refleja la motivación biológica de los sistemas L . Las producciones intentan capturar la división celular en los organismos multicelulares donde la divisiones se dan de manera simultanea. El sistema L permite no solo la descripción y reconstrucción de estructuras simétricas bidimensionales, sino también tridimensionales, formas celulares esféricas, crecimientos caóticos, interrumpidos o influenciados por fuerzas físicas, permitiendo entender de una manera como funcionan.
Los
sistemas de IA ponen en ejecución conocimientos de sentido
común, o especializados y los explotan en mecanismos de raciocinio,
es decir en sistemas a base de conocimiento. El fundamento de esta
aproximación de IA es representar el saber en diferentes tipos
de lógica. Por ejemplo, los sistemas expertos de producción,
sistemas auxiliares al diagnóstico medico, etc
La interacción entre objetos y la base de tiempo utilizada para permitir el desarrollo de los mismos es controlada por una colección de agentes. Los agentes utilizados son del tipo reactivo, por lo que el comportamiento del sistema en su conjunto es resultado de la comunicación entre estos. Se definen 5 tipos de agentes según sus funciones: Un agente controlador del display; un agente maestro que determina el número y el tipos de objetos en la simulación, así como también el momento en el que se desarrollan; un agente que sincroniza el audio con el display; un agente que controla el tiempo; un agente que genera las expresiones paramétricas de un sistema L y un agente que las interpreta y convierte en geometría. Al inicio de la simulación se crean un controlador de display; un sincronizador de audio y un agente maestro que crea a su vez un determinado número de agentes generadores, intérpretes y de tiempo en la misma proporción, esto posibilita que cada objeto se desarrolle independientemente de los demás. El desarrollo de un objeto pasa por cuatro fases: crecimiento, reproducción , envejecimiento y muerte. Los eventos de crecimiento, envejecimiento y muerte, dependen, aunque no exclusivamente, del tiempo, mientras que el evento de reproducción depende de la interacción con otros objetos en el ambiente. El tiempo de vida de un objeto puede verse reducido por el número de veces que ocurre una interacción. Se dice que ocurre una interacción cuando un objeto invade el espacio vital de otro objeto, definido por un volumen invisible alrededor del objeto en cuestión. Es a través de la comunicación inter-agente que los objetos pueden reaccionar, ésta se lleva a cabo mediante el envío y recepción de mensajes asíncronos, esto es, que no se requiere el acuse de recibo de éstos, lo cual hace posible una interacción mucho más ágil. |
||