Autómatas Celulares (AC s)



Documentos relacionados
RELACIONES DE RECURRENCIA

CAPÍTULO 6 SIMULACIONES Y RESULTADOS

Una (muy) breve introducción a la teoría de la computación

Módulo 9 Sistema matemático y operaciones binarias

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Geometría Computacional

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Introducción a la Teoría del Procesamiento Digital de Señales de Audio

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIÓN DE SISTEMAS

NÚMEROS NATURALES Y NÚMEROS ENTEROS

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

Lección 22: Probabilidad (definición clásica)

Actividades con GeoGebra

CAPITULO 4 JUSTIFICACION DEL ESTUDIO. En este capítulo se presenta la justificación del estudio, supuestos y limitaciones de

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Integrales y ejemplos de aplicación

Generación de Números Pseudo-Aleatorios

1. Objetivos. 2. Idea Principal. Teoría de Autómatas y Lenguajes Formales. Boletín de Autoevaluación 3: Cómo se minimiza un AFD?.

Matemáticas Grado 1 Curso escolar completo (EJEMPLO)

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

El rincón de los problemas. Oportunidades para estimular el pensamiento matemático. Triángulos de área máxima o de área mínima Problema

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

Traslación de puntos

Análisis de propuestas de evaluación en las aulas de América Latina

Medias Móviles: Señales para invertir en la Bolsa

Tema 3. Medidas de tendencia central Introducción. Contenido

INTRODUCCIÓN. En el mundo actual, el manejo y acceso de la información para tenerla y manejarla en el

DISEÑO DEL SOFTWARE TRAFFIC ANALYZER. Analyzer. En este capítulo se reporta el desarrollo que se llevó a cabo para realizar el software

Universidad Diego Portales Facultad de Economía y Empresa

Procesos Críticos en el Desarrollo de Software

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

Bienvenido a la prelicencia!

6. SISTEMAS CAD-CAM (CAM) 6.1. CONCEPTO DE CAM

1. Números Reales 1.1 Clasificación y propiedades

Unidad II: Números pseudoaleatorios

Con el ánimo de conocer el

Estática. Análisis Estructural

Talento Matemático 2002/2003. Real Academia de Ciencias

El Secreto de las Abejas y la Geometría de la Naturaleza

28 = =

RELOJ SOLAR HORIZONTAL Esteban Esteban Atrévete con el Universo

Instructivo Applet en Geogebra grafica frecuencia relativa Lanzamiento de dos dados n veces

Funciones, x, y, gráficos

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

TIEMPO -DÍAS -HORAS CONCEPTO GENERAL DEL TIEMPO

Materia: Informática. Nota de Clases Sistemas de Numeración

ESTIMACIÓN. puntual y por intervalo

Liderazgo se genera en el lenguaje

Probabilidades y Estadística (Computación) Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Ana M. Bianco y Elena J.

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

ADMINISTRACION DE PROYECTOS

ESTADÍSTICA APLICADA A LA INVESTIGACIÓN EN SALUD Construcción de una Base de Datos

TEMA 1: REPRESENTACIÓN GRÁFICA. 0.- MANEJO DE ESCUADRA Y CARTABON (Repaso 1º ESO)

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

1.2 SISTEMAS DE PRODUCCIÓN

Introducción a los Autómatas Finitos

Cap. 24 La Ley de Gauss

EXPLORAR RELACIONES NUMÉRICAS EN LAS TABLAS DE MULTIPLICAR

QUE DA. Parte 1. nosotros). Tienes gripa,

Para representar los conjuntos, los elementos y la relación de pertenencia, mediante símbolos, tendremos en cuenta las siguientes convenciones:

6. VECTORES Y COORDENADAS

Problemas indecidibles

Tutorial Diario Dı a 6

TEMA: ECUACIONES CON NÚMEROS NATURALES ECUACIONES DE PRIMER GRADO CON UNA INCÓGNITA.

1. INTRODUCCIÓN 1.1 INGENIERÍA

ANÁLISIS DINÁMICO DEL RIESGO DE UN PROYECTO

Tema 2 Límites de Funciones

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Base de datos en Excel

PRESENTACIÓN GRÁFICA DE LOS DATOS

PEOBLEMAS RESUELTO DE CADENAS DE MARKOV

