260 likes | 433 Views
Biomorfos y L-Systems. Guía del Autoestopista de la Computación Natural. Mario Hernández. Biomorfos. Biomorfos. “Formas biológicas”
E N D
Biomorfos y L-Systems Guía del Autoestopista de la Computación Natural Mario Hernández
Biomorfos • “Formas biológicas” • Idea original del biólogo ultradarwinista Richard Dawkins (publicadas en “El relojero ciego”, “Escalando el Monte Improbable” y en el artículo “Evolution of Evolvability” • Primeras experiencias en “biología computacional”, en la más pura tradición de la ALife • Experimento en evolución sintética de formas codificadas en un cierto material genético y sometida a unas reglas míninas, copia de las observadas en la naturaleza
Biomorfos • El programa se diseñó para explorar cuán de complejos pueden ser los patrones que puedan emerger de reglas simples. • El principal objetivo de Dawkins fue abstraer y reducir al mínimo posible la cantidad de diseño manual en la construcción de “criaturas”. • La idea es que reglas simples de crecimiento (embriología) y evolución guiada producirían, hipotéticamente, resultados biológicamente interesantes.
Biomorfos • Son figuras arboriformes, que contienen la información para su trazo en un sencillo “genoma“ constituido por un código genético de 9 elementos: • 8 codifican la dirección y longitud de una unión • La novena codifica su profundidad • El usuario puede seleccionar los biomorfos generación tras generación, como si de animales de granja se tratara (actuando así de selección natural). • Los árboles van tomando formas similares a insectos, murciélagos, aviones, balanzas, zorros... algo que el programador jamás había sospechado. • Sorprendente lo que un simple proceso iterado de mutación y selección puede llegar a producir en una serie de pasos.
Biomorfos • Infoartrópodos: partiendo de una forma inicial no arborescente, sino como un ciempiés
Referencias [1] Richard Dawkins, "The Blind Watchmaker" , Harlow:Longman, (1986).[2] Richard Dawkins, "The Evolution of Evolvability" in Artificial Life, C. Langton (ed) Addison Wesley (1989).[3] Richard Dawkins, "The Extended Phenotype: The Gene as the Unit of Selection" , Oxford:Freeman, (1982).[4] Richard Dawkins, "The Selfish Gene" , 2nd ed O.U.P., (1989).[5] Desmond Morris, "The Secret Surrealist" , Oxford Phaidon, (1987).
Biomorfos • Dawkins se basó en un algoritmo recursivo convencional, donde para cada iteración se genera una nueva conexión. • El objetivo era generar formas arborescentes. Partiendo de un tronco, a cada nueva iteración le corresponde una subrama. • El uso de biomorfos mostró que el algoritmo no estaba limitado en absoluto a la realización de diferentes árboles, sino que también podía generar muchos tipos de formas, biológicas o no. Así, aparecen sorprendentemente biomorfos con aspecto de insectos, aviones, murciélados, candelabros, ... • El uso de biomorfos es muy simple. El ojo del usuario juega el papel de la selección natural. Empezando con una forma simple, el usuario seleccionará sistemáticamente el biomorfo cuyo parecido (muy sutil al principio) es más cercano a la forma buscada. • Después de un cierto número de iteraciones el resultado obtenido será próximo al deseado.
L-systems • Los Sistemas Lindenmayer o L-System, fueron introducidos por el biólogo Aristid Lindenmayer y concebidos inicialmente como una teoría matemática del desarrollo de las plantas • En la “bíblia” de los L-Systems, “The Algorithmic Beauty of Plants” (ABOP) (ISBN 0-387-97297-8), Lindenmayer y Prusinkiewicz escriben: “El concepto central de los L-systems es la reescritura. En general, la reescritura es una técnica para definir objetos complejos remplazando sucesivamente partes de un objeto inicial simple utilizando un conjunto de reglas de reescritura o reglas de producción”.
L-systems Son conjuntos de reglas y símbolos en forma de gramáticas formales que modelan los procesos de crecimiento. Un L-system simple contiene cuatro elementos: • VARIABLES: símbolos representando a elementos reemplazables • CONSTANTES: símbolos que representan elementos fijos • REGLAS: ("sintaxis") definen cómo deben reemplazarse las variables por constantes u otras variables. • EXPRESIONES INICIALES: palabras y expresiones que definen como comienza el sistema
L-systems Etapa 0: A Etapa 1: B Etapa 2: AB Etapa 3: BAB Etapa 4: ABBAB Etapa 5: BABABBAB Etapa 6: ABBABBABABBAB Etapa 7: BABABBABABBABBABABBAB Ejemplo: Secuencias de Fibonacci Gramática: Variables: A, B Constantes: ninguna INICIO: A Reglas: A -> B B -> AB Contando la longitud de las cadenas obtenemos la secuencia de números de Fibonacci: 1 1 2 3 5 8 13 21 34 ...
L-systems • ¿Y? • ¿Para qué esto? • Lo poderoso de los L-systems surge cuando se le asigna significado a los símbolos y reglas
Ejemplo: Crecimiento de Algas • Patrón de linajes de células encontrado en el alga Chaetomorpha linum. • Para describir este patrón los símbolos deben reflejar células en diferentes estados, en vez de diferentes estructuras • Este proceso de crecimiento puede generarse a partir de un solo axioma A y reglas de crecimiento.
Crecimiento de Algas Ejemplo de patrón generado Etapa 0:A Etapa 1: D B Etapa 2:E C Etapa 3:A D Etapa 4: D B E Etapa 5: E C A Etapa 6: A D D B Etapa 7: D B E E C Etapa 8: E C A A D Etapa 9: A D D B D B E Etapa 10:D B E E C E C A Etapa 11: E C A A D A D D B Se puede generar partiendo de un axioma A y las siguientes reglas: • A -> DB • B -> C • C -> D • D -> E • E -> A
Crecimiento de Algas Etapa 0: A Etapa 1: D B Etapa 2: E C Etapa 3: A D Etapa 4: D B E Etapa 5: E C A Etapa 6: A D D B Etapa 7: D B E E C Etapa 8: E C A A D Etapa 9: A D D B D B E Etapa 10: D B E E C E C A Etapa 11: E C A A D A D D B
Geometría de Tortuga • Gemetría de Tortuga (Seymour Papert) se refiere a patrones producidos por el camino de una tortuga imaginaria moviéndose sobre un plano. • El camino de una tortuga puede describirse por una secuencia de símbolos que representan los movimientos que hace la tortuga cuando se mueve. • Para producir imágenes planas • Utilizada principalmente en gráficos por computador
Geometría de Tortuga Estas secuencias forman palabras en un lenguaje formal, definido por una gramática como la siguiente: • Constantes = {nF, nB, aR, aL, Stop } • Variables = {, , , ...}, Start = Donde: • nF indica "n pasos adelante" • nB indica "n pasos atras" • aR indica “Gira a grados a la derecha" • aL indica “Gira a grados a la izquierda"
Geometría de Tortuga Y las reglas de producción básicas: <path> -> nF <path> <path> -> nF aR <path> <path> -> nF nB <path> <path> -> nF aL <path> <path> -> nF STOP • Donde <path> representa la parte no especificada del camino de la tortuga
Geometría de Tortuga Las trasiciones representan movimientos hechos por la tortuga. En cualquier instante la porción completada del camino de la tortuga resulta especificada por una secuencia de movimientos individuales como: “4F 90R F 90R F 90R” • Los modelos que representan patrones complejos se obtienen aumentando la gramática anterior con nuevas variables para representar patrones elementales particulares, y con nuevas reglas para gobernar la estructura de estos elementos.
Geometría de Tortuga Pe, estas reglas: <path> -> <diseño> stop <diseño> -> 4 <brazo> <brazo> -> 4F 3 <esquina> 1F <esquina> -> 2F 3 <giro> <giro> -> 90R F Usan las variables <diseño> y <brazo> para describir la formación del diseño sencillo mostrado en la figura.
Hoja Compuesta (Rama) Leaf1 { ; Name of the l-system, "{" indicates start ; Compound leaf with alternating branches, angle 8 ; Set angle increment to (360/8)=45 degrees axiom x ; Starting character string a=n ; Change every "a" into an "n" n=o ; Likewise change "n" to "o" etc ... o=p p=x b=e e=h h=j j=y x=F[+A(4)]Fy ; Change every "x" into "F[+A(4)]Fy" y=F[-B(4)]Fx ; Change every "y" into "F[-B(4)]Fx" F=@1.18F@i1.18 } ; final } indicates end