La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Autómatas Celulares Mario Hernández.

Presentaciones similares


Presentación del tema: "Autómatas Celulares Mario Hernández."— Transcripción de la presentación:

1 Autómatas Celulares Mario Hernández

2 Autómata Celular (AC) Introducidos por primera vez en 1940 por John Von Neumann por sugerencia de Stanislav Ulam con el objetivo de crear un modelo real del comportamiento de sistemas extensos y complejos Se han “concebido” en numerosas ocasiones con diferentes nombres y con frecuencia, diferentes conceptos se han utilizado con el mismo nombre: En Matemática se les conoce como una rama de la dinámica topológica En Ingeniería eléctrica se les conoce con frecuencia como matrices iterativas Para algunos estudiantes pueden ser simplemente un juego de ordenador.

3 ¿Qué es? Un AC es un modelo formal que sirve para demostrar el comportamiento emergente que se puede producir en un sistema matemático. Se establecen un sistema de celdas que varían su estado dependiendo de las células vecinas.

4 Cada AC está determinado por:
Un número de celdas. El radio (r) que abarca la vecindad de cada célula. El número de estados en que puede encontrarse cada celda. Una regla de transición local, igual para todas las celdas, cuya entrada es el estado conjunto de las celdas que forman la vecindad.

5 Concepto (intuitivamente)
Sistema dinámico discreto extremadamente simple Ejemplo simplificado: Sea una retícula espacial discreta y en cada celda tenemos un valor de estado ( por simplificar sólo puede ser 0 ó 1 ) en un ámbito el tiempo también discreto. En cada instante de tiempo cada celda analiza el valor de las celdas de un entorno a su alrededor y el suyo propio y según cierta regla local cambia ó no su valor. Un AC es por tanto un sistema dinámico discreto. Por tanto, sus elementos definitorios son: Celda Retícula Vecindad Reglas de Actualización

6 Los AC pues son redes de autómatas simples dispuestos sobre los nodos de una retícula y conectados localmente. Cada autómata simple produce una salida a partir de varias entradas, modificando en el proceso su estado según una función de transición. Los AC son herramientas útiles para modelar cualquier sistema natural en el universo: Buena alternativa a las ecuaciones diferenciales Utilizados para modelar sistemas físicos: interacciones entre partículas, formación de galaxias, cinética de sistemas moleculares y crecimiento de cristales, así como diversos sistemas biológicos a nivel celular, multicelular y poblacional.

7 Definiciones El concepto de Autómata Celular (AC) es extremadamente simple: supongamos un retículo y en cada celda del retículo tenemos un valor ( por simplificar nos limitaremos al caso en que el estado sólo puede ser 0 ó 1 ) . En cada instante de tiempo cada celda analiza el valor de las celdas de un entorno a su alrededor y según cierta regla local cambia ó no su valor. Además de la actualización síncrona de todas las celdas que constituyen el sistema, las características principales de un AC es que tanto el espacio como el tiempo son cantidades discretas. Un AC es por tanto un sistema dinámico discreto. Los conceptos claves que permiten definir al AC son: El estado de las celdas. La vecindad. La regla local.

8 Las celdas Ocupadas por autómatas que actúan como elementos de memoria que almacenan el estado xi(t) = estado de la celda que ocupa la posición i en el instante t. N = el número total de celdas. El conjunto {k} de posibles estados de cada celda debe ser finito, xi(t) {k} En lo que sigue consideraremos AC binarios, es decir la celda sólo puede estar en el estado ``1'' (activo) o en el estado ``0'' (inactivo).

9 La retícula (lattice) Red de organización espacial de autómatas Tipos:
Unidimensional: las celdas se organizan en una línea, de manera que cada celda tendrá, como máximo dos vecinos directos Bidimensional: cada celda tendrá tantos vecinos directos como corresponda a la topología de la discretización Multidimensional

