Vous êtes sur la page 1sur 75

UNIVERSIDAD VERACRUZANA

FACULTAD DE FSICA E INTELIGENCIA ARTIFICIAL


MAESTRA EN INTELIGENCIA ARTIFICIAL

DFA DE LAS CAMINATAS ALEATORIAS GENERADAS MEDIANTE


EL AUTMATA CELULAR -EL JUEGO DE LA VIDA-

TESIS
QUE PARA OBTENER EL TTULO DE:

MAESTRO EN INTELIGENCIA ARTIFICIAL


Presenta:
GUILLERMO ALEJANDRO STEVENS RAMREZ

ASESOR:
DR. ALEJANDRO RAL HERNNDEZ MONTOYA

SINODALES:
CARLOS RUBN DE LA MORA BASEZ
DR. ALEJANDRO GUERRA HERNNDEZ
DR. ALEJANDRO RAL HERNNDEZ MONTOYA

Xalapa, Ver. Mxico. Marzo de 2006.

Dedico este trabajo a la memoria de mi padre, Federico Guillermo Stevens y Flores.

Agradecimientos personales:
Quiero agradecer a toda mi familia, muy especialmente a mi mam Guillermina y a mis
hermanos Roxana y Xavier.
Agradezco mucho a mi asesor, Dr. Alejandro R. Hernndez M. por toda su ayuda,
pacienca y enseanzas.
Por ltimo, pero no menos importante, agradezco a todos mis amigos y profesores, que
me han apoyado en todo momento.

Agradecimiento:
Esta tesis fue financiada por el Consejo Nacional de Ciencia y Tecnologa, bajo
el proyecto de investigacion No. 44598F. Mexico. 2004.

Indice general
1. Introducci
on
1.1. Motivacion para estudiar a los AC . . . . . . . . . . . . . . . . . .
1.2. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . . .

2
3
5

2. Aut
omatas celulares
2.1. Que es un Automata Celular? . . . . . . . . . . . . . . . . . . .
2.1.1. Definicion formal de un AC . . . . . . . . . . . . . . . . .
2.1.2. Ejemplo de un AC . . . . . . . . . . . . . . . . . . . . . .

6
6
8
9

2.2. Clasificacion de los AC . . . . . . . . . . . . . . . . . . . . . . . .


2.3. Aplicaciones de los AC . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Antecedentes historicos . . . . . . . . . . . . . . . . . . . . . . . .

10
12
13

3. Game of Life
16
3.1. Definicion formal de Game of Life . . . . . . . . . . . . . . . . . . 18
3.2. Parametro de Langton . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1. Parametro de Langton para Game of Life . . . . . . . . . . 20
3.3. Importancia de Game of Life . . . . . . . . . . .
3.3.1. Ingredientes para la universalidad . . . .
3.4. Demostracion de que Game of Life es universal .
3.4.1. Bits Gliders . . . . . . . . . . . . .
3.4.2. Thin glider gun . . . . . . . . . . . . . .
3.4.3.
3.4.4.
3.4.5.
3.4.6.

Compuertas logicas . . . . . . . .
Atrasos de tiempo . . . . . . . .
Copiador de corrientes de gliders
Almacenamiento de memoria . .
ii

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

21
22
22
23
24

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

26
26
28
30

INDICE GENERAL

3.5. Una maquina de Turing en Game of Life . . . . . . . . . . . . . .

32

4. Algoritmos y t
ecnicas de an
alisis
34
4.1. Fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1.1. Notas sobre fractales . . . . . . . . . . . . . . . . . . . . . 35
4.1.2. Dimension fractal . . . . .
4.1.3. Categoras de fractales . .
4.2. Series de tiempo . . . . . . . . . .
4.2.1. Mapeo de series de tiempo
4.3. Detrended Fluctuation Analysis .

.
.
.
a
.

. . . . .
. . . . .
. . . . .
procesos
. . . . .

. . . . . . . .
. . . . . . . .
. . . . . . . .
auto-similares
. . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

36
38
39
40
42

4.3.1. Algoritmo DFA . . . . . . . . . . . . . . . . . . . . . . . . 43


4.3.2. Relacion entre auto-similitud y funciones de auto-correlacion 44
4.4. Exponente de Hurst . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5. An
alisis de Game of Life
49
5.1. Pasos para el analisis . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Conclusiones

54

A. Box Counting Dimension.

56

B. Zoologa de Game of Life.


B.1. Patrones simples y estables .
B.2. Gliders . . . . . . . . . . . .
B.3. Spaceships . . . . . . . . . .
B.4. Flotillas . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

58
58
61
61
61

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

62
62
64
64

B.9. Puffer trains, Guns y Breeders. . . . . . . . . . . . . . . . . . . .

64

B.5.
B.6.
B.7.
B.8.

Glider Shuttle . . . . .
Garden-of-Eden . . . .
Eaters . . . . . . . . .
Colisiones glider-glider

Bibliografa

.
.
.
.

.
.
.
.

.
.
.
.

68

Captulo 1
Introducci
on
En este trabajo se analizo uno de los automatas celulares mas conocidos, llamado Game of Life, y se mapeo cada estado de su evolucion a un vector en dos
dimensiones, obteniendose una caminata aleatoria, la cual fue estudiada usando
un algoritmo que permitio establecer algunas de sus propiedades estadsticas mas
interesantes.
El estudio de la vida artificial se enfoca en la naturaleza progresiva de los comportamientos emergentes, y ademas esta relacionado con el estudio de la inteligencia artificial. La vida artificial se caracteriza por un extenso uso de programas
y simulaciones por computadora que incluyen algoritmos evolutivos, algoritmos
geneticos, programacion genetica, qumica artificial, modelos basados en agentes,
y automatas celulares (AC). El campo de la vida artificial es un punto de reunion
para gente de muchos otros campos mas tradicionales, como ling
ustica, filosofa,
antropologa, biologa, sociologa, ciencia computacional, matematicas y fsica;
en el cual los enfoques teoricos y computacionales que seran controversiales dentro de su disciplina de origen pueden ser discutidos.
Usar aplicaciones de inteligencia artificial para crear modelos de experimentos
fsicos con un alto grado de exactitud permite simular la inteligencia humana para descubrir la dinamica subyacente a muchas preguntas, y contribuye bastante
al uso de tecnologa como parte del descubrimiento de sus soluciones.

Motivacion para estudiar a los AC

Problema
Mediante los metodos propuestos en este trabajo se mapea la sucesion de
estados de un AC a una serie numerica de tiempo, la cual es mas facil de estudiar
que el automata en s, esperando que las serie mantenga las propiedades de
complejidad del AC original. En particular, Game of Life es un AC que tiene
propiedades muy importantes, tales como la emergencia de estructuras complejas
auto-reproducibles, ademas de la propiedad de Computabilidad Universal.

Justificaci
on
Los metodos propuestos en esta tesis son lo suficientemente generales y se
pueden aplicar a cualquier AC. Ademas, estos metodos permiten usar y conectar
los metodos fractales y las teoras de difusion, tanto anomala como normal, con
la teora de AC.
Entender la complejidad de un AC es un objetivo, en particular, de la Vida
Artificial y, en general, de la Inteligencia Artificial.

Preguntas relevantes
En este trabajo se intentara responder a las siguientes preguntas:
Cual es la dimension fractal de las caminatas aleatorias, o que tan complejas son, generadas por Game of Life?
Que tipo de caminata aleatoria puede ser generada mediante Game of
Life?
Las estructuras generadas mediante esta caminata son de naturaleza fractal o aleatoria?

1.1.

Motivaci
on para estudiar a los AC

Existen por lo menos cuatro motivos para hacer estudios sobre los AC. A
continuacion se describen en orden de importancia teorica:

Motivacion para estudiar a los AC

AC como potentes m
aquinas de c
alculo
Con la ayuda de hardware basado en AC, muchos problemas importantes
pero actualmente intratables, por primera vez pueden empezar a ser resueltos.
Weisbuch ha propuesto que los procesadores basados en AC (los cuales son muy
eficientes en implementaciones paralelas) son los equivalentes numericos a los
t
uneles de viento. Por su parte, Toffoli y Margolus preven que el hardware basado
en AC abarcara el concepto de materia programable, es decir, un dispositivo
computacionalmente amorfo que pueda ser programado, por ejemplo, para que
en un momento act
ue como un t
unel de viento numerico, y despues como una
corriente de fermiones (ver [Wei91]).

AC como simuladores de sistemas din


amicos discretos
Los AC permiten investigar fenomenos complejos al considerar cualquier cantidad de propiedades fsicas. En la actualidad, se han creado modelos discretos
generalizados para estudiar, por ejemplo, la auto-organizacion en redes neuronales y la turbulencia en sistemas hidrodinamicos (ver [KL70]).

AC para explorar la formaci


on de patrones
Los AC se pueden tratar como sistemas dinamicos discretos y abstractos, que
incluyan caractersticas de comportamiento. El objetivo principal es abstraer
los principios generales que gobiernen la formacion de estructuras que se autoorganizen. Debido a su simplicidad, los AC ofrecen una poderosa herramienta,
tanto teorica como pratica, para investigar estas estructuras (ver [Hak83]).

AC como modelos para fsica fundamental


A traves de los AC, es posible estudiar nuevos enfoques dinamicos a la fsica
microscopica, explorando la posibilidad de que la naturaleza procesa, de manera
local y digital, sus propios estados futuros. La idea es, dado que los sistemas
universales (computacionalmente) son capaces de presentar un comportamiento
arbitrariamente complejo, hacer teoras discretas que compitan con los modelos

Organizacion de la tesis

continuos existentes (ver [Fre93]).

1.2.

Organizaci
on de la tesis

En el siguiente captulo se presentaran los conceptos basicos que surgen en la


teora de los AC, dando definiciones, ejemplos, aplicaciones y un resumen de su
historia. En el captulo 3 se presentara Game of Life, dando su definicion formal
y una demostracion de su universalidad computacional (ver tambien el Apendice B), entre otros detalles. En el captulo 4 se describiran los algoritmos usados
para calcular la dimension fractal de un conjunto arbitrario, y en particular de
una caminata aleatoria. En el captulo 5 se describiran los analisis realizados a
Game of Life, junto con los resultados obtenidos, y despues se daran las conclusiones a las que se han llegado. En el Apendice A se describe un algoritmo
alternativo usado para comprobar los resultados obtenidos.

Captulo 2
Aut
omatas celulares
Los AC son una clase de sistemas matematicos deterministas y discretos espacial y temporalmente, estan caracterizados por interacciones locales y una forma
de evolucion intrnsicamente paralela. El estudio de los AC ha generado un gran
interes, debido a su capacidad para crear una gran variedad de patrones con comportamiento muy complejo, a partir de conjuntos de reglas relativamente simples.
Ademas, parecen capturar muchas caractersticas esenciales del comportamiento
auto-organizado observadas en muchos sistemas fsicos reales (ver [Ila02]).

2.1.

Qu
e es un Aut
omata Celular?

Aunque existe una enorme variedad de modelos de AC, cada uno cuidadosamente adaptado para ajustarse a las necesidades de un sistema especfico, la mayora de estos usualmente poseen las siguientes cinco caractersticas (ver [Ila02]):
Malla discreta de celdas: el substrato del sistema consiste de una malla ndimensional de celdas.
Homogeneidad: todas las celdas son equivalentes.
Estados discretos: cada celda toma uno de los estados finitos y discretos posibles.
Interacciones locales: cada celda interact
ua solo con las celdas que estan en
su vecindario local.
6

Que es un Automata Celular?

Din
amica discreta: en cada unidad de tiempo discreto, cada celda actualiza
su estado actual de acuerdo a una regla de transicion que toma en cuenta
los estados de las celdas en su vecindario.
Existe una simplicidad enga
nosa en estas caractersticas, ya que existen AC que
muestran un comportamiento extremadamente complicado. Los AC ofrecen una
dinamica lo suficientemente rica, y pueden ser considerados como serios modelos
matematicos alternativos para una gran variedad de sistemas fsicos. Aunque es
valido pensar que los AC no son mas que idealizaciones formales de las ecuaciones diferenciales parciales (ver [Wol84]), su verdadero poder se halla en el
hecho de que representan una gran clase de modelos exactamente computables:
ya que, fundamentalmente, todo es discreto, no hay necesidad de preocuparse por
truncaciones o la lenta acumulacion de errores de redondeo. Cualquier propiedad
dinamica comprobada para estos modelos tomara toda la fuerza de un teorema.
Una de las propiedades mas fundamentales de un AC es el tipo de malla sobre la
cual se encuentra. La malla mas simple es una lnea recta unidimensional. En dos
dimensiones se pueden considerar mallas cuadradas, triangulares y hexagonales.
Los AC tambien pueden colocarse en mallas cartesianas en un n
umero arbitrario
de dimensiones (ver [Wol84]).

