Autómatas Celulares Comentarios sobre su definición Matemática y Estado del Arte ! Lic. Ariel Torazza IG-CONAE Director: M. Scavuzzo Co-director: E. Pilotta ariel.torazza@gmail.com Resumen La finalidad es presentar una una introducción del concepto de autómata celular proveniente de la Teoría de la Computación. Se trata de Sistemas Dinámicos Discretos sobre Reticulados. Estructura de presentación Por que usar AC Historia Formalismo Aplicaciones (varias, uso de suelo, Incendios Forestales) Individuo En el mundo natural y artificial uno observa fenómenos de gran complejidad. Las investigaciones en física y hasta cierto punto la biología y otros campos han mostrado que los componentes básicos de muchos sistemas son simples. Gran Complejidad Un problema crucial para varias áreas de la ciencia es clarificar los mecanismos matemáticos por los cuales gran número de componentes simples, actuando juntos, pueden producir el comportamiento de gran complejidad. Individuo y algunas características Caranx latus. Es pariente del Jurel. Los machos pueden llegar hasta 1m y pesar 13,4kg. Los adultos nadan en pequeños y grandes bancos. Se ha conocido de bancos de estos peces que nadan alrededor de buzos, atraídos aparentemente por las burbujas que exhalan. (Wikipedia) ¿Por qué usar Autómatas Celulares (AC)? ★ Los AC pueden verse como poderosos motores de cómputo. ★ Como simuladores discretos de sistemas dinámicos. ★ Como los vehículos conceptuales para el estudio de la formación de patrones y la complejidad. ★ Como modelos originales de física fundamental. Historia Era de Von Neumann Era de John Horton Conway Era de Stephen Wolfram Era de Von Neumann La primera etapa la inicia Von Neumann (1966), quien una vez terminada su participación en el desarrollo y terminación de la primer computadora “ENIAC” tenía en mente desarrollar una máquina con la capacidad de construir a partir de si misma otras máquinas (autoreproducción) y soportar comportamiento complejo. Introducción Stanislaw Marcin Ulam (13 de abril de 1909-13 de mayo de 1984) fue un matemático polacoestadounidense que participó del proyecto Manhattan y propuso el diseño Tell-Ulam de las armas termonucleares. También propuso la idea de propulsión nuclear de pulso y desarrolló un número de herramientas matemáticas en la teoría de números, teoría de conjuntos, teoría ergódica y topología algebraica. Sobre todo es conocido por ser coautor (con Nicholas Metropolis) del Método Montecarlo. También es conocido por el espiral de Ulam. La génesis de los autómatas celulares es asignada a Stanislaw Ulam y John von Neumann (década de los años 40 del siglo XX). John von Neumann (28 de diciembre de 1903, Budapest, Imperio austroúngaro- 8 de febrero de 1957, Washington, D.C. Estados Unidos) fue un matemático húngaroestadounidense que realizó contribuciones fundamentales en física cuántica, análisis funcional, teoría de conjuntos, ciencias de la computación, economía, Ulam, a partir de un conjunto de juegos análisis numérico, para computadores, le propone a von cibernética, Neumann el problema de construir un hidrodinámica, “universo abstracto” para el estudio y estadística y muchos análisis de la reproducción automática, otros campos. Está mecánica o robótica; ofreciendo de esta considerado como uno forma un marco teórico para el estudio de de los más importantes problemas provenientes de sistemas con matemáticos de la comportamientos complejos y descritos historia moderna. por reglas sencillas. Introducción A partir de allí el estudio y desarrollo de los autómatas celulares ha venido recibiendo una notable atención por investigadores en diferentes áreas del conocimiento. En la Teoría de la Computación promovió el impulso del procesamiento paralelo y el procesamiento de imágenes; en la Biología han sido empleados para modelar problemas provenientes de la Genética; en la Física son usados para el estudio, entre otros, de problemas de la dinámica de fluidos; y en Química para el estudio de problemas de reacciones de difusión. Era de John Conway En 1970, John Horton Conway dio a conocer el autómata celular que probablemente sea el más conocido: el juego de la vida (Life). 2 Estados de su regla: Nacimiento (1), Muerte (0), Supervivencia (1). Una de las características más importantes de Life es su capacidad de realizar cómputo universal, es decir, que con una distribución inicial apropiada de células vivas y muertas, Life se puede convertir en una computadora de propósito general (máquina de Turing). Juego de la vida (Life) Vecindad de von Neumann y vecindad de Moore LEY DEL JUEGO: Condición inicial de la pistola de planeadores. (sigue siendo la más pequeña que se conoce). Pistolas de planeadores de Gosper. Si una célula tiene exactamente tres vecinas vivas, éstas se reproducen y le dan vida. Si una célula viva tiene dos o tres vecinas vivas, ella permanece viva; pero si hay menos de dos vecinas vivas, muere por aislamiento. Si una célula tiene más de tres vecinas vivas, muere por superpoblación si estaba viva, y permanece muerta si ya lo estaba. Patrones estáticos para Life Bloque. Barco. Patrones Recurrentes para Life Aquí está la riqueza de Life. Según la clasificación de Wolfram es de CLASE IV. Parpadeador, período 2. Fumarola, período 5. Estrella, período 3. Octógono, período 5. Cruz, período 3. Beso con lengua, período 3. Reloj, período 4. Molinillo, período 4. Pentoad, período 5. Galaxia de Kok, período 8. Pentadecathlón, período 15. Patrones trasladables para Life Planeador (1)planeador; (2)nave ligera (LWSS). Juego de la vida Se demostró que el juego de la vida es equivalente a una Máquina de Turing, motivando así el interés por la construcción de máquinas de cómputo en paralelo. De hecho en la actualidad se continúan construyendo máquinas de Turing soportadas sobre este autómata celular. Sistema Combinacional: Se denomina Sist. Comb. o lógica combinacional a todo sistema digital en el que sus salidas son función exclusiva del valor de sus entradas en un momento dado, sin que intervengan en ningún caso estados anteriores de las entradas o de las salidas. Las funciones (OR, AND, NAND, XOR) son booleanas (de Boole) donde cada función se puede representar en una tabla de verdad. Por tanto, carecen de memoria y de retroalimentación. Autómata finito: Incluye la capacidad de recordar. Poseen una memoria primitiva en que la activación de un estado también depende del estado anterior, así como del símbolo o de la palabra presente en la función de transición. Autómata con pila: cuentan con una pila en donde pueden almacenar información para recuperarla más tarde. Máquina de Turing: Es un dispositivo que manipula símbolos sobre una tira de cinta de a cuerdo a una tabla de reglas. Puede ser adaptada para simular la lógica de cualquier algoritmo de computación y es particularmente útil en la explicación de las funciones de un CPU dentro de un computador. Era de Stephen Wolfram Stephen Wolfram ha realizado numerosas investigaciones sobre el comportamiento cualitativo de los AC. Con base en su trabajo sobre AC unidimensionales, con dos o tres estados, sobre configuraciones periódicas que se presentan en el AC, observó sus evoluciones para configuraciones iniciales aleatorias. Así, dada una regla, el AC exhibe diferentes comportamientos para diferentes condiciones iniciales. De esta manera, Wolfram clasificó el comportamiento cualitativo de los AC unidimensionales. De acuerdo con esto, un AC pertenece a una de las siguientes clases: Clasificación según Wolfram CLASE I: La evolución lleva a una configuración estable y homogénea, es decir, todas las células terminan por llegar al mismo valor. CLASE II: La evolución lleva a un conjunto de estructuras simples que son estables o periódicas. CLASE III: La evolución lleva a un patrón caótico. CLASE IV: La evolución lleva a estructuras aisladas que muestran un comportamiento complejo (es decir, ni completamente caótico, ni completamente ordenado sino en la línea entre uno y otro, este suele ser el tipo de comportamiento más interesante que un sistema dinámico puede presentar). Descripción de un AC No existe una definición formal y matemática aceptada de Autómata Celular; sin embargo, se puede describir a un AC como una 4-tupla, es decir, un conjunto ordenado de objetos caracterizado por los siguientes componentes: • Una rejilla o cuadriculado (lattice) de enteros infinitamente extendida, y con dimensión . Cada celda de la cuadrícula se conoce como célula, • Es el conjunto finito de todos los posibles estados de las células, • Cada célula, además, se caracteriza por su vecindad, un conjunto finito de células en las cercanías de la misma. • De acuerdo con esto se aplica a todas las células de la cuadrícula una función de transformación que toma como argumentos los valores de las células en cuestión y los valores de sus vecinos, y regresa el nuevo valor que la célula tendrá en la siguiente etapa de tiempo. Esta función se aplica de forma homogénea a todas las células por cada paso discreto de tiempo. AC 1D regla 30 <--Regla 30 Vecindad cuando el radio de vecindad r=1. También tomamos la célula central. El AC no trivial más simple consiste en una retícula unidimensional de células que sólo pueden tener dos estados (« 0 » o « 1 »), con un vecindario constituido, para cada célula, de ella misma y de las dos células adyacentes es decir 2r+1=3 (23=8 configuraciones posibles). Existen 28=256 modos de definir cuál ha de ser el estado de una célula en la generación siguiente para cada una de estas configuraciones, luego existen 256 AC diferentes de este tipo. AC 2D Life Vecindad de Moore en dos dimensiones. Una vecindad en 2D está dada por 8 células. AC 3D Life Vecindad de Moore en tres dimensiones. Una vecindad en 3D está dada por 27 células. Cada célula tienen 26 vecinos. Carter Bays, Candidates for the Game of Life in Three Dimensions, Complex Systems 1, pp. 373-400, 1987. Carter Bays, Classification of Semitotalistic Cellular Automata in Three Dimension, Complex Systems 2, pp. 235-254, 1988. Carter Bays, A Note on the Discovery of a New Game of Three-dimensional Life, Complex Systems 2, pp. 255-258, 1988. Carter Bays, The Discovery of a New Glider for the Game of Three-Dimensional Life, Complex Systems 4, pp. 599-602, 1990. Carter Bays, New Game of Three-Dimensional Life, Complex Systems 5, pp. 15-18, 1991. Carter Bays, A New Candidate Rule for the Game of Three-Dimensional Life, Complex Systems 6, pp. 433-441, 1992. Carter Bays, Further Notes on the Game of Three-Dimensional Life, Complex Systems 8, pp. 67-73, 1994. AC 3D Life Evolución en tres dimensiones regla R(4,5,5,5) Espacio de evoluciones en tres dimensiones en un arreglo de 80 x 80 x 80 células. Las células de color blanco representan el estado 0 y los cubitos de amarillo representan el estado 1, las ilustraciones se obtuvieron con el programa Tresvita3.2 Los autómatas celulares en tres dimensiones son aún mas complicados de analizarlos, en la literatura de autómatas celulares en tres dimensiones se tienen análisis de tipo estadístico y probabilístico, tratando de explicar el comportamiento de reglas semitotalísticas. Carter Bays, Classification of Semitotalistic Cellular Automata in Three Dimension, Complex Systems 2, pp. 235-254, 1988. R. W. Gerling, Classification of three-dimensional cellular automata, Physica A 162, pp. 187-195, 1990. Jan Hemmingsson, A totalistic three-dimensional cellular automaton with quasiperiodic behavior, Physica A 183, pp 255-261, 1985. Aplicaciones: Arquitectura. AACC 3D Trabajar con AACC 3D conlleva un esfuerzo de cómputo que retrasó hasta hace poco la representación de estos modelos. En este tipo de cosas los AACC 3D se suelen utilizar para representar diferentes configuraciones volumétricas. Se trata de agrupamientos, apilamientos y ordenamientos de grupos de celdas. El arquitecto tiende a hacer una interpretación. Por ejemplo: Lo más directo es entender cada celda como una unidad habitacional, por ejemplo un cuarto de una casa. Así el azar de los sistemas dinámicos de los AACC, provee incontables juegos de ordenamiento espacial de unidades.