10 La vecindad (1D) vi(t)= {xi-1(t), xi(t), xi+1(t),...} Es el conjunto de celdas alrededor de la celda i y la misma celda. El número de vecinos lo representamos por Nv. En d=1 y tomando los vecinos como el de la izquierda y el de la derecha tendríamos la siguiente vecindad: L-C-R C:celda central, L: vecino de la izquierda, R: vecino de la derecha. En este ejemplo estamos considerando una vecindad de radio r=1. Si extendemos el radio a r=2, tendríamos una vecindad como ésta: LL-L-C-R-RR En d=1 el número de vecinos es: 2r+1 y el número de posibles vecindades es k2r+1. En un AC las N celdas se encuentra en una retícula de dimensión d. Cuando el retículo es de tamaño finito siempre consideraremos condiciones de contorno periódicas, es decir que la celda en la posición tiene como vecina a la celda de la posición y viceversa.

11 La vecindad (1D) Alternativo t t+1 Alternativo
Se denomina radio r al número de celdas a cada lado de la actual que influyen en el cálculo de su valor futuro

12 Vecindad Moore Extendida
La vecindad (2D) Diversos tipos en función de la naturaleza de la retícula y la elección de vecinos. P.e. para rectangular: t t+1 Alternativo Vecindad von Neumann Vecindad Moore Vecindad Moore Extendida Vecindad Margolus

13 La vecindad (2D) Retícula hexagonal: Vecindad Triunfante Dominio
Codominio

14 La vecindad (2D) Q*Bert: Alternativo t t+1

15 La vecindad (2D) Estrella de David Dominio Codominio

16 La vecindad (2D) Triángulo-6 t t+2 t+1 Alternativo
Y otros muchos más ...

17 La vecindad (3D) 3D-X Dominio Codominio Y otros muchos más ...

18 Tratamiento de Bordes ¿Qué ocurre con los bordes en las actualizaciones?. Hay tres soluciones posibles: Los bordes opuestos de la retícula se pliegan y se unen, de manera que si el AC es d=1, se convierte en un círculo a efectos de tratamiento y si d=2 se convierte en un toro Las celdas de borde son especulares, por lo que se darán propiedades de simetría Las celdas fuera del borde de la retícula están desactivadas La primera es la más usual

19 La vecindad (2D) N O C E S NO N NE O C E SO S SE
En dos dimensiones hay dos tipos fundamentales de vecindad: la de Von Neumann (4-vecinos) y la de Moore (8-vecinos): N O C E S NO N NE O C E SO S SE

20 Las reglas Definen la mecánica de interacción y la evolución temporal del estado de cada celda La regla local de evolución nos permite obtener el valor cuando conocemos el valor de las celdas en la vecindad en el instante anterior. La idea fundamental es que LAS REGLAS DE INTERACCIÓN LOCAL PERMITEN ALCANZAR UNA DINÁMICA GLOBAL

21 Las reglas para AC 1D 111 110 101 100 011 010 001 000 1 t=0 1 t=1
Por ejemplo en el caso de un AC binario en d=1 (es decir, unidimensional) con r=1 la vecindad de una celda tiene que ser alguna de las configuraciones siguientes (primera fila) y la regla de generación de salida, la indicada en la segunda linea: vecindad 111 110 101 100 011 010 001 000 bit de salida 1 Evolución de un reticulado. Regla 90 (expresión decimal de la regla de evolución) . Las condiciones de contorno son periódicas. t=0 1 t=1

22 Si-1(t-1) Si(t-1) Si+1(t-1) Regla
1 Como hay 256 reglas posibles 28, se pueden generar 256 tramas de celdas (universos) distintos En la práctica algunas coinciden

23 De estos universos, aproximadamente el 25 % generan universos "interesantes", es decir, con una patrón. Los demás, o tienen todas las celdas apagadas (código -1), todas encendidas (código +1) o no varían las filas al pasar las generaciones (código 2). Otro tipo es el "fractal" (código 3), ya que resulta un patrón de triángulos, que se subdividen en otros triángulos, que se subdividen en otros triángulos... Este tipo es francamente raro, ya que solo se puede originar si hay una célula encendida lo suficientemente lejos de las otras para no interferir.