Figura 2.1: Algunos tipos de mallas (para AC en dos dimensiones).


Tambien se debe especificar el vecindario sobre el cual las celdas se afectan entre
s. La eleccion no trivial mas simple es la de los vecinos mas cercanos, en la cual
solo las celdas directamente adyacentes a una celda dada pueden ser afectadas en
cada paso de la evolucion. Dos vecindarios comunes son el vecindario de Moore
y el vecindario de von Neumann (ver [Wol84]).
Otro aspecto que hay que tener en cuenta es el tipo de lmite para la malla. Para

Que es un Automata Celular?

r = 0

r = 1

r = 0

r = 1

r = 2

r = 3

r = 2

r = 3

Figura 2.2: Izquierda: vecindario de Moore - Derecha: vecindario de von Neumann


(r = radio de vecindad).
esto existen dos condiciones: periodico (o toroidal) y flujo cero (o reflejante). En
condiciones periodicas, los lados opuestos de la malla se fusionan. As, para el
caso unidimensional las filas de celdas se convertiran en un anillo, y en el caso
bidimensional la malla se convertira en un toroide (ver la Figura 2.3). El tipo de
lmite que se considere afectara mucho la evolucion de los estados de un AC.

Figura 2.3: Malla toroidal.

2.1.1.

Definici
on formal de un AC

Para una malla bidimensional, un AC se puede definir como:


L = {(i, j)|i, j N, 0 i n, 0 j m}

(2.1)

Que es un Automata Celular?

donde i, j son los ndices para las columnas y filas de la malla, respectivamente;
con n columnas y m filas. La vecindad N esta dada por:
Ni,j = {(k, l) L||k i| 1, |l j| 1}

(2.2)

Es posible definir mas vecindarios cambiando las extensiones de k y l (ver [Roj04]).

2.1.2.

Ejemplo de un AC

Para ejemplificar se describira un AC elemental. Un AC elemental es aquel


que se desarrolla en una dimension, y cada una de las celdas pueden tener solo
dos estados. Para su evolucion se tiene una regla que determina el valor de una
celda dada a partir del valor de esa celda y el valor de las celdas mas cercanas,
a su izquierda y derecha (vecinos mas cercanos, denotado por r = 1).
En la Figura 2.4 muestra la representacion de la regla para el AC. Los cuadrados
negros representan las celdas de valor 1, y los cuadrados blancos las celdas de
valor cero. La fila superior en cada caja indica una de las combinaciones posibles
de colores para una celda, y sus vecinos inmediatos (ya que los cuadrados blancos
representan 0 y los negros 1, la fila superior indica los n
umeros decimales 7, 6,
5, 4, 3, 2, 1 y 0). La fila inferior en cada caja especifica cual color debe adquirir
la celda del centro al siguiente paso (aqu se tendra el n
umero binario 11111110,
cuyo equivalente decimal es 254, y este n
umero es el codigo para referirse a esta
regla, ver [Wol84]).
7

= 254

Figura 2.4: Ejemplo de representacion de la regla 254.


La Figura 2.5 muestra la aplicacion de la regla 254 en una configuracion inicial
que contiene una sola celda negra (paso 1). La fila del paso 1 comienza con tres
cuadrado blancos, aqu se aplica la caja 0 de la regla de la Figura 2.4, es decir, el
cuadrado del centro seguira siendo de color blanco en el paso 2. A continuacion
se avanza un cuadrado a la derecha, se vuelven a tener tres cuadrados blancos y

Clasificacion de los AC

10

nuevamente se aplica la caja 0 de la regla. Al seguir avanzando, se llegara al caso


de la caja 1 de la regla (dos cuadrados blancos, a la izquierda y al centro; y un
cuadrado negro, a la derecha), as el cuadrado central, blanco, se hara negro en
el paso 2. Avanzando un cuadrado mas a la derecha, se tendra la combinacion
que corresponde a la caja 2 de la regla (blanco-negro-blanco), as el cuadrado
negro del centro consevara su color al siguiente paso. Se contin
ua recorriendo un
cuadrado a la derecha y aplicando la regla, hasta abarcar todos los cuadrados del
paso 1. Se repite este procedimiento iterativamente, tomando como entrada los
cuadrado del paso 2 para obtener el paso 3, y as sucesivamente. Idealmente, la
regla para un AC se aplica a todas las celdas al mismo tiempo (es decir, la regla
se debera aplicar en paralelo, ver [Ila02]).
Paso
Paso
Paso
Paso
Paso
Paso

1
2
3
4
5
6

Figura 2.5: Seis pasos de la aplicacion de la regla 254.


La regla 254 muestra un comportamiento muy simple (al menos para la configuracion inicial usada). Existen reglas que tienen un comportamiento mucho mas
complejo (bajo las mismas configuraciones iniciales), como la regla 30, que se
muestra en la Figura 2.6.

2.2.

Clasificaci
on de los AC

Stephen Wolfram propuso un esquema de clasificacion para dividir las reglas


de AC (en particular los unidimensionales) en cuatro categoras, de acuerdo a
los resultados de evolucionar el sistema a partir de un estado inicial desordenado
(pseudo-aleatorio, ver [Wol84]). La categoras son las siguientes:
CLASE I (homogeneidad). Los AC evolucionan, despues de un n
umero finito
de pasos a partir de la mayora de las condiciones iniciales, a un u
nico estado
homogeneo, en el cual todas las celdas tienen el mismo valor. Ejemplos:
reglas 0, 4, 16, 32, 36, 48, 54, 60 y 62.

Clasificacion de los AC

11

= 30

Tiempo

Figura 2.6: 16 pasos de la evolucion de la regla 30.


CLASE II (periodicidad). Los AC evolucionan, despues de un n
umero finito
de pasos a partir de la mayora de las condiciones iniciales, a una serie de
configuraciones fijas u oscilantes. Ejemplos: reglas 8, 24, 40, 56 y 58.
CLASE III (caos). La mayoria de las condiciones iniciales conducen a patrones no periodicos (caoticos). Despues de cierta cantidad de pasos, las propiedades estadsticas de estos patrones son com
unmente las mismas para
la mayora de los estados iniciales. Ejemplos: reglas 2, 6, 10, 12, 14, 18, 22,
26, 28, 30, 34, 38, 42, 44, 46 y 50.
CLASE IV (complejidad). La evolucion conduce a complejas estructuras localizadas, en ocasiones de larga duracion. Surgen configuraciones que se
propagan y estructuras estables o periodicas con comportamiento complejo, que persisten por un tiempo infinito. Ejemplos: reglas 20, 52 y 110.
El esquema de clasificacion de Wolfram falla al capturar la idea de Computacion
Universal. Esta falla se debe a que la clasificacion se basa en la evolucion de un
estado inicial desordenado (ver [Epp00]). Sin embargo, este esquema de clasificacion es muy aceptado actualmente.
La Figura 2.7 muestra ejemplos de las clases de Wolfram.

Aplicaciones de los AC

12

Clase I
Clase II

Clase IV
Clase III

Figura 2.7: Ejemplos de las clases de Wolfram.

2.3.

Aplicaciones de los AC

Las aplicaciones de los AC son diversas y numerosas (ver [Ila02]). Fundamentalmente, los AC constituyen universos totalmente conocidos. Nuestro universo
esta sometido a las leyes de la fsica. Estas leyes solo se conocen parcialmente y
parecen ser altamente complejas. En un AC las leyes son muy simples y completamente determinadas. Es posible probar y analizar el comportamiento global de
un universo simplificado, por ejemplo:
Simulacion del comportamiento de un gas. Un gas esta compuesto de un
conjunto de moleculas cuyo comportamiento depende de el de las moleculas
vecinas.
Estudio del electromagnetismo de acuerdo al modelo de Ising. Este modelo
representa el material como una red en la cual cada uno de los nodos
esta en un estado magnetico dado. Este estado en este caso el de las dos
orientaciones de los spins de ciertos electrones depende del estado de los
nodos vecinos.
Simulacion de procesos de filtracion.
Simulacion de la propagacion de los incendios forestales.
Se pueden usar como una alternativa a las ecuaciones diferenciales.

Antecedentes historicos

13

Concepcion de computadoras masivamente en paralelo.


Simulacion y estudio del desarrollo urbano.
Simulacion de procesos de cristalizacion.
Procesamiento de imagenes (ver [Ros05]).
Sin duda es en el campo de la vida artificial donde los AC son mas conocidos. Los
patrones de ciertas conchas de mar corresponden a un AC natural. Las celulas de
pigmento se encuentran en una estrecha banda a lo largo del labio de la concha.
Cada celda secreta pigmentos de acuerdo a la actividad secretante e inhibidora
de sus vecinos, obedeciendo a una version natural de una regla matematica.
La banda de celdas deja el patron de colores sobre la concha conforme esta
crece lentamente. Por ejemplo, la especie Conux textile lleva consigo la regla 30
mostrada anteriormente (ver [Wol02]).

Figura 2.8: Conux textile.

2.4.

Antecedentes hist
oricos

Los AC fueron presentados por von Neumann y Stanislaw Ulam (con el nombre de espacios celulares), como una idealizacion de sistemas biologicos, en particular para modelar la auto-reproduccion. Se han modelado muchos sistemas
biologicos por medio de AC, un ejemplo es el desarrollo de estructutras y patrones en el crecimiento de organismos, el cual parece estar gobernado por reglas
locales simples (ver [Bae74, Her69, Kit74, Lin68, Ros81, Ula72]). Mientras se

Antecedentes historicos

14

encontraba trabajando en el laboratorio Los Alamos, Stanislaw Ulam estudiaba


el crecimiento de cristales, usando un modelo de mallas. Al mismo tiempo (en la
decada de 1940) John von Neumann, colega de Ulam en Los Alamos, trabajaba
en el problema de sistemas auto-replicantes. El dise
no inicial de von Neumann
se basaba en la nocion de un robot que construye a otro robot. Mientras desarrollaba su dise
no, von Neumann se percato de la gran dificultad para construir
un robot auto-replicante, y del gran costo que era proporcionar al robot de una
gran cantidad de partes para construir a su replica. Ulam sugirio a von Neumann
que desarrollara su dise
no como una abstraccion matematica, como la que Ulam
uso para estudiar el crecimiento de cristales. As fue como surgio el primer sistema
de AC (ver [Wol02]). En la decada de 1970, Game of Life, un AC bidimensional
con dos estados para cada celda, se volvio ampliamente conocido, en especial
entre los primeros grupos informaticos. Fue inventado por John Conway, y fue
popularizado en un artculo de la revista Scientific American (ver mas detalles
en el Captulo 3).
En 1983 Stephen Wolfram publico el primero de una serie de artculos que investigaban los AC elementales (ver la pagina 9). La complejidad inesperada del
comportamiento de esas reglas simples llevo a Wolfram a sospechar que la complejidad en la naturaleza podra deberse a mecanismos similares a los AC. El
siguiente cuadro menciona algunos logros historicos en el estudio de los AC y los
sistemas complejos (ver [Ila02]).

Antecedentes historicos

A
no
1936

Investigador
Alan Turing

1948

von Neumann

1950

Ulam

1966
1967
1969

Burks
von Bertalanffy, et al
Zuse

1970

Conway

1977

Toffoli

1983

Wolfram

1984

Cowan, et al

1984
1987

Toffoli, Wolfram
Langton

1992

Varela, et al

15

Logro
Formalizo el concepto de computabilidad;
Maquina Universal de Turing.
Abstrajo la estructura logica de la vida;
introdujo los automatas auto-reproductivos
como un medio para desarrollar una
biologa reduccionista.
Propuso la necesidad de tener modelos mas
realistas del comportamiento de sistemas
complejos extendidos.
Termino y describio el trabajo de von Neumann.
Teora de sistemas aplicada a sistemas humanos.
Introdujo el concepto de Espacios computacionales, o modelos digitales de mecanismos.
Presento la regla para AC bidimensionales
Game of Life.
Aplico directamente los AC para modelar leyes
fsicas.
Escribio un importante artculo en donde
analizo las propiedades de los AC, este artculo
establecio el campo de los AC como un proposito
de investigacion para los fsicos.
Fundaron el Instituto Santa Fe, que sirvio
como un distinguido centro para el estudio
interdisciplinario de los sistemas complejos.
Primera conferencia sobre AC en el MIT, Boston.
Primera conferencia sobre Vida Artificial, en
el Instituto Santa Fe.
Primera conferencia Europea sobre Vida
Artificial.