Seguimiento y evaluación

4. Estadística Descriptiva

CAPITULO IV. Pruebas y resultados.

Análisis de Resultados

Centro de Capacitación en Informática

TEMA 5. ELECTRÓNICA DIGITAL

PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S

Puertas Lógicas. Contenidos. Objetivos

Muestreo estadístico. Relación 2 Curso

ANÁLISIS DE DATOS NO NUMERICOS

CAPÍTULO 4. DISEÑO CONCEPTUAL Y DE CONFIGURACIÓN. Figura 4.1.Caja Negra. Generar. Sistema de control. Acumular. Figura 4.2. Diagrama de funciones

Ingeniería de Software I

Lección 21: Eventos alea torios y determinísticos

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

PROYECTO DE LA REAL ACADEMIA DE CIENCIAS Estímulo del talento matemático

Operación de Microsoft Excel

Implementando un ERP La Gestión del Cambio

Unidad IV: TCP/IP. 4.1 Modelo Cliente-Servidor

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Operaciones Morfológicas en Imágenes Binarias

a < b y se lee "a es menor que b" (desigualdad estricta) a > b y se lee "a es mayor que b" (desigualdad estricta)

PROGRAMA PARA LA RECEPCIÓN VALIDACIÓN Y RESGUARDO DE DOCUMENTOS FISCALES VERSIÓN 1.00 MANUAL DE OPERACIÓN

Tema 2. Espacios Vectoriales Introducción

Transcripción:

Autómatas Celulares (AC s) Los autómatas celulares son máquinas discretas que pueden realizar cierto tipo de cómputos. Fueron inventados en los 1940 s por John von Neumann. Tienen similitudes muy lejanas con los autómatas finitos determinísticos. Jorge Baier Aranda, PUC 89

Elementos de un AC (informalmente) Un AC posee los siguientes elementos: Un enrejado (lattice) regular de celdas (o células). Cada celda puede estar en un estado tomado de un conjunto finito de estados. Cada celda tiene un conjunto finito de celdas vecinas. La relación de vecindad es uniforme. Una función de transición discreta y temporal, que indica cuál será el estado de una celda en el instante t + 1 basada en los estados de sus vecinas y de ella misma en el tiempo t. La función es la misma para todas las celdas. Jorge Baier Aranda, PUC 90