24 Ejemplo Regla de código 90. Evolución en un diagrama espacio-tiempo de la misma regla partiendo de un estado inicial en el que sólo hay una celda en estado 1 y el resto 0. El estado de las celdas se pueden representar por una línea cambiante o dibujando una línea debajo de otra, quedando así un mosaico de células. Cada fila de células se conoce como una generación, y todo el entramado de células, universo.

25 Ejemplo Regla 54, r=1, inicio con una sola celda activa
Regla 62, r=1, inicio con una situación aleatoria

26 Ejemplo Regla 30, r=1, inicio con una sola celda activa
Regla 30, r=1, inicio con una situación aleatoria

27 Ejemplo La regla 30 se ha usado para: Generar números aleatorios
Criptografía Lo único que es necesario escoger en ambos casos es la semilla inicial que hay que poner a evolucionar. Aleatoriedad: La Regla 30 ha sido estudiada para poner de manifiesto como surgen procesos aleatorios a partir de reglas deterministas simples. Si por ejemplo nos fijamos en la celda central y vamos tomando la sucesión de valores tendremos un conjunto de 0 y 1 que supera todos los test de aleatoriedad. Criptografía: con la R30 se toma un mensaje     , el mensaje cifrado                     y la descodificación se hace                    .

28 Ejemplo Regla 182, r=1, inicio con una sola celda activa y aleatorio respectivamente (1 blanco, 0 negro)

29 Ejemplo Clase 1: r=2, k=2, regla=100100

30 Ejemplo Universo de la regla 105

31 Tipos de reglas Legales: (Wolfram) son aquellas en que la vecindad nula da siempre un valor nulo y además son simétricas. Dicho de otra manera, del estado total cero no puede emerger ningún desarrollo. Totalísticas: aquellas en que la regla de evolución sólo depende de la suma de los estados de los vecinos. La codificación de estas reglas se hace de manera más sencilla. Pe. si la suma de las celdas adyacentes es 4, el nuevo estado de la celda actual es 1, en otro caso es 0. Elementales: son las reglas legales con r=1 en d=1. Las condiciones de simetría que impone el concepto de legal hace que la vecindad 110 debe dar lo mismo que la 011 y que la 100 debe dar lo mismo que la 001. Hay sólo 32 reglas elementales.

32 Propiedades Globales Organización: partiendo de un estado inicial en el que se encuentren todas las configuraciones posibles, el AC evoluciona reduciendo el número de configuraciones finales. Hay una disminución del “desorden” y por tanto una disminución de “entropía”. Irreversibilidad Local: En un AC diferentes situaciones iniciales pueden dar lugar a la misma situación final. Es decir que “padres distintos” dan lugar al mismo “hijo”. De esta manera conociendo sólo al hijo es imposible saber quien es el padre, no es posible ( en general ) volver hacia atrás en el tiempo y reconstruir la historia completa. Jardines del Edén: Situaciones que sólo se dan como configuración inicial.

33 Tipos de AC. Universalidad de los AC
32 4 110 54 20 E. Inicial Aleatorio Regla Según S. Wolfram el comportamiento espacio-tiempo de los ACs se puede clasificar en 4 grupos: Clase I: (punto límite) Estado final homogéneo y configuración que se estabiliza en el tiempo. Clase II: (ciclo límite) Estado final formado por un conjunto de estructuras periódicas. Se pueden entender como un tipo de filtro, l oque los hace interesante para, pe, proceso de imágenes. Clase III: (atractor extraño) Estado final aperiódico caótico. Los patrones creados por este tipo son una especie de curvas fractales autosimilares: Clase IV: Comportamiento más complejo) Aparecen estructuras localizadas y complejas que perduran a lo largo del tiempo (Juego de la Vida). Son capaces de computación universal (Máquina de Turing)

34 Universo de tipo 3

35 Ejemplo de AC Se pueden distinguir varios tipos según su tipo de reglas. El más difundido es el Autómata celular ON/OFF Se caracterizan porque hay varias reglas y sus celdas poseen un solo estado: activado o desactivado. Cada célula se rige por un grupo de reglas que dependen directamente de su estado y el de sus vecinas. Aunque pueden ser de varias dimensiones, el más importante es el de una. Se compone de una línea de células. Cada célula comprueba el estado de sus vecinas laterales para así obtener su estado en la próxima generación. Se pueden representar por una línea cambiante o dibujando una línea debajo de otra, quedando así un mosaico de células.