Cuadro 2.1: Logros importantes en el estudio de los AC y los sistemas complejos.

Captulo 3
Game of Life
Tal vez el AC mas ampliamente conocido sea Game of Life, inventado por
John H. Conway. Game of Life se juega en un vecindario de Moore con 9 vecinos, y consiste en (1) alimentar una malla con alg
un patron de celdas activas e
inactivas (celdas con valores 1 y 0, respectivamente), y (2) aplicar simultanea y
repetidamente las siguientes tres reglas en todas las celdas de la malla en pasos
de tiempo discretos:

Nacimiento: reemplazar una celda previamente muerta con una activa si exactamente tres de sus vecinos estan activos.
Muerte: reemplazar una celda previamente activa con una inactiva si (1) la
celda activa no tiene mas de un vecino activo, o (2) la celda activa tiene
mas de tres vecinos activos.
Sobrevivencia: Mantener activas las celdas que tengan dos o tres vecinos activos.
(En la Figura 3.1 se muestra un ejemplo de la aplicacion de estas reglas.)
En este trabajo los lmites de la malla para Game of Life seran de flujo cero (ver
el Captulo 2, pagina 8). Este es un aspecto muy importante a considerar, ya
que una misma configuracion inicial de Game of Life puede mostrar resultados
totalmente diferentes dependiendo de los lmites de la malla donde se encuentra,
16

17

Figura 3.1: Aplicacion de las reglas de Game of Life (los n


umeros indican la
cantidad de vecinos activos en cada celda).
debido a que sus reglas muestran un comportamiento complejo y caotico (ademas
de ser muy sensible a las condiciones iniciales, ver la Figura 3.2).

(a)

(b)

Figura 3.2: Evolucion de una configuracion simple bajo los dos tipos de lmites
para las mallas: flujo cero (a) y toroidal (b).

Definicion formal de Game of Life

3.1.

18

Definici
on formal de Game of Life

Formalmente, Game of Life es un AC con k = 2 estados sobre una malla


bidimensional con vecindario de Moore, de radio r = 1. Las reglas de Game of

Life pueden identificarse con un codigo (ver el captulo 2, pagina 9). Este
codigo
se obtiene de la u
ltima columna del cuadro siguiente, el cual indica el valor que
adquirira una celda dependiendo del valor de sus vecinos:
Valor de
la celda
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Vecinos Vecinos
activos inactivos
0
8
0
8
1
7
1
7
2
6
2
6
3
5
3
5
4
4
4
4
5
3
5
3
6
2
6
2
7
1
7
1
8
0
8
0

Nuevo
Valor
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0

Cuadro 3.1: Valores para las celdas, de a cuerdo a las reglas de Game of Life.

La u
ltima columna muestra el n
umero binario 000000000011100000 = 11100000,
224 en decimal, el cual es el codigo para Game of Life. Resumiendo:

Parametro de Langton

19

i,j (t + 1) = LIF E [(t) NM OORE ] =

(3.1)

i,j (t), si NM OORE (t) = 2,


=
1, si NM OORE (t) = 3,

0, en otro caso
donde NM OORE es una suma sobre todos los valores en el vecindario de Moore
de un sitio central dado, i,j , al tiempo t.

3.2.

Par
ametro de Langton

Langton, enterado de la clasificacion de Wolfram descrita en el captulo anterior, se propuso investigar tablas de reglas que se obtuvieron aleatoriamente
(ver [Ada98]). Especficamente, esto fue realizado para automatas celulares sobre una malla regular bidimensional, con k = 8 estados y vecindario de von
Neumann. En lugar de probar todas las 832768 reglas posibles, estas fueron muestreadas aleatoriamente, pero siguiendo el rastro de cuantos vecindarios (de los
85 posibles) eran mapeados al estado inactivo. Para esto, Langton definio el
parametro , el cual representa la probabilidad de que un vecindario en una
regla particular se mapee a un estado activo. Las tablas de reglas con = 0
son aburridas: nada puede suceder. Si aumenta ligeramente, algunas regiones
en el arreglo pueden mantener cierta actividad durante un tiempo, la cual, sin
embargo, morira eventualmente. Este comportamiento muy semejante al de las
reglas de Clase I. Cuando es aproximadamente 0,2 (20 % de los vecindarios se
mapean a cualquiera de los siete estados activos), el comportamiento cambia a
un nuevo patron. Los estados activos son persistentes, o hay propagacion constantemente en una direccion fija. Aqu se reconoce el comportamiento de reglas
de Clase II en el esquema de Wolfram. Si crece a cerca de 0,3, la actividad en
el arreglo nuevamente cambia bastante, apareciendo complejas e impredecibles

Parametro de Langton

20

interacciones de estructuras. Es en esta region donde surge el comportamiento


mas interesante. Para valores de del orden de 0,5 o mas, los centros de actividad estan tan cerca de otros que el caos reina y las estructuras complejas no
pueden sobrevivir, como se describe por la clase III de Wolfram. Conforme se
aproxima a 1, la dinamica vuelve a ser menos interesante, y la mayora de las
reglas resultan en sitios activos y el arreglo no muestra estructuras ni interacciones localizadas, lo que corresponde nuevamente a reglas de la Clase I. Hasta
cierto punto, el parametro parece establecer la temperatura del mundo computacional. Se hara un enfoque en la region 0,2 0,4, donde toma lugar la
dinamica mas interesante, cuyas reglas pertenecen a la Clase IV, y son las mas
prometedoras respecto a la computacion universal.

3.2.1.

Par
ametro de Langton para Game of Life

En este trabajo se calculo el parametro de Langton para las reglas de Game


of Life. Para esto, hay que encontrar el n
umero posible de configuraciones para
los vecindarios, es decir, de cuantas maneras puede haber un vecino activo, dos
activos, etc.
Vecinos Combinaciones Resultado
activos
0
1
0
1
8
0
2
28
1
3
56
1
4
70
0
5
56
0
6
28
0
7
8
0
8
1
0
Cuadro 3.2: Distribucion de las configuraciones que dan resultado activo por
n
umero de vecinos.

Importancia de Game of Life

21

De los 256 vecindarios posibles, 84 dan como resultado activo, as que =


84/256 0.328, lo cual indica que las reglas de Game of Life corresponden a
la clase IV de Wolfram (complejidad).

3.3.

Importancia de Game of Life

Una caracterstica notable de Game of Life es (aunque a primera vista no se


observe), siendo de clase IV, su habilidad de dar lugar a complejos patrones ordenados a partir de un estado inicial desordenado, o sopa primordial (ver [Ila02]).
Lo que distingue a este sistema de otros que puedan ser estudiados, y que realmente hace notable a Game of Life, es que se ha demostrado que es capaz de
computacion universal.
Aunque el significado formal de esta declaracion se discutira con mayor detalle
mas adelante en este captulo, puede apreciarse su profunda implicacion informalmente. Por la virtud de ser una computadora universal, una eleccion adecuada de
las condiciones iniciales puede asegurar que Game of Life lograra realizar procedimientos algortmicos arbitrarios, es decir, Game of Life puede servir como una
computadora de uso general.
Dada cualquier conjetura matematica computable, C por ejemplo; es posible encontrar un patron inicial finito para Game of Life, 0 , de forma que N
LIF E [0 ] =
~0, para un paso finito N , si y solo si la conjetura C es verdadera.
Observese que lo que es realmente interesante no es que Game of Life por s mis
mo pueda ser usado como una computadora digital com
un para calcular 2 o
una Transformada Rapida de Fourier, sino el hecho de que en principio pueda
hacerlo implica su complejidad dinamica latente. Ya que existen lmites fundamentales sobre la previsibilidad de las computadoras universales1 , los mismos
lmites deben aplicarse a la evolucion general de Game of Life.
En terminos de Game of Life, esto significa que, en general, no es posible decir
si una configuracion inicial en particular desaparecera. Ya que Game of Life es
capaz de todos y cada uno de los calculos que realiza una computadora conven1

Por ejemplo, el Halting Problem asegura que no puede existir un algoritmo general para
predecir cuando una computadora detendra la ejecucion de un programa dado.

Demostracion de que Game of Life es universal

22

cional, se puede decir que, en este sentido, esta regla aparentemente irrelevante
es realmente capaz de presentar un comportamiento arbitrariamente complicado.

3.3.1.

Ingredientes para la universalidad

Como se vera mas adelante, la prueba de universalidad consiste esencialmente


en mostrar que todos los bloques necesarios de una computadora convencional
pueden ser construidos con patrones de Game of Life (ver el Apendice B). De
esta forma, dado un patron que represente un programa arbitrario, un patron
que represente una computadora realizara las instrucciones del programa y producira el resultado deseado, expresado en terminos de un patron de Game of
Life. Por ejemplo, los calculos numericos podran involucrar patrones finales que
consistan de un cierto n
umero de gliders en un area particular de la malla.
La prueba procede de la observacion de cada uno de los cuatro elementos primitivos esenciales para un calculo: el almacenamiento (el cual necesita una memoria
interna), transmision (que requiere un reloj interno y cables) y el procesamiento
de informacion (con compuertas AND, OR y NOT). Cada uno de estos elementos debe implementarse por la evolucion de patrones adecuados de Game of
Life.

3.4.

Demostraci
on de que Game of Life es universal

Tal vez la forma mas sencilla de demostrar que un sistema es capaz de computacion universal (y de hecho la forma mas directa), sea demostrar que el sistema
en cuestion es formalmente equivalente a otro sistema que ya ha sido demostrado
ser una computadora universal. En esta seccion se hara un bosquejo de una prueba de la universalidad computacional de Game of Life al construir explcitamente
los equivalentes dinamicos de todos los ingredientes computacionales requeridos
por una computadora digital convencional (ver [Ila02]).

Demostracion de que Game of Life es universal

23

Aunque el dise
no preciso de una computadora pueda ser complejo, sus ingredientes basicos, o conjunto de elementos primitivos computacionales, son pocos y
relativamente simples. Ademas de tener alguna forma de se
nales de corrientes de
bits, se necesitan conductos o cables para esas se
nales. Es necesario enrutar de
alguna manera a las se
nales, ya sea por redireccion (por ejemplo, desviando una
se
nal 90o ) o enviando m
ultiples copias de una corriente de bits dada en diferentes
direcciones. Se necesita un reloj interno, o contador, para introducir cualquier
retraso necesario al construir circuitos. Tambien se necesita una memoria (potencialmente infinita), un requisito que tambien se puede cumplir con una memoria
de tama
no finito pero que pueda almacenar n
umeros arbitrariamente grandes
(ver [Min67]); y se necesita un conjunto de compuertas logicas universales, como
AND, OR y NOT, a partir de las cuales se pueden obtener otras funciones y
operaciones logicas. Una vez que se pueda demostrar que un sistema dado soporta estas primitivas computacionales, la construccion de circuitos realmente
funcionales de una computadora convencional se convierte en poco mas que un
ejercicio formal de creacion de smbolos/bloques.
La prueba original aparece en el trabajo de Berkelamp, Conway y Guy (ver [BCG82]).
Otras discuciones se encuentran en el trabajo de Langton (ver [Lan90]) y el libro
de Poundstone (ver [Pou84]). Antes de seguir con esta seccion, el lector podra
querer familiarizarse con la zoologa de los patrones de Game of Life, incluyendo
los patrones glider y glider-gun (ver el Apendice B).

3.4.1.

Bits Gliders

Se comienza por postular la equivalencia entre, por un lado, los pulsos electricos y bits en una se
nal de corriente de pulsos en las computadoras fsicas y, por
el otro lado, los gliders y corrientes de gliders en Game of Life. La presencia de
un glider denotara el hecho de que el bin correspondiente en la corriente fsica
de pulso tiene un valor de bit 1, y la auscencia de un glider denotara el valor
de bit 0. Se sabe que los glider-guns pueden crear una corriente constante de
gliders (se produce un glider una vez cada 30 pasos de tiempo). Sin embargo, dos
o mas corrientes de gliders moviendose en cursos intersectados no pueden cruzar

Demostracion de que Game of Life es universal

24