Un ejemplo informal de un AC En este ejemplo, supondremos que tenemos un AC de una dimensión (cuyo lattice es de una dimensión). En el tiempo t la celda i-ésima se encuentra en el estado c i (t), y sus vecinas son las celdas adyacentes. El siguiente esquema muestra el lattice tanto en el tiempo como en el espacio. Espacio Tiempo c t (i 2) c t (i 1) c t (i) c t (i + 1) c t (i + 2) c t+1 (i) La función de transición para una celda la podemos definir de la siguiente manera: c t+1 (i) = { 1 si 1 c t (i 1) + c t (i) + c t (i + 1) 2 0 en otro caso Jorge Baier Aranda, PUC 91

Ejemplo informal (cont.) Si consideramos que cada celda sólo puede estar en dos estados: activa o no activa, el siguiente es el esquema espacio/temporal que se puede dibujar para una configuración inicial con dos celdas adyacentes activas. Jorge Baier Aranda, PUC 92

Ejemplo informal (cont.) Si seguimos con el dibujo, se observa que el patrón se repite. Este esquema corresponde a un triángulo de Sierpinsky-Gasket, el que puede ser generado por un string de una L-systems (basados en GLC s) en el cual los símbolos se interpretan como avance dibujando, avance sin dibujar, giro (derecha e izquierda). Jorge Baier Aranda, PUC 93

Definición Formal de un AC Formalmente, un AC es una tupla (L, S, N, f), donde L es un lattice regular. S es un conjunto finito de estados. N es una familia de funciones de vecindad, donde N (r) es un conjunto (posiblemente una lista) de celdas (de tamaño n) vecinas a r. f : S n S es la función de transición. Por otro lado, una configuración C : L S es una función que asocia un estado con cada celda del lattice. La siguiente definición asocia las configuraciones con la función de transición: C t+1 (r) = f({c t (i) i N (r)}). Un lattice se dice regular si es una selección periódica de un espacio d-dimensional. Jorge Baier Aranda, PUC 94

Definición Formal del Ejemplo Anterior Es sencillo definir formalmente el ejemplo anterior. El ejemplo anterior es una tupla (L, S, N, f), donde: L = Z. S = {0, 1}. N (i) = {i 1, i, i + 1}. f(c) = { 1 si 1 c C c 2 0 en otro caso A continuación veremos algunas alternativas de diseño que se han estudiado para la construcción de AC s. Jorge Baier Aranda, PUC 95

El lattice Un lattice tiene asociada una dimensión. En dimensión 2, pueden usarse distintos tipos. Los más comunes son el triangular, rectangular y hexagonal. Éstos se muestran en la siguiente figura. El uso de distintos lattices ofrece ventajas y desventajas computacionales y físicas en la modelación de sistemas. Sin embargo, es posible transformar lattices triangulares y hexagonales a lattices cuadrados redefiniendo la relación de vecindad. Jorge Baier Aranda, PUC 96

Tamaño del lattice La definición formal de un CA implica que el lattice es infinito en todas las direcciones. Sin embargo, implementar esto es imposible. Por esa razón, los lattice se implementan siguiendo alguna condición de borde. Ésta puede ser: Borde Periódico: El lattice se considera periódico (como si volviera a empezar). Esto es equivalente a que los bordes opuestos se consideran conectados. Es el más usado. Borde Reflector: El lattice se considera reflejado en los bordes. En lattice de dos dimensiones, a veces se mezcla esta alternativa y la anterior. Borde Fijo: El estado de las celdas del borde toma un valor fijo. Jorge Baier Aranda, PUC 97

La Relación de Vecindad Una vez escogido un lattice es necesario definir la relación de vecindad. Normalmente, se eligen como vecinos de una celda, las que están más próximas. En la literatura, es posible encontrar dos vecindades relativamente populares, la de von Neumann y la de Moore. En la siguiente figura se muestran ambas vecindades. La cantidad r se conoce como el radio de la vecindad. von Neumann Moore r=1 r=2 r=1 r=2 Jorge Baier Aranda, PUC 98

Más formalmente, estas vecindades están descritas por N (i, j) = {(k, l) L k i + l j r} N (i, j) = {(k, l) L k i y l j r} (von Neumann) (Moore) Jorge Baier Aranda, PUC 99

La Función de Transición Una forma de especificarlas es a través de la especificación directa. Esto puede resultar caro puesto que en general construiremos una tabla de S n elementos. A veces se puede hacer especificación directa usando comodines y reglas de precedencia. Por ejemplo, la siguiente tabla muestra una función de transición para un AC de una dimensión en donde cada celda tiene dos vecinos y donde el conjunto de estados es {0, 1, 2}. (, 0, 2) 2 (2, 0, ) 2 (, 0, ) 0 (, 2, ) 1 (, 1, ) 2 Jorge Baier Aranda, PUC 100

Funciones de Transición (cont.) Muchas aplicaciones usan funciones de transición totales. Una función de transición es total si ésta sólo depende de la suma de los estados de sus vecinas, es decir, si es de la forma: C t+1 (r) = f i N (r) C t (i) Una forma más general de una función total, que admite definición de casos es: C t+1 (r) = f C t (r), g(c t (i)) i N (r) Jorge Baier Aranda, PUC 101

Funciones de Transición (cont.) También es posible usar funciones de múltiples pasos. Son equivalentes a las de un paso, pero a veces resultan adecuadas porque son fáciles de entender. La función de transición también puede ser probabiĺıstica. En este caso, ésta se redefine formalmente como f : S n S [0, 1] es decir, tal como en los AFND s, pero asociando una probabilidad a la relación. Jorge Baier Aranda, PUC 102

AC s y Computación Será posible calcular una función arbitraria con un AC? Esta pregunta la respondió afirmativamente John von Neumann, pero su solución fue muy engorrosa. John Conway, en los 1960 s, se preocupó nuevamente del problema y logró una solución mucho más sencilla. La solución surge de su famoso Juego de la Vida Jorge Baier Aranda, PUC 103

El Juego de la Vida de Conway El Juego de la Vida de Conway es un AC de dos dimensiones, donde cada celda tiene dos estados (viva, vacío), y cuya función de transición está descrita por lo siguiente: Si una celda viva tiene menos de dos vecinas, entonces muere (de soledad). Si una celda viva tiene más de tres vecinas, entonces muere (de hacinamiento). Si una celda vacía tiene tres vecinas, entonces en el siguiente estado, está viva. En caso contrario, la celda mantiene su estado. La situación inicial normalmente es aleatoria. Con estas reglas aparecen objetos que se mantienen estáticos, otros que tienen comportamientos periódicos, y otros que avanzan (gliders). Jorge Baier Aranda, PUC 104

Computando funciones booleanas Usando las reglas del juego de la vida, es sencillo crear las llamadas glider guns y gun eaters. Algunos demos se pueden ver en http://www.radicaleye.com/lifepage/ Usando estos elementos, es posible construir compuertas NOT y AND, tal como se muestra en la siguiente figura: A B A B A A : Glider gun : Glider eater : Colisión : Dato Jorge Baier Aranda, PUC 105

Una MT en el juego de la Vida Más interesante aún, en Abril de 2000, Paul Rendell construyó una MT en el juego de la vida. El esquema es el siguiente: [demo] Jorge Baier Aranda, PUC 106

Modelación de Procesos Químicos Una aplicación clásica de modelación de procesos químicos es la modelación de procesos de Reacción-Difusión. En estos procesos dos o más químicos se difunden sobre una superficie y reaccionan formando patrones estables. Desde un punto de vista macroscópico, los procesos de reacción-difusión se pueden describir usando ecuaciones del tipo: a t = F (a, b) + C a 2 a b t = G(a, b) + C b 2 b, donde a (o b) es una función del espacio y del tiempo y representa la concentración del químico a (o b). Para ver lo sencillo que puede llegar a ser la modelación de estos procesos usando autómatas celulares, podemos aproximar la ecuación para a, en una dimensión, Jorge Baier Aranda, PUC 107

de la siguiente manera. ( ) a t = F (a, b) + C a(x + x, t) a(x, t) a x x = F (a, b) + C a a(x + x x, t) a(x x, t) a(x + x, t) + a(x, t) ( x) 2 = F (a, b) + C a ( x) 2(a(x + x, t) + a(x x, t) 2a(x, t)) Si ahora hacemos D a = C a obtenemos que ( x) 2 t a = tf (a, b) + D a (a(x + x, t) + a(x x, t) 2a(x, t)) Finalmente, si F (a, b) = C s (α ab) y G(a, b) = C s (ab b β) se obtiene las ecuaciones de Turing (!) 6 para el proceso de reacción difusión en una dimensión. a i = D s (α a i b i ) + D a (a i+1 + a i 2a i ) b i = D s (a i b i b i β i ) + D a (b i+1 + b i 2b i ), 6 La ecuación original de Turing considera a α = 16. Jorge Baier Aranda, PUC 108

donde D s es la tasa de reacción y D a, la tasa de difusión, y a i y b i son, respectivamente, las concentraciones de a y b en la celda i. Claramente, este proceso se debiera poder simular con un CA. Es sencillo extender esto a un proceso en dos dimensiones. De hecho, en dos dimensiones, las ecuaciones de Turing forman figuras similares a la textura de algunos animales: Jorge Baier Aranda, PUC 109

Texturas sobre Relieve Usando otros procesos de difusión es posible imitar aún más las texturas de animales: Jorge Baier Aranda, PUC 110

Otras Aplicaciones Simulaciones de Purificación de Aguas (PUC) Simulaciones de Termodinámica e Hidrodinámica. Simulaciones de Tráfico. Simulación de Propagación de Incendios, etc. Jorge Baier Aranda, PUC 111

Referencias 1. Gary Flake. The Computational Beauty of Nature. MIT Press. 2. Jörg R. Weimar. Simulation with Cellular Automata. Lecture Notes. 3. Orion Sky Lawlor. Reaction-Diffusion Textures. http://charm.cs.uiuc.edu/users/olawlor/projects/2003/rd/ 4. Greg Turk. Generating Textures on Arbitrary Surfaces using Reaction-Diffusion. Jorge Baier Aranda, PUC 112