36 Este último tipo no tiene dos dimensiones celulares, como parece
Este último tipo no tiene dos dimensiones celulares, como parece. Una es la dimensión celular (cada línea de células) y otra la dimensión temporal (se puede seguir la "vida" de una célula mirando en la misma columna hacia abajo). Cada fila de células se conoce como una generación, y todo el entramado de células, universo.

37 El tipo más normal es el que se compone de ocho reglas.
La primera línea se genera aleatoriamente. Para cada célula de las siguientes líneas se comprueba su estado en la línea anterior y el estado de sus dos vecinas. Con eso, se decide su estado. Por ejemplo: para la celda número 50 de la fila 200, se toman tres valores para decidir su estado: el de la célula 49, la célula 50 y la célula 51, todas de la fila 199. Teniendo estos tres valores, mediante una tabla se decide el estado de la célula.

38 Si estos tipos de patrones aparecen en un universo con una fila inicial bastante poblada, la interacción de ellos da por general patrones mucho más complicados e imprevisibles, de tipo 4 (como el de la primera imagen). No obstante, algunas reglas de tipo 3 que actúan sobre una población inicial de una sola célula pueden generar universos de tipo -1,+1,2,3 o 4. Además, reglas que no generan universos interesantes actuando sobre poblaciones iniciales de varias células sí lo hacen si la población inicial está compuesta de una sola célula. Una muestra más de la impredicibilidad de estos tipos de programas: la regla 105 genera un híbrido entre 3 y 4. No obstante, hay que decir que la regla nº 105 es la algo "especial", ya que crea patrones triangulares verdes (encendidos) y patrones triangulares negros (apagados), así como patrones de pequeñas rayas verticales de ambos colores. Esto es sorprendente ya que la mayoría de los universos 4 basados en triángulos generan estas figuras en un solo color.

39 ¿Tipo 3 o tipo 4? Ninguno de los dos, un híbrido

40 Otro tipo de variante de este autómata son los que en vez de tomar una vecina por la derecha y otra por la izquierda, toman dos por cada lado, o solo por uno... También se pueden tomar los datos de las dos generaciones anteriores o combinar todas estas posibilidades. Además, se pueden estudiar las reglas para poblaciones iniciales de una sola célula o para otras poblaciones con más miembros. Se pueden añadir mutaciones de las reglas cada cierto tiempo, más de un estado... Las posibilidades son infinitas, aumentando el número de patrones posibles al aumentar la complejidad de las reglas. 

41 AC 2D

42

43 Ejemplos

44 Juego de la Vida

45 El Juego de la Vida de Conway (Life Game)
Es uno de los ejemplos más simples de lo que se ha denominado “complejidad emergente”, o “sistemas autoorganizados”: El estudio de cómo pueden emerger patrones y comportamientos elaborados a partir de reglas muy simples, permitiendo estudiar y simular cómo pueden aparecer. Idea concebidas a finales de los años sesenta por John Horton Conway y descritas en Scientific American en Octubre de 1970 como un universo y unas simples reglas que fuesen capaces de computación.

46 El Juego de la Vida de Conway (Life Game)
Es un autómata celular bidimensional en cuadrícula con dos estados por celda. Cada celda o célula puede estar viva o muerta y en cada generación se aplica un algoritmo que sigue estas tres reglas: Superviviencia: Cada célula viva con dos o tres células vecinas vivas sobrevive a la siguiente generación. Nacimiento: Cada célula muerta con tres células vecinas vivas resucita en la siguiente generación. Muerte: Cada célula viva con ninguna, una, o más de tres células vivas a su alrededor pasa a estar muerta.

