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

Los aut´omatas celulares son m´aquinas discretas que

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Los aut´omatas celulares son m´aquinas discretas que

Autómatas Celulares (AC’s)

Los automatas celulares son maquinas discretas que pueden realizar cierto tipode computos.

Fueron inventados en los 1940’s por John von Neumann.

Tienen similitudes muy lejanas con los automatas finitos determinısticos.

Jorge Baier Aranda, PUC 89

Page 2: Los aut´omatas celulares son m´aquinas discretas que

Elementos de un AC (informalmente)

Un AC posee los siguientes elementos:

• Un enrejado (lattice) regular de celdas (o celulas).• Cada celda puede estar en un estado tomado de un conjunto finito de estados.• Cada celda tiene un conjunto finito de celdas vecinas.• La relacion de vecindad es uniforme.• Una funcion de transicion discreta y temporal, que indica cual sera el estado

de una celda en el instante t + 1 basada en los estados de sus vecinas y de ellamisma en el tiempo t. La funcion es la misma para todas las celdas.

Jorge Baier Aranda, PUC 90

Page 3: Los aut´omatas celulares son m´aquinas discretas que

Un ejemplo informal de un AC

En este ejemplo, supondremos que tenemos un AC de una dimension (cuyo latticees de una dimension).

En el tiempo t la celda i-esima se encuentra en el estado ci(t), y sus vecinas sonlas celdas adyacentes.

El siguiente esquema muestra el lattice tanto en el tiempo como en el espacio.

. . . . . .

Espacio

Tiempo ct(i− 2) ct(i− 1) ct(i + 1) ct(i + 2)

ct+1(i)

ct(i)

La funcion de transicion para una celda la podemos definir de la siguiente manera:

ct+1(i) =

{1 si 1 ≤ ct(i− 1) + ct(i) + ct(i + 1) ≤ 20 en otro caso

Jorge Baier Aranda, PUC 91

Page 4: Los aut´omatas celulares son m´aquinas discretas que

Ejemplo informal (cont.)

Si consideramos que cada celda solo puede estar en dos estados: activa o noactiva, el siguiente es el esquema espacio/temporal que se puede dibujar parauna configuracion inicial con dos celdas adyacentes activas.

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . . . . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .

Jorge Baier Aranda, PUC 92

Page 5: Los aut´omatas celulares son m´aquinas discretas que

Ejemplo informal (cont.)

Si seguimos con el dibujo, se observa que el patron se repite.

Este esquema corresponde a un triangulo de Sierpinsky-Gasket, el que puedeser generado por un string de una L-systems (basados en GLC’s) en el cuallos sımbolos se interpretan como avance dibujando, avance sin dibujar , giro(derecha e izquierda).

Jorge Baier Aranda, PUC 93

Page 6: Los aut´omatas celulares son m´aquinas discretas que

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 tamano n) vecinas a r.• f : Sn → S es la funcion de transicion.

Por otro lado, una configuracion C : L → S es una funcion que asocia un estadocon cada celda del lattice. La siguiente definicion asocia las configuraciones conla funcion de transicion:

Ct+1(r) = f({Ct(i) | i ∈ N (r)}).

Un lattice se dice regular si es una seleccion periodica de un espacio d-dimensional.

Jorge Baier Aranda, PUC 94

Page 7: Los aut´omatas celulares son m´aquinas discretas que

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 continuacion veremos algunas alternativas de diseno que se han estudiado parala construccion de AC’s.

Jorge Baier Aranda, PUC 95

Page 8: Los aut´omatas celulares son m´aquinas discretas que

El lattice

Un lattice tiene asociada una dimension.

En dimension 2, pueden usarse distintos tipos. Los mas comunes son el triangular,rectangular y hexagonal. Estos se muestran en la siguiente figura.

El uso de distintos lattices ofrece ventajas y desventajas computacionales y fısicasen la modelacion de sistemas.

Sin embargo, es posible transformar lattices triangulares y hexagonales a latticescuadrados redefiniendo la relacion de vecindad.

Jorge Baier Aranda, PUC 96

Page 9: Los aut´omatas celulares son m´aquinas discretas que

Tamaño dellattice

La definicion formal de un CA implica que el lattice es infinito en todas lasdirecciones.