sin interferir entre s. Para construir circuitos es deseable contar con corrientes
de gliders que no se interfieran. El siguiente paso es producir un thin-glider-gun
para crear corrientes de gliders de periodos arbitrariamente largos.

3.4.2.

Thin glider gun

Thin glider gun es relativamente facil de construir y depende solo de cuatro


bloques basicos: (1) un glider-gun de periodo 30, (2) un eater, (3) una reaccion de
aniquilacion glider-glider, y (4) una reaccion kickback. Los primeros dos bloques
se describen en el Apendice B, junto con un ejemplo de colisiones glider-glider
(aniquilacion). El u
ltimo bloque es nuevo y consiste de dos gliders colocados en
un curso de interseccion de 90o (ver la Figura 3.3). En esta reaccion kickback, los
dos gliders pasan por un proceso en donde, al tiempo t = 6, uno de los gliders
originales desaparece y el otro emerge de la zona de reaccion cambiado en espacio
por media celda diagonal y moviendose en direccion contraria.

t = 0

t = 1

t = 4

t = 2

t = 5

t = 3

t = 6

Figura 3.3: Reaccion kickback en Game of Life.

Demostracion de que Game of Life es universal

25

Corriente
adelgazada
de gliders

G
G

Figura 3.4: Esquema para un Thin Glider Gun, E = eater, G = glider-gun y


K = reaccion kickback.
La Figura 3.4 muestra como estos cuatro bloques basicos se pueden usar para
crear un nuevo thin-glider-gun que produzca una corriente de gliders con una
espacio arbitrariamente grande entre ellos.
El thin-glider-gun usa dos corrientes de gliders paralelas pero en direcciones
opuestas, que son el resultado de dos glider-guns convencionales. Un solo glider tambien es lanzado entre las dos corrientes. La sincronizacion es tal que si
el glider shuttle colisiona con una corriente de gliders, pasara por una reaccion
kickback. Una reaccion kickback con la corriente de gliders de la derecha cambia
el glider lanzado hacia abajo, cerrando el ciclo.
Aunque la corriente de gliders que va hacia arriba, en el lado izquierdo, no es
necesaria y es aniquilada por un eater, la corriente que desciende por el lado
derecho se alimenta en una reaccion aniquiladora mutua con una tercera corriente de gliders en la parte inferior de la Figura 3.4. Ya que el n-esimo glider en
la corriente que desciende es aniquilado por el glider lanzado por las reacciones
kickback de la izquierda y la derecha, el glider resultante que surge finalmente del
thin-glider-gun consiste de un conjunto adelgazado de gliders espaciados por 30n
pasos. Para obtener la sincronizacion adecuada, n debe ser divisible por cuatro,
pero puede ser arbitrariamente grande.

Demostracion de que Game of Life es universal

3.4.3.

26

Compuertas l
ogicas

Se usaran las construcciones anteriores para crear un conjunto universal de


compuertas logicas: AND, OR y NOT (ver la Figura 3.5). La compuerta OR
es la mas facil de construir; de hecho, ya ha sido construida como un elemento
del circuito thin-glider-gun. De la Figura 3.5-a, supongase que la entrada A es
alguna corriente de gliders codificada. Una vez en la compuerta, todos los gliders
en esta corriente de entrada se aniquilan cuando colisionan con gliders en una
corriente de gliders no-codificada, producida por un thin-glider-gun. Los u
nicos
gliders que surgen de la compuerta NOT son aquellos que estaban en la corriente
original del thin-glider-gun y que no fueron aniquilados por los gliders de A.
En la compuerta AND (Figura 3.5-b), dos corrientes de entrada, A y B, entran
a la compuerta en paralelo. Los gliders de un glider-gun se mueven en un curso
perpendicular y hacia un eater, con una sincronizacion tal que las colisiones entre
los gliders en esta corriente y aquellos de las dos entradas se aniquilan mutuamente. Dado que los gliders de A estan atrasados en tiempo por una cantidad
igual a la distancia entre las dos reacciones de aniquilacion (ver abajo), debera
ser evidente que un glider logra llegar a la corriente de salida si y solo si las dos
ranuras correspondientes en A y B contienen gliders. La operacion de la compuerta OR, esquematizada en la Figura 3.5-c, procede de forma similar.

3.4.4.

Atrasos de tiempo

Anteriormente se menciono que para que la compuerta AND opere adecuadamente, los gliders de la entrada A deben estar atrasados por un tiempo igual
a la distancia entre las dos reacciones de aniquilacion. Los mismo es cierto para
la operacion de la compuerta OR.
El retraso temporal de se
nales se construye a partir de compuertas NOT. La idea
es simplemente construir una desviacion, que consiste de tantos pasos como sea
necesario para el atraso, y despues dirigir la corriente de se
nales de regreso a su
curso original. La Figura 3.6 muestra el esquema para este retraso usando cuatro
compuertas NOT. El primer NOT niega la corriente de entrada y la desva 90o .
La segunda compuerta restaura el contenido de la se
nal original y la desva otros

Demostracion de que Game of Life es universal

27

G
A

Desaparece
T

NOT A
B

A AND B

B
A

A OR B
T

(a)

(b)

(c)

Figura 3.5: Esquemas de las compuertas NOT (a), AND (b) y OR (c).
90o . Las compuertas tercera y cuarta repiten el proceso, de forma que el resultado sea la se
nal original que emerge del circuito con la misma direccion que tena
pero atrasado en tiempo por el tiempo que halla tomado la desviacion. Otras
configuraciones de compuertas NOT pueden atrasar y redirigir se
nales por 180o
y/o cambiarlas hacia corrientes laterales (es decir, rotarlas 90o ). Esta capacidad
se encuentra en el circuito de copiado de corrientes de gliders.

NOT

NOT

NOT

NOT

Figura 3.6: Esquema de un circuito de atraso de tiempo usando cuatro compuertas NOT.

Demostracion de que Game of Life es universal

3.4.5.

28

Copiador de corrientes de gliders

Esencialmente, sera una tarea imposible construir cualquier circuito computacional u


til sin ser capaz de dirigir m
ultiples copias de corrientes de se
nales.
El conjunto de herramientas que se ha definido hasta ahora permiten redirigir
corrientes de gliders a direcciones paralelas de movimiento; sin embargo hasta
ahora no existe una disposicion para compensar la direccion de una se
nal dada
por 90o , o para hacer copias de una se
nal. Uno de los circuitos mas simples que
resuelven estos dos problemas fue creado por Conway y se muestra en la Figura
3.7.

T
1
1
1
1
1
1
1
1
1
1

000000000?

00000000?0

OR

Copia original
1
1
1
1
1
1
?
0
0
?
000000000?

0000000001

Copia
1
1
1
1
1
1
?
0
0
0

0000001000

_
000000?000

Copia negada

Figura 3.7: Representacion de un copiador de corrientes de gliders. E = eater,


T = thin-glider-gun y K = reaccion kickback.

Demostracion de que Game of Life es universal

29

El circuito de Conway usa la reaccion kickback para enviar gliders de regreso a su propia corriente de se
nal. Supongase que se tiene un thin-glider-gun
de factor 4 (es decir, que una corriente de datos no codificada consiste de la
secuencia 111111 . . .), y que un glider pasa por un punto dado a lo largo de
la direccion de su movimiento cada 4 30 = 120 pasos de tiempo. Tambien
supongase que la corriente de se
nal codificada ha sido adelgazada por otro factor de 10. Dicho esto, supongase que las nueve posiciones glider-bit de periodo
120 siempre estan vacas (= 0), y que es solo la decima posicion glider-bit la
que puede o no contener un glider-bit codificado. Por ejemplo, la se
nal codificada 011 se adelgazara a una representacion de corriente de gliders dada por
000000000000000000010000000001. En la Figura 3.7, se ha indicado el valor de
esta decima posicion de glider-bit con un signo de interrogacion.
El circuito de Conway funciona como sigue. La corriente de datos de entrada,
que se va a copiar, entra en una compuerta OR localizada arriba a la izquierda.
La otra entrada a la compuerta OR es la salida de un thin-glider-gun (de factor 40) cuya corriente de gliders es tal que la novena posicion glider-bit siempre
contiene un glider. La compuerta OR combinara estas dos se
nales para producir
un resultado que consista de una corriente de gliders que siempre tiene el mismo
conjunto glider-bit como la se
nal original codificada, y siempre contiene un glider
en la novena posicion; se representa con la secuencia 000000001?.
Ahora considerese lo que ocurre cuando esta secuencia encuentra una reaccion
kickback. Si ? = 1, hara kickback en el primer glider en la corriente 111 . . . que
desciende, creando una colision con amontonamiento. Sin embargo, cuando el
glider codificado se aniquila, el glider tras el en la novena posicion pasara por la
region de reaccion kickback sin afectarse. La salida es la secuencia 0000000010.
Si ? = 0, el primer glider en la secuencia 111 . . . pasara sin afectarse, pero
el noveno glider tras la posicion codificada glider-bit hara kickback en el siguiente glider en la corriente 111 . . .. Por lo tanto, la corriente de salida no
contendra gliders, y estara dada por 0000000000. En resumen, si la posicion
codificada glider-bit contiene un glider bit ?, la salida de la reaccion kickback
estara dada por 00000000?0; es decir, contendra la misma informacion que la
se
nal original pero el glider bit estara atrasado por una posicion.
Considerese lo que pasa con la corriente de gliders que desciende 111 . . . des-

Demostracion de que Game of Life es universal

30

pues de que entra a la region de la reaccion kickback. Es facil ver que la reaccion
kickback siempre elimina exactamente tres gliders. Si la secuencia codificada que
entra en la region kickback contiene un glider en la decima posicion (? = 1),
entonces la reaccion kickback elimina los primeros tres gliders en la corriente que
desciende; si la secuencia codificada que entra en la region kickback no contiene un glider en la decima posicion (? = 0), entonces el glider delantero en la
corriente descendiente queda solo, pero los siguientes tres gliders se eliminan en
la reaccion kickback. Esquematicamente, la salida esta dada por 111111?00?,
donde ? NOT(?).
A continuacion, esta corriente descendiente colisiona con una corriente adelgazade de gliders transversal, que consiste u
nicamente de posiciones glider-bit vacas
excepto por la decima, la cual siempre contiene un glider. Por lo tanto, la corriente de salida en la derecha puede tener un glider solo en esta u
ltima posicion,
y solo cuando el ? en la corriente descendiente esta vaco. En otras palabras,
la posicion delantera en la salida de la derecha es NOT [NOT(?)] =?, as que
la salida es una replica perfecta de la corriente original de gliders codificados:
000000000?.
Por lo tanto el circuito de Conway tiene un total de tres salidas: una es una replica exacta, otra es una copia fiel pero con los glider-bits de informacion cambiados
en una posicion, y la tercera es una copia negada de la se
nal original y con las
salidas paralelas a la direccion del movimiento de la se
nal original.

3.4.6.

Almacenamiento de memoria

Mientras que una memoria finita se puede implementar facilmente con cables
y compuertas logicas, la construccion de una memoria arbitrariamente grande
necesita un poco mas de trabajo.
Una maquina universal de Turing usa una cinta arbitrariamente larga como un
dispositivo de almacenamiento de memoria potencialmente infinito. Para esta
demostracion, Conway uso la idea de Minsky de que una memoria potencialmente infinita puede ser obtenida almacenando n
umeros arbitrariamente grandes en
registradores de memoria. La idea se esquematiza en la Figura 3.8.

Demostracion de que Game of Life es universal

31

Registradores
A

D
Block de
registro

5
4
3

Flotilla de gliders
para mover un block

2
Glider
prueba cero

Computadora Life

Figura 3.8: Representacion de un circuito de almacenamiento auxiliar de memoria.