47 Las reglas del Juego de la Vida esta´n especialmente concebidas para generar los comportamientos
El Juego de la Vida balancea las tendencias de nacimiento, crecimiento y muerte haciéndose difícil predecir si un cierto patrón morirá completamente, formará una población estable o crecerá indefinidamente. En el Juego de la Vida, como en la naturaleza, se observan muchos fenómenos fascinantes. La naturaleza, sin embargo, es complicada y no estamos seguros de todas las reglas. El Juego de la Vida The Game of Life nos permite observar un sistema donde conocemos todas las reglas. De forma análoga a como el estudio de animales simples permite descubrir cosas sobre animales más complejos, la gente puede estudiar el Juego de la Vida para aprender , sobre los patrones y comportamientos de sistemas más complejos.

48 El juego presenta configuraciones finales estables, periódicas o no y presenta (según Langton) propiedades: Catálisis (acciones de construcción arbitrarias), De transporte (borrando estructuras y reconstruyéndolas en otro lugar del espacio celular), Estructurales (como elementos estáticos, barreras, etc.), De regulación, De defensa E incluso informativas, Y que por tanto estos autómatas virtuales tienen capacidades computacionales suficientes para cumplir los papeles funcionales que juegan las macromoléculas en la lógica molecular de la vida. En definitiva, que funcionalmente, los autómatas son equiparables a los componentes básicos de la vida en nuestro planeta.

49 These simple rules can produce various behavioural states, ranging from stable to chaotic, depending on the initial pattern of cells. The number of living cells may be ever increasing, oscillating between a finite number of values, static, or always decaying. A stable system may involve cells which always remain alive in future generations, or may contain groups of cells which oscillate between two shapes periodically, known as ‘blinkers’, which will continue indefinitely unless distant cells approach and interfere. Chaotic and unstable states quickly die out, just as they do in nature. Complex states can also occur, and these states are not periodic and do not die out. There are several interesting shapes that seemingly produce new shapes, or appear to be alive. An example of one of these complex states is called a “glider”, a period-4 oscillating pattern that moves diagonally across the grid. There are many Life enthusiasts who experiment with Life simply to discover new and interesting shapes, or interactions between shapes. Conway's prediction that the system was capable of computation has been confirmed. By using "gliders" to represent bit streams, researchers at MIT have been able to build AND- and OR-gates and even a whole adding unit, which adds the digital values two streams of gliders represent and sends out the result of the addition as a new stream. A Turing Machine has also been implemented in Life, which is extendable to a Universal Turing Machine, capable of computing any computable function. The pattern is shown in Appendix B, and requires 11,000 generations just to advance one cycle of computation.

50 Propagación de Incendios Forestales

51 Células

52 La Sopa Primordial

53 Autorreproducción

54 L-Systems

55 Aplicaciones en Proceso de Imágenes

56 Redes de Autómatas Celulares

57 "Células" de Peter Donnelly
Es en esencia una curiosidad científica propuesta por primera vez por Peter Donnelly del University College de Swansea, Gales, y Dominic Welsh, de la universidad de Oxford. El programa fue descrito en detalle por A. K. Dewdney en su artículo "Cinco piezas sencillas" para Scientific American. En este artículo se bautiza al programa con el nombre de “Votación", ya que según el autor pretende simular una votación política algo particular.

58 "Las casillas de una cuadricula rectangular están coloreadas de blanco o negro, aleatoriamente. Se supone que cada color refleja la opinión política de una persona residente en esa casilla. Un color podría representar 'demócrata' y el otro 'republicano'. [...] A cada señal de reloj, se selecciona al azar uno de los votantes y su opinión política se somete a cambio: se selecciona al azar uno de sus ocho vecinos y la convicción política del elector se transforma en la de este vecino, independientemente de cuál fuera su opinión anterior. [...]

59 Al hacer funcionar este modelo, confesadamente simplista, del proceso político, ocurren cosas llamativas y extrañas. Primero se desarrollan grandes bloques de voto homogéneo. Estos bloques son zonas geográficas donde todo el mundo es de la misma opinión política. Seguidamente tales bloques van migrando en torno al cuadriculado y, durante cierto tiempo luchan, como buscando su predominancia. Finalmente, el sistema bipartidista se viene abajo, por acabar todo el mundo votando de igual manera".

