Sistemas Expertos “Autómatas Celulares” Integrantes: Edgardo Avendaño Luís Godoy ¿Qué es un Autómata Celular? Los autómatas celulares son sistemas dinámicos que evolucionan en pasos discretos cuyos elementos tienen una interacción constante entre sí tanto en el espacio como en el tiempo. Son adecuados para modelar sistemas naturales que puedan ser descritos como una colección masiva de objetos simples que interactúen localmente unos con otros. Estructura de un autómata celular Los autómatas celulares se componen de lo siguiente: Una rejilla o cuadriculado de enteros infinitamente extendida, y con dimensión. Cada celda de la cuadrícula se conoce como célula. Cada célula puede tomar un valor a partir de un conjunto finito de estados k. Cada célula, además, se caracteriza por su vecindad, un conjunto finito de células en las cercanías de la misma. Los primeros autómatas celulares La historia de los autómatas celulares puede ser clasificada en tres etapas asociadas a los nombres de los científicos que en cada momento marcaron un punto de inflexión en el desarrollo de la teoría: la era de Von Neumann, la era de Martin Gardner y la era de Stephen Wolfram. Era de Von Neumann La primera etapa la inicia Von Neumann, quien una vez terminada su participación en el desarrollo y terminación de la primera computadora "ENIAC" tenía en mente desarrollar una máquina con la capacidad de construir a partir de sí misma otras máquinas (autoreproducción) y soportar comportamiento complejo. Con la ayuda de su amigo Stanislaw Ulam, Von Neumann implementa la teoría de los autómatas celulares en un vector de dos dimensiones. El vector es llamado el espacio de evoluciones y cada una de las posiciones (llamadas células) en el vector toma un valor del conjunto de estados k . La función de transición que determina el comportamiento del autómata celular utiliza la vecindad de von Neumann, que consiste en un elemento central x(i,j) (llamada célula central) y sus vecinos que son las células x(i,j − 1), x(i,j + 1), x(i − 1,j) y x(i + 1,j) (es decir, la célula en cuestión y sus células vecinas más próximas, arriba, abajo, izquierda y derecha, respectivamente). Era de Martin Gardner 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), publicado por Martin Gardner en su columna Mathematical Games en la revista Scientific American. Life ocupa una cuadrícula (lattice bidimensional) donde se coloca al inicio un patrón de células "vivas" o "muertas". La vecindad para cada célula son los ocho vecinos formados por la vecindad de Von Neumann y las cuatro células de las dos diagonales (esta vecindad se conoce como vecindad de Moore). De manera repetida, se aplican simultáneamente sobre todas las células de la cuadrícula las siguientes 3 reglas: Nacimiento: se reemplaza una célula muerta por una viva si dicha célula tiene exactamente 3 vecinos vivos. Muerte: se reemplaza una célula viva por una muerta si dicha célula no tiene más de 1 vecino vivo (muerte por aislamiento) o si tiene más de 3 vecinos vivos (muerte por sobrepoblación). Supervivencia: una célula viva permanecerá en ese estado si tiene 2 o 3 vecinos vivos. Era de Stephen Wolfram Stephen Wolfram ha realizado numerosas investigaciones sobre el comportamiento cualitativo de los A.C. Con base en su trabajo sobre AC unidimensionales, con dos o tres estados, sobre configuraciones periódicas que se presentan en el A.C., observó sus evoluciones para configuraciones iniciales aleatorias. Así, dada una regla, el A.C. exhibe diferentes comportamientos para diferentes condiciones iniciales. De esta manera, Wolfram clasificó el comportamiento cualitativo de los A.C. unidimensionales. De acuerdo con esto, un AC pertenece a una de las siguientes clases: 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). Aplicaciones Simulación de sistemas naturales. Dentro de este contexto se busca simular sistemas en donde el comportamiento de los mismos se rija por la interacción local de sus componentes, de este modo se han podido modelar el crecimiento de cristales, incendios forestales, modelos de reacciones químicas, mecánica de fluidos, patrones de pigmentación de piel, crecimiento de conchas marinas y corales, comportamiento de colonias de microorganismos entre otros. Aplicaciones Estudios Teóricos. En este campo se utilizan a los autómatas celulares para estudiar áreas como complejidad, sistemas caóticos, termodinámica, computación en paralelo, computación universal, teoría de lenguajes computacionales o estudio de patrones entre otros. Aplicaciones Realización de tareas específicas. Aquí se busca construir un autómata celular que sea capaz de desarrollar un proceso en especial, esto puede ser desde creación de fondos para diseños artísticos, procesamiento de imágenes o encriptación de datos; se han creado autómatas celulares que realizan tareas muy sencillas como podría ser un autómata celular que dada una configuración inicial, produzca después de un número finito de pasos un estado global fijo dependiendo que estado sea mayoritario en la configuración inicial. El Juego de la vida Hizo su primera aparición pública en el número de octubre de 1970 de la revista Scientific American, en la columna de juegos matemáticos de Martin Gardner. El juego de la vida es en realidad un juego de cero jugadores, lo que quiere decir que su evolución está determinada por el estado inicial y no necesita ninguna entrada de datos posterior. El "tablero de juego" es una malla formada por cuadrados ("células") que se extiende por el infinito en todas las direcciones. Cada célula tiene 8 células vecinas, que son las que están próximas a ella, incluso en las diagonales. Las células tienen dos estados: están "vivas" o "muertas" (o "encendidas" y "apagadas"). El estado de la malla evoluciona a lo largo de unidades de tiempo discretas (se podría decir que por turnos). El estado de todas las células se tiene en cuenta para calcular el estado de las mismas al turno siguiente. Todas las células se actualizan simultáneamente.. El Juego de la vida Las transiciones dependen del número de células vecinas vivas: Una célula muerta con exactamente 3 células vecinas vivas "nace" (al turno siguiente estará viva). Una célula viva con 2 ó 3 células vecinas vivas sigue viva, en otro caso muere o permanece muerta (por "soledad" o "superpoblación").