Sin embargo, implementar esto es imposible. Por esa razon, los lattice seimplementan siguiendo alguna condicion de borde. Esta puede ser:

Borde Periodico: El lattice se considera periodico (como si volviera a empezar).Esto es equivalente a que los bordes opuestos se consideran conectados. Es elmas usado.

Borde Reflector: El lattice se considera reflejado en los bordes. En lattice dedos 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

Page 10: Los aut´omatas celulares son m´aquinas discretas que

La Relación de Vecindad

Una vez escogido un lattice es necesario definir la relacion de vecindad.

Normalmente, se eligen como vecinos de una celda, las que estan mas proximas.

En la literatura, es posible encontrar dos vecindades relativamente populares, lade von Neumann y la de Moore.

En la siguiente figura se muestran ambas vecindades. La cantidad r se conocecomo el radio de la vecindad.

von Neumann Moore

r=1 r=1r=2 r=2

Jorge Baier Aranda, PUC 98

Page 11: Los aut´omatas celulares son m´aquinas discretas que

Mas formalmente, estas vecindades estan descritas por

N (i, j) = {(k, l) ∈ L | |k − i|+ |l − j| ≤ r} (von Neumann)

N (i, j) = {(k, l) ∈ L | |k − i| y |l − j| ≤ r} (Moore)

Jorge Baier Aranda, PUC 99

Page 12: Los aut´omatas celulares son m´aquinas discretas que

La Función de Transición

Una forma de especificarlas es a traves de la especificacion directa.

Esto puede resultar caro puesto que en general construiremos una tabla de |S|nelementos.

A veces se puede hacer especificacion directa usando comodines y reglas deprecedencia. Por ejemplo, la siguiente tabla muestra una funcion de transicionpara un AC de una dimension en donde cada celda tiene dos vecinos y donde elconjunto de estados es {0, 1, 2}.

(·, 0, 2) → 2

(2, 0, ·) → 2

(·, 0, ·) → 0

(·, 2, ·) → 1

(·, 1, ·) → 2

Jorge Baier Aranda, PUC 100

Page 13: Los aut´omatas celulares son m´aquinas discretas que

Funciones de Transición (cont.)

Muchas aplicaciones usan funciones de transicion totales. Una funcion de transi-cion es total si esta solo depende de la suma de los estados de sus vecinas, esdecir, si es de la forma:

Ct+1(r) = f

∑i∈N (r)

Ct(i)

Una forma mas general de una funcion total, que admite definicion de casos es:

Ct+1(r) = f

Ct(r),∑

i∈N (r)

g(Ct(i))

Jorge Baier Aranda, PUC 101

Page 14: Los aut´omatas celulares son m´aquinas discretas que

Funciones de Transición (cont.)

Tambien es posible usar funciones de multiples pasos. Son equivalentes a las deun paso, pero a veces resultan adecuadas porque son faciles de entender.

La funcion de transicion tambien puede ser probabilıstica. En este caso, esta seredefine formalmente como

f : Sn × S → [0, 1]

es decir, tal como en los AFND’s, pero asociando una probabilidad a la relacion.

Jorge Baier Aranda, PUC 102

Page 15: Los aut´omatas celulares son m´aquinas discretas que

AC’s y Computación

¿Sera posible calcular una funcion arbitraria con un AC?

Esta pregunta la respondio afirmativamente John von Neumann, pero su solucionfue muy engorrosa.

John Conway, en los 1960’s, se preocupo nuevamente del problema y logro unasolucion mucho mas sencilla.

La solucion surge de su famoso Juego de la Vida

Jorge Baier Aranda, PUC 103

Page 16: Los aut´omatas celulares son m´aquinas discretas que

El Juego de la Vidade Conway

El Juego de la Vida de Conway es un AC de dos dimensiones, donde cada celdatiene dos estados (viva, vacıo), y cuya funcion de transicion esta descrita por losiguiente:

• Si una celda viva tiene menos de dos vecinas, entonces muere (de soledad).• Si una celda viva tiene mas de tres vecinas, entonces muere (de hacinamiento).• Si una celda vacıa tiene tres vecinas, entonces en el siguiente estado, esta viva.• En caso contrario, la celda mantiene su estado.