60 Además de esta interpretación, hay otra más aproximada, y mucho más sugerente para los interesados en la vida artificial y temas afines. Podemos llegar a apreciar comportamientos "cuasi-biológicos" si observamos la evolución de los votantes como un ejemplo de la coexistencia-competitividad de dos especies similares en un mismo medio con abundancia de alimento, como podría ser el caso de dos especies de bacterias en un fluido rico en nutrientes.

61 La interpretación es la siguiente: Cada posición de la matriz representa una célula de una especie determinada. En cada ciclo se elige aleatoriamente una de las células de la matriz. Esa célula muere, dejando un espacio libre. Ese espacio es ocupado inmediatamente de la siguiente forma: Se elige a una de las ocho células contiguas a ese espacio vacío para reproducirse, y el lugar dejado por la célula muerta lo ocupa una nueva célula, hija de la escogida, y por lo tanto de su misma especie.

62 A partir de este comportamiento tan simple podremos observar como el caos inicial, en el que las células de ambas especies se hallan mezcladas, da paso a una forma de organización en la que las células de una misma especie forman amplios grupos. que se desplazan, se estiran y se contraen mientras tratan de sobrevivir. Si se deja el programa funcionando durante un tiempo una de las especies pasa a ser dominante, pudiendo llegar a hacer desaparecer a la otra especie.

63 Finalmente, y como curiosidad, podríamos pensar en realizar en cada ciclo la reproducción de las células de un modo algo más inusual... ¿Qué ocurriría si al reproducirse una célula para ocupar el espacio vacío dejado por otra célula muerta, tuviera una hija de la otra especie, y no de la suya propia? ¿Seguiría produciéndose la homogeneidad, o el caos inicial se extendería hasta el infinito? A partir del código fuente del programa, y realizando una pequeña modificación se puede resolver esta trascendental duda.

64 Hormigas y Plantas En el programa "Hormigas y Plantas", cada una de las celdas de la rejilla en 2 dimensiones es un autómata simple con los siguientes estados posibles: - Vacío - Ocupado por una hormiga - Ocupado por una planta - Ocupado por un obstáculo Cada celda cambia de estado en función del estado de las celdas vecinas. Por ejemplo, una celda en estado "planta" pasa a estado "vacío" si hay una hormiga próxima a la planta: la hormiga se come la planta. Otros cambios de estado están supeditados además al resultado de una función pseudoaleatoria uniforme, y se producen, si se cumplen las otras condiciones, según una cierta probabilidad. Por ejemplo, una celda en estado "vacío" pasa a estado "hormiga" sólo si hay una hormiga próxima a la planta y además con una cierta probabilidad (solo si la hormiga "decide" tomar esa dirección).

65 El estado de cada celda puede estar definido por distintas variables: las hormigas, así como las plantas, poseen una cierta cantidad de energía. Pero además, las hormigas poseen una inercia en cuanto a la dirección del movimiento, que provoca una tendencia a moverse en la misma dirección, y un "tipo", ya que hay hormigas "rojas", "rosas", "naranjas", "amarillas" y "verdes" que corresponden con distintas probabilidades de moverse, regar, pelearse o reproducirse.

66 En este autómata, los cambios de estado están dirigidos únicamente por las "hormigas", de forma que la "ejecución" de una hormiga provoca un cambio de estado en sí misma y en otras posibles celdas de tipo "planta". Este último punto lleva a la posibilidad de contemplar el programa desde otro punto de vista: como un conjunto de autómatas simples móviles cuyo estado se define, entre otros, por su posición en los ejes X e Y. Es decir, en vez de ver una rejilla cuyas celdas cambian de estado, vemos un conjunto de hormigas que se mueven por unos ejes cartesianos. Efectivamente, el autómata no se ha programado como un conjunto de celdas con distintas propiedades, sino como varios conjuntos (o varios autómatas superpuestos): un conjunto de hormigas, otro de plantas y otro de obstáculos, controlando que cualquiera de ellos no exista en la misma posición que otro.


Descargar ppt "Autómatas Celulares Mario Hernández."

Presentaciones similares


Anuncios Google