Usando el ejemplo del teorema de Fermat (ver [BCG82]), supongase que a una
computadora Game of Life se le pide calcular las cantidades xn + y n y z n para
todas las cuadruplas (x, y, z, n) y que se detenga cuando halla encontrado una
cuadrupla que satisfaga xn +y n = z n . Una forma sencilla de seguir el rastro de los
n
umeros inevitablemente grandes que forzosamente tendra que probar la computadora, es usar bloques estables como marcadores de valor en un registrador
de almacenamiento auxiliar de memoria. La distancia del bloque en un registrador dado, con respecto a un nivel 0 arbitrariamente se
nalado, define la cantidad
almacenada en el registrador. Por ejemplo, en la Figura 3.8, los registradores A,
B, C y D contienen los n
umeros 2, 5, 0 y 4, respectivamente.
Los registradores de memoria funcionan de la siguiente forma. Supongase que el
registrador x contiene un bloque en el lugar N . Para que la computadora lea
este valor, debe realizar el ciclo:
(

disminuir el contenido del registrador x en 1


probar para ver si el contenido del registrador x = 0

(3.2)

Una maquina de Turing en Game of Life

32

hasta que el contenido del registrador x sea igual a cero. El n


umero de intervalos
del reloj interno necesario para disminuir la distancia del bloque dado desde el
nivel cero, da como resultado el valor deseado del registrador de memoria.
Habiendo demostrado, por construccion, que cada uno de los elementos computacionales requeridos por una computadora digital convencional para su propia
computacion (1) se
nales digitales de corrientes de bits, (2) cables, (3) circuitos
de redireccion, (4) un sistema de reloj interno, (5) una memoria (potencialmente infinita), y (6) un conjunto universal de compuertas logicas (AND, OR y
NOT) esta soportado por la dinamica de Game of Life, se ha demostrado que
Game of Life es universal. De hecho, de la discusion anterior, se puede decir que
cualquier circuito de computadora basado en Game of Life puede ser construido
completamente con gliders, glider-guns, eaters y bloques.

3.5.

Una m
aquina de Turing en Game of Life

La Figura 3.9 muestra una maquina de Turing muy simple, implementada en


Game of Life (ver [Ren01]). Esta limitada a tres estados y tres smbolos. Comienza con dos 1s en la cinta de la derecha. Se detendra con dos veces este n
umero
en la derecha. La cinta esta implementada con dos pilas y a la maquina se le
han proporcionado seis pilas de celdas. Esto se puede expandir como lo requiera
el computo. La parte de maquina de estados finitos es una arreglo de celdas de
memoria dirigidas por Estado (fila) y Smbolo (columna).
Cada celda de memoria cicla alrededor en 240 generaciones con espacio para

un glider cada 30 generaciones. Estas


ocho posiciones estan codificadas como
DV V V SSSS con la D para la direccion (1 =derecha) primero, V V V es el smbolo en la cinta y SSSS es el siguiente estado.

Una maquina de Turing en Game of Life

33

Figura 3.9: Fragmento de una maquina de Turing implementada en Game of Life.


La maquina completa ocupa un area de 1,716 1,649 celdas, con 36,549 celdas
activas.

Captulo 4
Algoritmos y t
ecnicas de an
alisis
En este captulo se introducen los conceptos de fractal y dimension fractal, incluyendo dos tecnicas para calcularla: el algoritmo DFA y el exponente de Hurst.
El calculo de la dimension fractal es uno de los objetivos de este trabajo.

4.1.

Fractales

Un fractal es un objeto o cantidad, determinante y aleatorio, que presenta


auto-similitud, en un sentido un poco tecnico e incluso en el sentido estadstico, a
todas las escalas. No es necesario que el objeto exhiba exactamente la misma estructura en todas las escalas, pero s debe presentar el mismo tipo de estructuras.
Se sabe que los fractales poseen infinitos detalles, y es posible que realmente tengan una estructura auto-similar que ocurra a diferentes niveles de ampliacion.
En muchos casos, un fractal puede ser generado al repetir un patron usando
procesos iterativos o recursivos. El termino fractal fue introducido en 1975 por
Benoit Mandelbrot, a partir de la palabra fractus en Latn, y no de la palabra
fraccional, como se cree com
unmente (ver [Man82]).
Muchos tipos de fractales fueron originalmente estudiados como objetos matematicos. La geometra fractal es la rama de las matematicas que estudia las
propiedades y comportamientos de los fractales. Describe muchas situaciones que
pueden ser difciles de explicar con geometra clasica (ver [PJS92]).
34

Fractales

4.1.1.

35

Notas sobre fractales

Fueron descubiertos y estudiados mucho antes de recibir su nombre. En 1872


Karl Weiertrass, apoyandose en el analisis economico, invento una funcion con
la propiedad de ser contnua pero no diferenciable, la grafica de esta funcion
fue llamada fractal. En 1904, Helge von Koch, insatisfecho con la definicion tan
abstracta y analtica de Weiertrass, dio una definicion mas geometrica de una
funcion similar, que ahora se conoce como el copo de nieve de Koch. Mas adelante, la idea de curvas auto-similares fue tomada por Paul Pierre Levy, quien
en 1938 con su artculo Plane or Space Curves and Surfaces Consisting of Parts
Similar to the Whole, describio una nueva curva fractal, la Curva C de Levy
(ver [PJS92]).
Las funciones iteradas en el plano complejo fueron estudiadas en los siglos XIX
y XX por Henri Poincare, Felix Klein, Pierre Fatou y Gaston Julia, pero sin el
auxilio de graficas por computadora, carecieron de los medios para visualizar los
objetos que haban descubierto.
Con el fin de entender objetos como los conjuntos de Cantor, algunos matematicos como Constantin Caratheodory y Felix Hausdorff generalizaron el concepto de
dimension para incluir valores no-enteros. Esto fue parte del movimiento general,
en la primera parte del siglo XX, para crear la teora descriptiva de conjuntos.
En la decada de 1960, Mandelbrot comenzo a inverstigar la auto-similitud en
artculos como How Long is the Coast of Britain? Statistical Self-Similarity and
Fractional Dimension (ver [PJS92]).
Una vez que se aplicaron tecnicas de visualizacion por computadora, se presento un poderoso argumento para que la geometra fractal enlazara dominios
mucho mayores de las matematicas y la ciencia, particularmente en dinamica
no-lineal, teora del caos, y complejidad. Un ejemplo es graficar el metodo de
Newton como un fractal, mostrando como los lmites entre diferentes soluciones
son fractales. Tambien se ha usado la geometra fractal para compresion de datos
y modelado de sistemas organicos complejos y sistemas geologicos (ver [PJS92]).

Fractales

36

Figura 4.1: Ejemplos de fractales. (Segunda fila: Fractal de Koch.)

4.1.2.

Dimensi
on fractal

La dimension fractal proporciona una forma de medir la rugosidad de una


curva. Normalmente, un punto tiene dimension 0, una lnea dimension 1, las
superficies dimension 2, y los vol
umenes dimension 3. Las anteriores son dimensiones topologicas. Sin embargo, una curva rugosa que recorre una superficie,
puede ser tan rugosa que la llene casi por completo. Se puede pensar que la rugosidad es un incremento en la dimension: una curva rugosa tiene una dimension
entre 1 y 2, y una superficie rugosa tiene una dimension entre 2 y 3.
Para calcular la dimension fractal se usan los conceptos de lmite, logaritmo, escalas y medidas. En el calculo de la dimension de fractales muy complejos como
el conjunto de Mandelbrot se usan computadoras, pero para fractales mas simples se usan formulas matematicas (ver [PJS92]).
Como ejemplo se hara el calculo de la dimension fractal para el triangulo de
Sierpinski, usando el metodo llamado similitud por duplicacion (ver [Man82]).
Al tomar un segmento de recta de longitud 1 y duplicarlo, se tendran dos segmentos iguales al original:

Fractales

37

Si se duplican los lados de un cuadrado de lado 1, se tendran cuatro cuadrados iguales al original:

De manera semejante, para un cubo de largo, alto y ancho 1, y duplicando sus


medidas, se obtendran 8 cubos iguales al original:

La siguiente tabla muestra estos datos:


Figura

Dimension # de copias

Lnea

2 = 21

Cuadrado

4 = 22

Cubo

8 = 23

Similitud al duplicar

n = 2d

Fractales

38

Si F es el n
umero de copias, y D la dimension de la figura, F = 2D . Despejando D:
D=

log F
log 2

(4.1)

Esta formula se puede usar para calcular la dimension fractal del triangulo de
Sierpinski, ya que al duplicar la longitud de los lados, se obtiene otro triangulo
de Sierpinski semejante al primero, que contiene a su vez tres triangulos de la
misma escala que el primero; por lo tanto F = 3:

Usando la formula 4.1:


D=

4.1.3.

log 3
1,59496 . . .
log 2

(4.2)

Categoras de fractales

Los fractales se pueden agrupar en tres amplias catagoras. Estas se determinan de acuerdo a la forma en que un fractal se define o genera:
Sistemas de funciones iteradas. Tienen una regla fija de reemplazamiento geometrico. Ejemplos: tapete de Sierpinski, curva de Peano y esponja de Menger.
Tiempo-escape. Se definen por una relacion de recurrencia en cada punto
del espacio. Ejemplos: conjunto de Mandelbrot y fractal de Lyapunov.
Fractales aleatorios. Generados por procesos estocasticos en lugar de
deterministas. Ejemplos: vuelos de Levy.

Series de tiempo

39

Hay que resaltar que no todos los objetos auto-similares son fractales, por ejemplo, una lnea real (una lnea recta Eucldea) es exactamente auto-similar, pero el
argumento de que los objetos Eucldeos son fractales es una posicion minoritaria.
Mandelbrot discutio que la definicion de fractal debera incluir no solo fractales
verdaderos, sino tambien objetos Eucldeos tradicionales, debido a que los n
umeros irracionales sobre la recta numerica representan propiedades complejas no
repetitivas (ver [PJS92]).

Figura 4.2: Conjunto de Mandelbrot.

4.2.

Series de tiempo

En estadstica y, aunque no siempre, en procesamiento de se


nales, una serie
de tiempo es una secuencia de datos, com
unmente medidos en tiempos sucesivos, espaciados en intervalos de tiempo uniformes. El analisis de series de tiempo
abarca metodos que intentan comprender estas series, ya sea para entender la
teora subyacente a los datos (de donde vienen?, como se generaron?), o para
hacer predicciones. Prediccion de series de tiempo es el uso de un modelo para
predecir eventos futuros basandose en eventos pasados conocidos: predecir datos
futuros antes de que sean medidos.
Los modelos para las series de tiempo pueden tener muchas formas. Dos amplias

Series de tiempo

40

clases de importancia practica son los modelos movimiento promedio, y los modelos auto-agresivos (ver [KML99]).
Existen varias notaciones diferentes para usar en analisis de series de tiempo:
X = {X1 , X2 , X3 , . . .}

(4.3)

es una notacion com


un que especifica una serie de tiempo indexada por los n
umeros naturales. Algunas herramientas para investigar series de tiempo son:

Considerar la funcion de autocorrelacion.


Realizar una transformada de Fourier para investigar las series en el dominio de frecuencias.
Usar un filtro para retirar ruido indeseado.
Redes neuronales artificiales.

4.2.1.

Mapeo de series de tiempo a procesos auto-similares

Un proceso dependiente del tiempo (o serie de tiempo) es auto-similar si:



t
y(t) a y
a
d

(4.4)

donde d significa que las propiedades estadsticas de ambos lados de la ecuacion son identicas (ver [KML99]). En otras palabras, un proceso auto-similar
y(t), con un parametro tiene la distribucion de probabilidad identica como un
proceso correctamente reescalado, a y(t/a), es decir, una serie de tiempo que ha
sido reescalada en el eje x por un factor a(t t/a) y en el eje y por un factor
a (y a y). El exponente se llama parametro de auto-similitud.
La Figura 4.3 muestra una serie de tiempo auto-similar. Se observa que con la
eleccion adecuada de factores de escala para los ejes x e y, la serie de tiempo
reescalada se asemeja a la serie original. El parametro de auto-similitud de la
ecuacion 4.4 se puede calcular con la relacion:

Series de tiempo

41
n2

(b)

n1

Myy

(a)

n1
n2

Mxt
(d)

Pendiente =

log s

P(y)

(c)

log n

Figura 4.3: Concepto de auto-similitud en series de tiempo. En (a) se muestra


una serie de tiempo con ventana n2 ; (b) es una ampliacion a la serie, con una
ventana n1 . (c) Funcion de densidad de probabilidad, P (y), de la variable y para
las dos ventanas, con desviaciones estandar s1 y s2 . En (d) se grafica (en log-log)
la escala de la fluctuacion, s, contra el tama
no de la ventana, n.

log My
log Mx

(4.5)

donde Mx y My son los factores de ampliacion adecuados para los ejes x y y,


respectivamente.
Para un proceso auto-similar con > 0, la fluctuaciones crecen con el tama
no de
la ventana en forma de una power-law. Por lo tanto, las fluctuaciones en grandes
ventanas de observacion son exponencialmente mas grandes que las de ventanas
mas peque
nas. Como resultado, la serie de tiempo es ilimitada. Sin embargo,
la mayora de las series de interes son limitadas (no pueden tener amplitudes
arbitrariamente grandes, sin importar la longitud de la serie). Esta restriccion
practica complica los analisis. Considere el caso de una serie de tiempo para el
ritmo cardiaco mostrado en la Figura 4.4. Si se hace un acercamiento sobre un
subconjuto de la serie, se observa un patron aparentemente auto-similar. Para ver
esta auto-similitud no hace falta reescalar el eje y (My = 0). Por la ecuacion 4.5,
= 0, lo cual no aporta informacion. Los fsicos y matematicos han desarrollado
una solucion innovadora para este problema. Se trata de estudiar las propiedades

Detrended Fluctuation Analysis

42

fractales para una serie de tiempo acumulada, en lugar de las se


nales originales.
Un ejemplo es la dinamica del movimiento Browniano. En este caso, la fuerza
aleatoria (ruido) que act
ua sobre las partculas es limitado (similar a las series
de tiempo fisiologicas). Sin embargo, la trayectoria de una partcula Browniana
no esta limitada y exhibe propiedades fractales que se pueden cuantificar por un
parametro de auto-similitud.

Tiempo

Latidos
1.0
0.8
0.6
0.2
0

10000

20000

30000

40000

50000

60000

27000

30000

33000

36000

39000

42000

30000

31000

32000

33000

34000

35000

1.0
0.8
0.6
0.2
24000

1.0
0.8
0.6
0.2
29000

Figura 4.4: Ejemplo de una serie de tiempo para ritmo cardiaco.


En resumen, mapear una serie de tiempo limitada en una se
nal acumulada es un
paso importante en el analisis fractal de series de tiempo.

4.3.

Detrended Fluctuation Analysis

Una definicion simplificada y general caracteriza una serie de tiempo como


estacionaria si su media, desviacion estandar y momentos superiores, as como
las funciones de autocorrelacion, son invariantes ante traslaciones temporales.
Las se
nales que no obedezcan a estas condiciones son no-estacionarias. Como
se menciono anteriormente, una serie de tiempo limitada puede ser mapeada a

Detrended Fluctuation Analysis

43

un proceso auto-similar por acumulacion; por ejemplo, una secuencia de volados


puede mapearse a una caminata aleatoria unidimensional (una serie de tiempo
acumulada estacionaria). Un posible problema al aplicar este tipo de analisis
fractal a series de tiempo, es que con frecuencia son altamente no-estacionarios.
El proceso de acumulacion hara que los datos originales no-estacionarios sean
a
un mas aparentes.
Para resolver este problema, se ha presentado un analisis modificado rms 1 de una
caminata aleatoria, llamado Detrended2 Fluctuation Analysis (DFA), que tambien puede ser aplicado al analisis de datos biologicos. Entre las ventajas de DFA
sobre metodos convencionales (analisis espectral y analisis de Hurst), esta que
permite la deteccion de auto-similitud intrnseca en series de tiempo aparentemente no-estacionarias, tambien evita la falsa deteccion de auto-similitud aparente, la cual puede ser un artefacto de tendencias extrnsecas. Este metodo ha
sido aplicado con exito en un amplio rango de series de tiempo, tanto simuladas
como fisiologicas, en a
nos recientes (ver [KML99]).

4.3.1.

Algoritmo DFA

Primero se acumula la serie de tiempo (de longitud N ), usando:


y(k) =

k
X

Bi B

(4.6)

i=1

es el intervalo promedio. La acumulacion


donde Bi es el i-esimo intervalo, y B
mapea la serie de tiempo original a un proceso auto-similar. A continuacion se
mide la escala vertical caracterstica de la serie de tiempo acumulada. Para esto, la serie de tiempo acumulada se divide en segmentos de longitud igual, n.
En cada segmento, se realiza un ajuste lineal de mnimos cuadrados a los datos
(esto representa la tendencia del segmento). La ordenada de los segmentos de
lnea recta se denota por yn (k). Despues se hace detrend en la serie de tiempo
acumulada, y(k), restando la tendencia local, yn (k), en cada segmento. Para un
1
2

Root mean square.


Detrend: Eliminar cualquier variacion lineal de fondo en datos de una serie de tiempo.

Detrended Fluctuation Analysis

44

segmento de tama
no n, el tama
no caracterstico de fluctuacion para esta serie de
tiempo acumulada y con detrend se calcula con:
v
u
N
u1 X
t
F (n) =
[y(k) yn (k)]2
N k=1

(4.7)

Este procedimiento se repite para todas las escalas de tiempo (segmentos) para obtener una relacion entre F (n) y el tama
no del segmento n. Com
unmente,
F (n) se incrementara con n. Una relacion lineal en una grafica log-log indicara la
presencia de auto-similitud, o escalamiento. (Las fluctuaciones en segmentos peque
nos estan relacionadas con las fluctuaciones en segmentos mas grandes de
acuerdo a una power-law). La pendiente de la recta que relaciona a log F (n) con
log n determina el exponente de escalamiento .

500
400
300
yHkL
yn HkL

200
100
0
-100
0

200

400

600

800

1000

Figura 4.5: Detrending local en el algoritmo DFA.

4.3.2.

Relaci
on entre auto-similitud y funciones de autocorrelaci
on

El parametro de auto-similitud de una serie de tiempo acumulada esta relacionado con la funcion de autocorrelacion, C( ) de la serie sin acumular. Breve-

Exponente de Hurst

45

mente:

Para ruido blanco donde el valor en un instante dado esta completamente no-correlacionado con cualesquiera valores previos, el valor acumulado,
y(k), corresponde a una caminata aleatoria y por lo tanto = 0,5. La
funcion de autocorrelacion, C( ), es 0 para cualquier 6= 0.
Muchos fenomenos naturales estan caracterizados por correlaciones a corto
plazo, con una escala de tiempo caracterstica, 0 , y una funcion de autocorrelacion, C( ), que decae exponencialmente (C( ) exp( /0 )). La
pendiente inicial de log F (n) vs log n puede ser diferente de 0.5, pero
llegara a 0.5 para ventanas mas grandes.
Si 0.5 < 1.0, indica correlaciones power-law persistentes de amplio
rango (C( ) ). La relacion entre y es = 2 2. En el espectro
de potencia, S(f ), de la se
nal no acumulada es tambien en forma de powerlaw (S(f ) 1/f ). Ya que el espectro de potencia es la transformada de
Fourier de la funcion de autocorrelacion, se tiene = 1 = 2 1. El
caso = 1 es de interes en fsica y biologa (corresponde a ruido 1/f , con
= 1).
Cuando 0 < < 0.5, se presentan anti-correlaciones power-law, de manera
que es mas probable que valores grandes sean seguidos por valores peque
nos
y viceversa.
Cuando > 1, existen correlaciones pero dejan de ser en forma de powerlaw.
= 1.5 indica ruido Browniano, la integracion del ruido blanco.

4.4.

Exponente de Hurst

El exponente de Hurst se presenta en varias areas de matematicas aplicadas,


incluyendo fractales y teora del caos, procesos largos de memoria (long memory)

Exponente de Hurst

46

y analisis espectral (ver [PJS92]). La estimacion del exponente de Hurst ha sido


aplicada en areas que van desde biofsica hasta redes de computadoras, siendo
inicialmente desarrollada en hidrologa. Sin embargo, las tecnicas mas modernas
para estimar el coeficiente de Hurst vienen de matematicas de fractales.
El exponente de Hurst esta directamente relacionado con la dimension fractal.
Si H es el exponente de Hurst, y D es la dimenson fractal:
D =2H

(4.8)

La estimacion del exponente de Hurst para una serie de datos proporciona una
medida de si los datos representan una caminata aleatoria pura o si tiene tendencias subyacentes. En otras palabras, un proceso aleatorio con una tendencia
subyacente tiene cierto grado de correlacion. Cuando la correlacion tiene un decaimiento muy largo (o matematicamente infinito), este tipo de proceso Gaussiano
es en ocasiones llamado proceso de memoria larga.
Los procesos que aparentemente son puramente aleatorios resultan mostrar estadstica de exponente de Hurst para procesos largos de memoria. Por ejemplo,
en trafico de redes computacionales. Se podra esperar que el trafico de una red se
simule mejor teniendo cierto n
umero de fuentes aleatorias, las cuales enven paquetes de tama
no aleatorio por la red. Se llegara a una distribucion de Poisson3 .
Como resultado, este modelo esta equivocado. El trafico en una red se puede
modelar mejor con un proceso que presente un exponente de Hurst no-aleatorio.

Estimaci
on del exponente de Hurst
Teniendo una serie de datos, la estimacion del exponente de Hurst se realiza
calculando el rango promedio rescalado sobre m
ultiples regiones de los datos. En
estadstica, el promedio (media) de una serie de datos X se conoce en ocasiones
como el valor esperado, E[X]. Usando esta notacion, el valor esperado de R/S,
calculado sobre un conjunto de regiones converge en la funcion potencia del exponente de Hurst:
3

Un ejemplo de una distribucion de Poisson es la cantidad de personas que llega aleatoriamente a un restaurant en un periodo de tiempo dado.

Exponente de Hurst

47

R(n)
E
= CnH cuando n
S(n)

(4.9)

Si la serie de datos es una caminata aleatoria, el valor esperado sera descrito con
un exponente de 0.5:

R(n)
E
= Cn0,5 cuando n
S(n)

(4.10)

En ocasiones, la ecuacion 4.10 es llamada dependencia de rango corto. Esto parece razonable. Una dependencia de rango corto debera tener alguna correlacion,
si el exponente de Hurst es 0.5, se tratara de una caminata aleatoria y no existira autocorrelacion ni dependencia entre valores secuenciales.
Se realiza una regresion lineal sobre una serie de puntos, compuesta de log n (el
tama
no de las areas en las cuales el rango promedio rescalado se calcula), y del
logaritmo del rango promedio rescalado sobre un conjunto de segmentos de tama
no n. La pendiente de la recta de regresion es la estimacion del exponente de
Hurst. Este metodo fue desarrollado y analizado por Mandelbrot et al en artculos publicados entre 1968 y 1979 (ver [Kap03]). El exponente de Hurst se aplica
a series de datos que son estadsticamente auto-similares.

An
alisis de rango rescalado
Es un metodo estadstico que sigue muchos tipos de fenomenos naturales.
Existen dos factores que se usan en este analisis:

El rango R, el cual es la diferencia entre los valores maximo y mnimo


acumulados o la suma acumulada de X(t, ) del fenomeno natural, con
tiempo discretizado t de duracion .
La desviacion estandar S, calculada a partir de los valores Xi (t)
Hurst encontro que la proporcion R/S queda bien descrita para un gran n
umero
de fenomenos naturales, siguiendo la relacion emprica:

Exponente de Hurst

48

R
= (c )H
S
Hurst establecio el coeficiente c = 0.5. R y S se definen como:

R( ) = maxX(t, ) minX(t, ), 1 t
! 21

1X
2
[(t) hi ]
S=
t=1

(4.11)

(4.12)
(4.13)

donde:

1X
hi =
(t)
n t=1
X(t, ) =

t
X

[(u) hi ]

(4.14)
(4.15)

u=1

Finalmente, el exponente de Hurst es equivalente al parametro (ver [VAB97]).

Captulo 5
An
alisis de Game of Life
En este trabajo se mapeo cada uno de los estados de la evolucion de las reglas
de Game of Life a un vector en dos dimensiones, obteniendose una caminata
aleatoria, concepto que se describe brevemente a continuacion.

Caminatas aleatorias
En matematicas y en fsica, una caminata aleatoria es la formalizacion de
la idea de dar pasos sucesivos, cada uno con direccion aleatoria. Las caminatas
aleatorias son procesos estocasticos. Una caminata aleatoria es aquella que sigue
las siguientes reglas:
La caminata se realiza en dos dimensiones.
Existe un punto inicial.
La distancia entre dos puntos de la caminata es constante.
La direccion entre un punto y otro de la caminata se elige aleatoriamente,
y ninguna direccion es mas probable que otra.
Estas se reglas pueden generalizarse para caminatas en mas de una dimension, y
para el caso de pasos de longitud variable, de manera directa.

49

Pasos para el analisis

5.1.

50

Pasos para el an
alisis

Para el analisis se genero una caminata aleatoria usando Game of Life, de


acuerdo a lo siguiente:
El tama
no para el universo (malla) es de 2000 2000 celdas.
El universo tiene lmites con flujo cero.
Las condiciones iniciales tienen una cierta cantidad de celdas activas. Esta
cantidad de celdas activas esta dada por un porcentaje del total de celdas,
cuyos valores son 15 %, 20 %, 25 %, 30 %, 35 %, 40 %, 45 %, 50 %, 55 %,
60 %, 65 %, 70 %, 75 %, 80 % y 85 %. As, por ejemplo, la configuracion
inicial para 35 % tendra 1,400,000 celdas activas, de un total de 4,000,000.
La posicion de cada celda activa se elige pseudo-aleatoriamente.
En cada paso de la evolucion, cada celda activa se toma como un punto en
el plano XY (ver la Figura 5.1) y se calcula el centro
de masa de acuerdo

Pn(i)

con la ecuacion R(i)CM = (X(i)CM , Y (i)CM ) =

j=1

n(i)

xj

Pn(i)

j=1

n(i)

yj

. Este

calculo se repite por 20,000 pasos de evolucion.


Para cada porcentaje de celdas vivas se crearan 30 configuraciones, dando
un total de 450 configuraciones distintas, cuyos pasos de su evolucion seran
los pasos de una caminata aleatoria.
El objetivo es analizar el comportamiento de una caminata aleatoria generada
mediante Game of Life, y estimar el coeficiente de difusion en su fase lineal. Esto
u
ltimo se ha realizado por medio del algoritmo DFA aplicado al desplazamiento
cuadratico medio como funcion del tiempo. Otro objetivo es observar si surge un
comportamiento en forma de power-law.
A continuacion se describen los pasos para realizar el analisis:
1. Se tienen 30 series para cada porcentaje (densidad) de celdas activas.
2. En cada una de las 30 series, de cada porcentaje, obtener las coordenadas
de una caminata aleatoria. Cada caminata tendra 20,000 puntos.

Pasos para el analisis

10
9
8
7
6

51

-10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9
9
8
7
6

5
4
3
2
1
0
-1
-2
-3
-4

5
4
3
2
1
0
-1
-2
-3
-4

-5
-6
-7
-8
-9
-10

-5
-6
-7
-8
-9
-10
-10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10

Figura 5.1: Ejes cartesianos sobre la malla de Game of Life.


3. Calcular el desplazamiento cuadratico medio como funcion del tiempo en
cada una de las 30 configuraciones, de cada porcentaje. Centrar este desplazamiento restando el primer valor a todos los elementos de la serie, en
cada serie.
4. Para no tener la procupacion de si la serie de tiempo es estacionario a no,
se estudio la diferencia logartmica de los pasos de la serie a lag = 1.
5. Aplicar el algoritmo DFA a las series del paso anterior.
6. Realizar un ajuste lineal por mnimos cuadrados a las series del paso anterior. Al promediar las pendientes de los ajustes se obtendra el parametro
para este porcentaje de celdas activas.

Pasos para el analisis

52

7. Los pasos anteriores se repiten para todas las densidades, obteniendo 15

Desplazamiento Y

parametros (uno para cada densidad).

10
5
0
-5
-10
-15
-14

-12

-10

-8

-6

-4

-2

0
2
4
6
Desplazamiento X

Desplazamiento cuadratico

Figura 5.2: Ejemplo de una caminata aleatoria generada a partir de una configuracion inicial de Game of Life con un 45 % de celdas activas (por claridad se
muestran solo 1,000 de los 20,000 pasos).

500
450
400
350
300
250
200
150
100
50
0
0

100

200

300

400

500

Generacion

Figura 5.3: Desplazamientos cuadraticos para configuraciones con 60 % de celdas


activas (esta grafica solo ejemplifica los pasos a seguir en el analisis, y muestra
solo cinco graficas y pasos, por claridad).

Resultados

5.2.

53

Resultados

Con los datos obtenidos (en total 9,000,000) se calculo la dimension fractal
para las caminatas aleatorias. Para comprobar las dimensiones fractales obtenidas, se obtuvo la dimension fractal usando el metodo box counting dimension
(BCD, ver el Apendice A). Los resultados se muestran a continuacion:
Dimensi
on Fractal vs densidad
2
1.75
1.5

Dimensio
n

Dimension por BCD

1.25

Dimension por DFA

1
0.75
0.5
0.25

15 20 25 30 35 40 45 50 55 60 65 70 75 80 85
Densidad

Figura 5.4: Dimension fractal por ambos metodos.


Dimension fractal por DFA:
DDF A = 2 = 1,751 0,04193

(5.1)

Dimension fractal por BCD:


DBCD = 1,745 0,06278

(5.2)

Conclusiones
En particular, se analizaron las diferencias de logaritmos para los modulos de
las caminatas aleatorias generadas por medio de Game of Life. Esto se hizo para
reducir un sistema muy complejo bidimensional a una serie de tiempo estacionaria, esperando que las propiedades de complejidad del automata se mantuvieran
en la serie de tiempo obtenida. Esto resulto ser cierto, ya que la serie de tiempo
tiene propiedades de autosimilitud y autocorrelaciones no triviales, por lo que las
fluctuaciones analizadas no eran aleatorias. Lo anterior se resume en el siguiente
cuadro:
Metodo
DFA
BCD

Dimension
1.751 0.04193
1.745 0.06278

Cuadro 5.1: Dimensiones obtenidas.

Los resultados obtenidos indican lo siguiente:


Se calculo el parametro de Langton para la reglas de Game of Life. Su valor,
= 0,328, indica que Game of Life es un AC de la clase IV de Wolfram.
Los metodos propuestos en esta tesis para mapear los estados de un AC a
una serie numerica, para obtener una caminata aleatoria, pueden aplicarse
a cualquier AC bidimensional, ademas de poder ser generalizados a AC en
mas dimensiones.
Las caminatas aleatorias generadas son anomalas, es decir, su desviacion
estandar no es proporcional al tiempo (ver [Roj04]).

Se encontro que los resultados obtenidos no dependen de las configuraciones iniciales aleatorias, lo cual es una confirmacion de nuestro metodo, ya
que es posible que una configuracion inicial determinada evolucione a otra
configuracion conocida (una configuracion con 20 % de celdas vivas puede
dar lugar a una de 60 %, por ejemplo). Esto permite promediar los valores
obtenidos y mostrados en la Figura 5.4, y obtener los resultados mostrados
en el cuadro anterior.
La grafica mostrada en la Figura 5.4 parece mostrar una ligera divergencia
para densidades altas de las dimensiones fractales, calculadas mediante los
dos metodos (BCD y DFA). Esto puede ser evidencia de multifractalidad,
pero esta divergencia esta dentro de las barras de error en la grafica, y se
necesita mas estadstica para concluir lo anterior.
El primer resultado del cuadro 5.1 ( = 2 DDF A = 0.249), indica que se
presentan anticorrelaciones en forma de power-law, de manera que es mas
probable que las variaciones grandes de la serie de tiempo sean seguidas
por variaciones peque
nas y viceversa. Ademas, las leyes en forma de powerlaw son normalmente el distintivo de la complejidad, por lo que la serie de
tiempo es de caracter complejo y no aleatorio.
Como trabajo a futuro se puede considerar:
Confirmar las evidencias de multifractalidad obteniendo mas estadstica.
Estudiar el espectro de potencia de las series de tiempo, mediante un analisis de Fourier y Wavelets (recordando que la transformada de Fourier de la
funcion de autocorrelacion de una serie de tiempo es el espectro de potencia).
Analizar configuraciones con lmites periodicos para las mallas e incrementar el tama
no de estas. Estos dos aspectos afectan bastante la evolucion de
las configuraciones de Game of Life.

Ap
endice A
Box Counting Dimension.
En geometra fractal, el metodo Minkowski-Bouligand sirve para determinar la dimension fractal de un conjunto S en un espacio eucldeo <n , o mas
generalmente, de un espacio metrico (X, d). A este metodo se le conoce como
box-counting dimension.
Para calcular la dimension de un fractal S, imagnese que el fractal se encuentra
sobre una malla, y entonces contar cuantos cuadrados se necesitan para cubrir
el conjunto. La dimension se calcula viendo como cambia este n
umero conforme
la malla se hace mas fina.
Supongase que N () es el n
umero de cajas de longitud que se necesitan para
cubrir el conjunto. Entonces la Box Counting Dimension se define como:
log N ()
0 log 1/

dimbox (S) := lm

(A.1)

Si el lmite no existe entonces se debe hablar de las dimensiones upper box y


lower box, las cuales corresponden al lmite superior e inferior, respectivamente, en la ecuacion anterior. En otras palabras, la Box Counting Dimension solo
estara bien definida si las dimensiones upper box y lower box son iguales. La dimension upper box en ocasiones se denomina dimension de entropa, dimension
de Kolmogorov, y esta muy relacionada con el coeficiente de Hurst (ver [PJS92]).
Se utilizo una aplicacion que implementa este metodo con el objetivo de comprobar la dimension fractal obtenida por el algoritmo DFA (ver [Bou03, Man82]).
Hay que mencionar que los resultados de esta aplicacion pueden presentar cier56

57

ta incertidumbre, esto es debido a que el programa trabaja sobre imagenes (en


formato TGA), a diferencia del algoritmo DFA, que trabaja con listas de datos.

log@NHsLD
9

Pendiente = 1.545

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

logH1sL

Figura A.1: Ejemplo de ejecucion de la aplicacion para calcular BCD.

Ap
endice B
Zoologa de Game of Life.
Desde la creacion de Game of Life en 1970, se ha analizado y catalogado la
evolucion de cientos de configuraciones iniciales. Como siempre, la forma mas
facil de comenzar es examinar las configuraciones mas simples (ver [Ila02]).

B.1.

Patrones simples y estables

Ya que las celdas vivas solo sobreviven si estan rodeadas por otras dos o tres
celdas vivas, y las celdas muertas reviven solo si las rodean tres celdas vivas; los
estados iniciales que consistan de celdas solitarias mueren inmediatamente. Por
lo tanto, la sobrevivencia en Game of Life requiere un mnimo de tres celdas Las
Figuras B.1 y B.2 muestran todas las configuraciones iniciales que contienen tres
o cuatro celdas.

58

Patrones simples y estables

59

t = 0

t = 1

t = 0

t = 2

t = 1

Figura B.1: Los destinos de dos estados iniciales con tres celdas.
(a)

t = 0

t = 1

t = 0

t = 1

t = 2

t = 3

t = 0

t = 1

t = 2

t = 3

t = 0

t = 1

t = 2

t = 3

t = 0

t = 1

t = 2

(b)

(c)

(d)

t = 4

(e)

t = 3

t = 4
t = 5

t = 7
t = 10

t = 9

t = 6

t = 8

Figura B.2: Los destinos para cinco estados iniciales con cuatro celdas. El estado
(e) termina en un estado de periodo 2 (tiempos 9 y 10).
Los estados finales de estos simples patrones son solo algunos de los patrones
estables u osciladores (de periodo corto) conocidos. La Figura B.3 muestra algunos patrones estables conocidos que consisten de ocho celdas o menos, mientras

Patrones simples y estables

60

que la Figura B.4 muestra algunos osciladores comunes de periodo 2. Se conocen


muchos mas patrones con periodos muy diferentes. Hay que mencionar que el
eventual surgimiento de cualquiera de estos grupos de cinco celdas no depende
de tener configuraciones iniciales simples.

4 celdas

5 celdas

6 celdas

7 celdas

8 celdas

Figura B.3: Algunos patrones estables conocidos con ocho celdas vivas o menos.

Figura B.4: Una muestra de patrones de periodo 2.

Gliders

B.2.

61

Gliders

Este notable patron de cinco celdas es llamado glider (planeador) debido a


que, despues de dos pasos de iteracion, produce un patron desplazado un sitio
diagonalmente y reflejado en una lnea diagonal (es decir, los patrones que esten
separados por dos pasos estan relacionados por un reflejo de glider). De esta forma, el patron original es reproducido en una posicion desplazada diagonalmente
cada cuatro iteraciones.

t = 0

t = 1

t = 2

t = 3

t = 4

Figura B.5: Glider.

B.3.

Spaceships

Resulta que, a pesar de ser los residuos de un origen primordial, existen solo
cuatro configuraciones moviles distintas y auto-replicantes (ver la Figura B.6).
A los spaceships se le asignan diferentes pesos, siendo el glider el peso-pluma
por contar con solo cinco celdas. A diferencia del glider, los spaceships llamados
peso-ligero, peso-medio y peso-pesado se desplazan no diagonalmente, sino horizontalmente. Ademas, sus patrones replicados dejan chispas que desaparecen
inmediatamente en el paso de tiempo siguiente.

B.4.

Flotillas

Aunque cada spaceship de un peso particular es una simple generalizacion del


peso inmediatamente inferior, los spaceships con mas de seis celdas vivas en la fila
inferior se vuelven inestables. Estos spaceships de mayor peso solo pueden avanzar

Glider Shuttle

62

(a)

t = 0

t = 3

t = 2

t = 1

t = 4

(b)

t = 0

t = 1

t = 2

t = 3

t = 4

(c)

t = 0

t = 1

t = 2

t = 3

t = 4

Figura B.6: Movimiento de los spaceships: peso-ligero (a), peso-medio (b) y pesopesado (c). Los cuadrados rojos representan chispasque se desaparecen en el
siguiente paso de tiempo. Los patrones con un gran n
umero de celdas en la fila
inferior son inestables.
si son escoltados por una combinacion adecuada, o flotilla, de spaceships de peso
menor. Conway descubrio que los spaceshios arbitrariamente pesados pueden ser
escoltados de esta manera. Se ha observado que las flotillas son patrones que
surgen artificialmente: no se presentan en Game of Life de forma natural.

B.5.

Glider Shuttle

Otra combinacion interesante el la llamada glider shuttle (ver la Figura B.7).


Consiste de un solo glider y dos patrones de code celdas vivas, identicos y estacionarios pero oscilantes. El efecto neto es que el glider se desliza continuamente
entre estos dos grandes patrones.

B.6.

Garden-of-Eden

Las configuraciones Garden-of-Eden son aquellas que solo pueden surgir como
estados iniciales. Un argumento de conteo es suficiente para demostrar que debe

Garden-of-Eden

63

Figura B.7: Glider Shuttle.


existir al menos una de estas configuraciones sin origen en Game of Life: considerese una configuracion cuadrada de (5n 2) (5n 2), cuyo origen, si existe,
solo puede venir del cuadrado que le rodea (de tama
no 5n5n). Ya que cada uno
de los cuadrados componentes, de 5 5, puede, si esta vaco, ser reemplazado por
otro cuadrado del mismo tama
no con una sola celda viva (la central) sin afectar
2
el estado en el siguiente paso de tiempo, existen en total (225 1)n patrones
origen posibles dentro del cuadrado de 5n 5n. Por otro lado, se sabe que hay
2
un total de solo 2(5n2) estados descendientes posibles dentro del cuadrado de
(5n 2) (5n 2). Se concluye que:
2

(225 1)n < 25n 20n + 4,

(B.1)

entonces uno de los estados dentro del cuadrado de (5n 2) (5n 2) no


tendra origen. Esto ocurre para n = 465163200, as que las configuraciones
Garden-of-Eden deben existir dentro de un cuadrado de 23258160002325816000.
Es posible obtener configuraciones Garden-of-Eden con lmites menores a este.
El primer ejemplo explcito fue descubierto por Roger Banks en 1971, y esta contenido dentro de un rectangulo de 9 33 celdas. Se muestra en la Figura B.8.

Figura B.8: Garden-of-Eden.

Eaters

B.7.

64

Eaters

Un Eater o devorador es una estructura que tiene la capacidad de destruir a


los patrones cercanos sin da
nar la integridad de su forma. La Figura B.9 muestra
como un eater mata a un glider en cuatro pasos de tiempo y se repara as mismo
en el proceso. Cuando dos eaters se atacan entre s producen un patron oscilador,
en el cual cada uno muerde al otro y rapidamente se repara antes de dar otra
mordida. A pesar de que no todo patron puede ser comido exitosamente (por
ejemplo, los blocks, que son patrones estables de celdas vivas de 2 2, son
indigeribles), el n
umero de patrones digeribles es muy grande.

t = 0

t = 1

t = 2

t = 3

t = 4

Figura B.9: Un eater (cuadrados rojos con negro en t = 0) devora a un glider.

B.8.

Colisiones glider-glider

Un elemento crtico en la demostracion de la universalidad de Game of Life


(ver el Captulo 3, pagina 22), resulta ser la capacidad de crear todos los ingredientes necesarios a partir de colisiones glider-glider. Como se ve en la Figura
B.10, que muestra cuatro diferentes colisiones de dos gliders, los resultados son
muy diversos. De hecho, un conteo cuidadoso muestra que en total existen 73
diferentes colisiones entre dos gliders.

B.9.

Puffer trains, Guns y Breeders.

Al princio Conway conjeturo que no existe un patron que pueda crecer sin
lmite, ofreciendo $50 a la primera persona que demostrara o falsificara su de-

Puffer trains, Guns y Breeders.

65

t = 0

t = 1

t = 2

t = 3

t = 4

t = 5

t = 6

t = 0

t = 1

t = 2

t = 3

t = 4

t = 5

t = 6

t = 0

t = 1

t = 2

t = 3

t = 4

t = 5

t = 6

t = 0

t = 1

t = 2

t = 3

t = 4

t = 5

t = 6

Figura B.10: Ejemplos de colisiones glider-glider.


claracion. Esta tarea al principio pareca ser un poco desalentadora: (1) apenas
un poco puede ser inferido a partir de las reglas formales, y (2) dado que una
configuracion en particular es cuidadosamente seguida por millones de pasos, no
hay garant de que no se estabilizara despues de un millon de pasos mas.
A pesar de las dificultades, el premio fue ganado un a
no despues de su anuncio por un grupo de estudiantes del MIT que trabajaba para el Proyecto de
Inteligencia Artificial1 . Despues de mucho trabajo de experimentacion, el grupo
tropezo con una configuracion oscilatoria que produca periodicamente un glider
nuevo; haban descubierto el glider-gun. Ya que cada glider emergente suma cinco celdas a la poblacion global, la configuracion creca sin lmite.
Despues de recoger el premio, los miembros del grupo del MIT hicieron un descubrimiento aun mas notable. Encontraron que el glider-gun se creaba a partir
de una colision de trece gliders (ver la Figura B.12). Surgiendo en t = 75 y comenzando en t = 100, el glider gun produca un glider cada 30 pasos.
Algunos metodos alternativos para alcanzar un crecimiento ilimitado incluyen
(1) la generacion de patrones propagadores que dejan alguna forma de residuo
1

Los miembros del grupo eran Robert April, Michael Beeler, R. William Gosper Jr., Richard
Howell, Rich Schrooeppel y Michael Speciner (ver [Ila02]).

Puffer trains, Guns y Breeders.

66

conforme cruzan la malla, y (2) la creacion de patrones evolutivos cuya tasa de


crecimiento realmente aumente con su edad. La primera clase de patrones se conoce como puffer trains (dos ejemplos simples se muestran en la Figura B.11). La
segunda clase de patrones es llamada breeder y se encuentra entre los patrones
mas interesantes de Game of Life. Los Breeder consisten de una flotilla de diez
puffer trains especiales que producen dos olas de gliders en sentido contrario (con
periodo 32), y un par de blocks (con periodo 64). La flotilla se coloca cuidadosamente de forma que los gliders choquen para formar glider-guns a lo largo del eje
de movimiento de la flotilla que no va en sentido contrario. Conforme la flotilla
avance, la tasa de creacion de los glider-guns creador aumenta sin lmite.

(a)

(b)
t = 10

t = 12

Figura B.11: Dos puffer trains (cuadrados negros) muestran su expulsion (cuadrados rojos) despues de 10 y 12 pasos de iteracion, respectivamente.

Puffer trains, Guns y Breeders.

67

t = 0

t = 75

t = 100

t = 130

Figura B.12: Una colision de trece gliders en t = 0 produce un glider-gun de


periodo p = 30 en t = 75, generando un glider una vez cada periodo.

Bibliografa
[Ada98] Christoph Adami. Introduction to Artificial Life, pages 3840. Springer, New York, USA, first edition, 1998.
[Bae74]

R. M. Baer. Automata and Biology. In Review of Biology, number 3,


page 255, 1974.

[BCG82] E. E. Berkelamp, J. H. Conway, and R. K. Guy. Winning Ways for


Your Mathematical Plays, volume 2, chapter 25. Academic Press, 1982.
[Bou03]

Paul Bourke. Fractal dimension calculator, Febrero 2003. Disponible


en http://astronomy.swin.edu.au/ pbourke/fractals/fracdim/.

[Epp00]

D. Eppstein. Searching for spaceships. Nowakowski, R. J. More Games


of No Chance, pages 433453, 2000.

[Fre93]

E. Fredkin. A new cosmogony: Proceedings of the workshop on physics


and computation. pages 116121, USA, October 1993.

[Hak83]

H. Haken. Advanced Synergetics: Instability Hierarchies of SelfOrganizing Systems and Devices. Springer-Verlag, 1983.

[Her69]

G. T. Herman. Computing ability of a developmental model for filamentous organisms. Journal of Theoretical Biology, (25):421, Diciembre 1969.

[Ila02]

A. Ilachinski. Cellular Automata: A Discrete Universe, pages 130151.


World Scientific, Singapur, second edition, 2002.

68

BIBLIOGRAFIA

69

[Kap03] I. Kaplan. Estimating the Hurst Exponent, Mayo 2003. Disponible en


http://www.bearcave.com/misl/misltech/wavelets/hurst/.
[Kit74]

T. Kitagawa. Cell space approaches in biomathematics. Mathematical


Biosciences, (19):27, 1974.

[KL70]

R. W. Keyes and R. Landauer. Minimal energy dissipation in logic,


page 14. Number 152. IBM Journal, 1970.

[KML99] Peng C. K., Hausdorff J. M., and Goldberger A. L.


Fractal mechanisms in neural control: Human heartbeat and
gait dynamics in health and disease, 1999.
Disponible en
http://reylab.bidmc.harvard.edu/tutorial/DFA/master.html.
[Lan90]

C. G. Langton. Life at the Edge of Chaos. 1990. paginas 41-91


en [Lan92].

[Lan92]

C. G. Langton. Proceedings of the Workshop on Artificial Life held


February, 1990 in Santa Fe, New Mexico. In Artificial Life II. AddisonWesley Publishing Company, 1992.

[Lin68]

A. Lindenmayer. Mathematical models for cellular interactions in development. Journal of Theoretical Biology, (18):280, 1968.

[Man82] B. Mandelbrot. The Fractal Geometry of Nature. W. H. Freeman,


USA, Agosto 1982.
[Min67]

M. L. Minsky. Computation: Finite and Infinite Machines. Prentice


Hall, USA, Junio 1967.

[PJS92]

H. Peitgen, H. Jurgens, and D. Saupe. Chaos and Fractals: New Frontiers of Science, page 495. Springer-Verlag, USA, Agosto 1992.

[Pou84]

W. Poundstone. The Recursive Universe Cosmic Complexity and the


Limits of Scientific Knowledge. Contemporary Books, Inc., USA, first
edition, Noviembre 1984.

BIBLIOGRAFIA

[Ren01]

70

P. Rendell. A Turing Machine in Conways Game of Life, 2001. Disponible en www.rendell.uk.co/gol.

[Roj04]

J. R. Rojano. Caracterizacion estadstica del automata celular The


Game of Life como un proceso de difusion. Masters thesis, Universidad
Veracruzana, Facultad de Fsica e Inteligencia Artificial, Xalapa, Ver.
Mexico, 2004.

[Ros81]

R. Rosen. Pattern generation in networks. In Prog. Theor. Biol., page


161, 1981.

[Ros05]

P. L. Rosin. Training cellular automata for image processing. Proc.


Scandanavian Conference on Image Analysis, LNCS 3540, pages 195
204, 2005.

[Ula72]

S. M. Ulam. Some ideas and prospects in biomathematics. Ann. Rev.


Biophys. Bioeng., (1):277292, 1972.

[VAB97] N. Vanderwalle, M. Ausloos, and P. Boveroux. Detrended fluctuation


analysis of the foreign exchange market. Budapest, Belgica, 1997. Institut de Physique B5.
[Wei91]

G. Weisbuch. Complex Systems Dynamics. Addison-Wesley, 1991.

[Wol84]

S. Wolfram. Universality and complexity in cellular automata. Physica


D., (10):135, Enero 1984.

[Wol02]

S. Wolfram. A new kind of science. Wolfram Media, Inc., USA, first


edition, Junio 2002.

Vous aimerez peut-être aussi