La situacion inicial normalmente es aleatoria.

Con estas reglas aparecen objetos que se mantienen estaticos, otros que tienencomportamientos periodicos, y otros que avanzan (gliders).

Jorge Baier Aranda, PUC 104

Page 17: Los aut´omatas celulares son m´aquinas discretas que

Computando funciones booleanas

Usando las reglas del juego de la vida, es sencillo crear las llamadas glider gunsy gun eaters.

Algunos demos se pueden ver en http://www.radicaleye.com/lifepage/

Usando estos elementos, es posible construir compuertas NOT y AND, tal comose muestra en la siguiente figura:

: Glider gun : Glider eater : Colisión : Dato

A A

B¬A

A ∧ B

Jorge Baier Aranda, PUC 105

Page 18: Los aut´omatas celulares son m´aquinas discretas que

Una MT en el juego de la Vida

Mas interesante aun, en Abril de 2000, Paul Rendell construyo una MT en eljuego de la vida. El esquema es el siguiente:

[demo]

Jorge Baier Aranda, PUC 106

Page 19: Los aut´omatas celulares son m´aquinas discretas que

Modelación de Procesos Químicos

Una aplicacion clasica de modelacion de procesos quımicos es la modelacion deprocesos de Reaccion-Difusion.

En estos procesos dos o mas quımicos se difunden sobre una superficie yreaccionan formando patrones estables.

Desde un punto de vista macroscopico, los procesos de reaccion-difusion sepueden describir usando ecuaciones del tipo:

∂a

∂t= F (a, b) + Ca∇2a

∂b

∂t= G(a, b) + Cb∇2b,

donde a (o b) es una funcion del espacio y del tiempo y representa la concentraciondel quımico a (o b).

Para ver lo sencillo que puede llegar a ser la modelacion de estos procesos usandoautomatas celulares, podemos aproximar la ecuacion para a, en una dimension,

Jorge Baier Aranda, PUC 107

Page 20: Los aut´omatas celulares son m´aquinas discretas que

de la siguiente manera.

∆a

∆t= F (a, b) + Ca

∂ x

(a(x + ∆x, t)− a(x, t)

∆x

)= F (a, b) + Ca

a(x + ∆x−∆x, t)− a(x−∆x, t)− a(x + ∆x, t) + a(x, t)−(∆x)2

= F (a, b) +Ca

(∆x)2(a(x + ∆x, t) + a(x−∆x, t)− 2a(x, t))

Si ahora hacemos Da = Ca∆t

(∆x)2obtenemos que

∆a = ∆tF (a, b) + Da(a(x + ∆x, t) + a(x−∆x, t)− 2a(x, t))

Finalmente, si F (a, b) = Cs(α − ab) y G(a, b) = Cs(ab − b − β) se obtiene lasecuaciones de Turing (!) 6 para el proceso de reaccion difusion en una dimension.

∆ai = Ds(α− aibi) + Da(ai+1 + ai − 2ai)

∆bi = Ds(aibi − bi − βi) + Da(bi+1 + bi − 2bi),6La ecuacion original de Turing considera a α = 16.

Jorge Baier Aranda, PUC 108

Page 21: Los aut´omatas celulares son m´aquinas discretas que

donde Ds es la tasa de reaccion y Da, la tasa de difusion, y ai y bi 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 dosdimensiones, las ecuaciones de Turing forman figuras similares a la textura dealgunos animales:

Jorge Baier Aranda, PUC 109

Page 22: Los aut´omatas celulares son m´aquinas discretas que

Texturas sobre Relieve

Usando otros procesos de difusion es posible imitar aun mas las texturas deanimales:

Jorge Baier Aranda, PUC 110

Page 23: Los aut´omatas celulares son m´aquinas discretas que

Otras Aplicaciones

Simulaciones de Purificacion de Aguas (PUC)

Simulaciones de Termodinamica e Hidrodinamica.

Simulaciones de Trafico.

Simulacion de Propagacion de Incendios, etc.

Jorge Baier Aranda, PUC 111

Page 24: Los aut´omatas celulares son m´aquinas discretas que

Referencias

1. Gary Flake. The Computational Beauty of Nature. MIT Press.

2. Jorg 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