universidad veracruzana - posgrados de la …cdigital.uv.mx/bitstream/123456789/29452/1/stevens...
Post on 09-Feb-2018
220 Views
Preview:
TRANSCRIPT
UNIVERSIDAD VERACRUZANA
FACULTAD DE FÍSICA E INTELIGENCIA ARTIFICIAL
MAESTRÍA EN INTELIGENCIA ARTIFICIAL
“DFA DE LAS CAMINATAS ALEATORIAS GENERADAS MEDIANTE EL AUTÓMATA CELULAR -EL JUEGO DE LA VIDA-”
TESIS
QUE PARA OBTENER EL TÍTULO DE:
MAESTRO EN INTELIGENCIA ARTIFICIAL
Presenta:
GUILLERMO ALEJANDRO STEVENS RAMÍREZ
ASESOR:
DR. ALEJANDRO RAÚL HERNÁNDEZ MONTOYA
SINODALES:CARLOS RUBÉN DE LA MORA BASÁÑEZDR. ALEJANDRO GUERRA HERNÁNDEZ
DR. ALEJANDRO RAÚL HERNÁNDEZ MONTOYA
Xalapa, Ver. México. 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. Hernández M. por toda su ayuda, pacienca y enseñanzas.
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 Tecnologıa, bajo
el proyecto de investigacion No. 44598F. Mexico. 2004.
Indice general
1. Introduccion 2
1.1. Motivacion para estudiar a los AC . . . . . . . . . . . . . . . . . . 3
1.2. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . . . 5
2. Automatas celulares 6
2.1. ¿Que es un Automata Celular? . . . . . . . . . . . . . . . . . . . 6
2.1.1. Definicion formal de un AC . . . . . . . . . . . . . . . . . 8
2.1.2. Ejemplo de un AC . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Clasificacion de los AC . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3. Aplicaciones de los AC . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4. Antecedentes historicos . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . 21
3.3.1. Ingredientes para la universalidad . . . . . . . . . . . . . . 22
3.4. Demostracion de que Game of Life es universal . . . . . . . . . . . 22
3.4.1. Bits ⇐⇒ Gliders . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.2. Thin glider gun . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4.3. Compuertas logicas . . . . . . . . . . . . . . . . . . . . . . 26
3.4.4. Atrasos de tiempo . . . . . . . . . . . . . . . . . . . . . . 26
3.4.5. Copiador de corrientes de gliders . . . . . . . . . . . . . . 28
3.4.6. Almacenamiento de memoria . . . . . . . . . . . . . . . . 30
ii
INDICE GENERAL 1
3.5. Una maquina de Turing en Game of Life . . . . . . . . . . . . . . 32
4. Algoritmos y tecnicas de analisis 34
4.1. Fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1.1. Notas sobre fractales . . . . . . . . . . . . . . . . . . . . . 35
4.1.2. Dimension fractal . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.3. Categorıas de fractales . . . . . . . . . . . . . . . . . . . . 38
4.2. Series de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.1. Mapeo de series de tiempo a procesos auto-similares . . . . 40
4.3. Detrended Fluctuation Analysis . . . . . . . . . . . . . . . . . . . 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. Analisis de Game of Life 49
5.1. Pasos para el analisis . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Conclusiones 54
A. Box Counting Dimension. 56
B. Zoologıa de Game of Life. 58
B.1. Patrones simples y estables . . . . . . . . . . . . . . . . . . . . . . 58
B.2. Gliders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
B.3. Spaceships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
B.4. Flotillas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
B.5. Glider Shuttle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
B.6. Garden-of-Eden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
B.7. Eaters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
B.8. Colisiones glider-glider . . . . . . . . . . . . . . . . . . . . . . . . 64
B.9. Puffer trains, Guns y Breeders. . . . . . . . . . . . . . . . . . . . 64
Bibliografıa 68
Capıtulo 1
Introduccion
En este trabajo se analizo uno de los automatas celulares mas conocidos, lla-
mado 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 estadısticas mas
interesantes.
El estudio de la vida artificial se enfoca en la naturaleza progresiva de los com-
portamientos emergentes, y ademas esta relacionado con el estudio de la inteli-
gencia artificial. La vida artificial se caracteriza por un extenso uso de programas
y simulaciones por computadora que incluyen algoritmos evolutivos, algoritmos
geneticos, programacion genetica, quımica 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 linguıstica, filosofıa,
antropologıa, biologıa, sociologıa, ciencia computacional, matematicas y fısica;
en el cual los enfoques teoricos y computacionales que serıan controversiales den-
tro de su disciplina de origen pueden ser discutidos.
Usar aplicaciones de inteligencia artificial para crear modelos de experimentos
fısicos con un alto grado de exactitud permite simular la inteligencia humana pa-
ra descubrir la dinamica subyacente a muchas preguntas, y contribuye bastante
al uso de tecnologıa como parte del descubrimiento de sus soluciones.
2
Motivacion para estudiar a los AC 3
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.
Justificacion
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 teorıas de difusion, tanto anomala como normal, con
la teorıa 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 com-
plejas 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 frac-
tal o aleatoria?
1.1. Motivacion 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 4
AC como potentes maquinas de calculo
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
tuneles de viento. Por su parte, Toffoli y Margolus preven que el hardware basado
en AC abarcarıa el concepto de materia programable, es decir, un dispositivo
computacionalmente amorfo que pueda ser programado, por ejemplo, para que
en un momento actue como un tunel de viento numerico, y despues como una
corriente de fermiones (ver [Wei91]).
AC como simuladores de sistemas dinamicos discretos
Los AC permiten investigar fenomenos complejos al considerar cualquier can-
tidad de propiedades fısicas. En la actualidad, se han creado modelos discretos
generalizados para estudiar, por ejemplo, la auto-organizacion en redes neurona-
les y la turbulencia en sistemas hidrodinamicos (ver [KL70]).
AC para explorar la formacion de patrones
Los AC se pueden tratar como sistemas dinamicos discretos y abstractos, que
incluyan caracterısticas de comportamiento. El objetivo principal es abstraer
los principios generales que gobiernen la formacion de estructuras que se auto-
organizen. Debido a su simplicidad, los AC ofrecen una poderosa herramienta,
tanto teorica como pratica, para investigar estas estructuras (ver [Hak83]).
AC como modelos para fısica fundamental
A traves de los AC, es posible estudiar nuevos enfoques dinamicos a la fısica
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 teorıas discretas que compitan con los modelos
Organizacion de la tesis 5
continuos existentes (ver [Fre93]).
1.2. Organizacion de la tesis
En el siguiente capıtulo se presentaran los conceptos basicos que surgen en la
teorıa de los AC, dando definiciones, ejemplos, aplicaciones y un resumen de su
historia. En el capıtulo 3 se presentara Game of Life, dando su definicion formal
y una demostracion de su universalidad computacional (ver tambien el Apendi-
ce B), entre otros detalles. En el capıtulo 4 se describiran los algoritmos usados
para calcular la dimension fractal de un conjunto arbitrario, y en particular de
una caminata aleatoria. En el capıtulo 5 se describiran los analisis realizados a
Game of Life, junto con los resultados obtenidos, y despues se daran las con-
clusiones a las que se han llegado. En el Apendice A se describe un algoritmo
alternativo usado para comprobar los resultados obtenidos.
Capıtulo 2
Automatas celulares
Los AC son una clase de sistemas matematicos deterministas y discretos espa-
cial y temporalmente, estan caracterizados por interacciones locales y una forma
de evolucion intrınsicamente paralela. El estudio de los AC ha generado un gran
interes, debido a su capacidad para crear una gran variedad de patrones con com-
portamiento muy complejo, a partir de conjuntos de reglas relativamente simples.
Ademas, parecen capturar muchas caracterısticas esenciales del comportamiento
auto-organizado observadas en muchos sistemas fısicos reales (ver [Ila02]).
2.1. ¿Que es un Automata Celular?
Aunque existe una enorme variedad de modelos de AC, cada uno cuidadosa-
mente adaptado para ajustarse a las necesidades de un sistema especıfico, la ma-
yorıa de estos usualmente poseen las siguientes cinco caracterısticas (ver [Ila02]):
Malla discreta de celdas: el substrato del sistema consiste de una malla n-
dimensional de celdas.
Homogeneidad: todas las celdas son equivalentes.
Estados discretos: cada celda toma uno de los estados finitos y discretos po-
sibles.
Interacciones locales: cada celda interactua solo con las celdas que estan en
su vecindario local.
6
¿Que es un Automata Celular? 7
Dinamica 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 enganosa en estas caracterısticas, 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 fısicos. Aunque es
valido pensar que los AC no son mas que idealizaciones formales de las ecua-
ciones 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 lınea recta unidimensional. En dos
dimensiones se pueden considerar mallas cuadradas, triangulares y hexagonales.
Los AC tambien pueden colocarse en mallas cartesianas en un numero 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 lımite para la malla. Para
¿Que es un Automata Celular? 8
r = 2 r = 3
r = 0 r = 1
r = 2 r = 3
r = 0 r = 1
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
lımite que se considere afectara mucho la evolucion de los estados de un AC.
Figura 2.3: Malla toroidal.
2.1.1. Definicion 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? 9
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 numeros 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 numero binario 11111110,
cuyo equivalente decimal es 254, y este numero es el codigo para referirse a esta
regla, ver [Wol84]).
7 6 5 4
1 1 1 1 1 1
23 1
1
0
0 = 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 continua 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 deberıa aplicar en paralelo, ver [Ila02]).
Paso 1Paso 2Paso 3Paso 4Paso 5Paso 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 configu-
racion 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. Clasificacion de los AC
Stephen Wolfram propuso un esquema de clasificacion para dividir las reglas
de AC (en particular los unidimensionales) en cuatro categorıas, de acuerdo a
los resultados de evolucionar el sistema a partir de un estado inicial desordenado
(pseudo-aleatorio, ver [Wol84]). La categorıas son las siguientes:
CLASE I (homogeneidad). Los AC evolucionan, despues de un numero finito
de pasos a partir de la mayorıa de las condiciones iniciales, a un unico 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
0 0 0 1 1 1 1 0
Tiempo
= 30
Figura 2.6: 16 pasos de la evolucion de la regla 30.
CLASE II (periodicidad). Los AC evolucionan, despues de un numero finito
de pasos a partir de la mayorıa 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 patro-
nes no periodicos (caoticos). Despues de cierta cantidad de pasos, las pro-
piedades estadısticas de estos patrones son comunmente las mismas para
la mayorıa 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 lo-
calizadas, en ocasiones de larga duracion. Surgen configuraciones que se
propagan y estructuras estables o periodicas con comportamiento comple-
jo, 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 clasifi-
cacion es muy aceptado actualmente.
La Figura 2.7 muestra ejemplos de las clases de Wolfram.
Aplicaciones de los AC 12
Clase IIIClase IV
Clase IClase II
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]). Fundamen-
talmente, los AC constituyen universos totalmente conocidos. Nuestro universo
esta sometido a las leyes de la fısica. Estas leyes solo se conocen parcialmente y
parecen ser altamente complejas. En un AC las leyes son muy simples y comple-
tamente 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 historicos
Los AC fueron presentados por von Neumann y Stanislaw Ulam (con el nom-
bre de espacios celulares), como una idealizacion de sistemas biologicos, en par-
ticular para modelar la auto-reproduccion. Se han modelado muchos sistemas
biologicos por medio de AC, un ejemplo es el desarrollo de estructutras y patro-
nes 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 diseno inicial de von Neumann
se basaba en la nocion de un robot que construye a otro robot. Mientras desa-
rrollaba su diseno, 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 diseno 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 artıculo de la revista Scientific American (ver mas detalles
en el Capıtulo 3).
En 1983 Stephen Wolfram publico el primero de una serie de artıculos que in-
vestigaban los AC elementales (ver la pagina 9). La complejidad inesperada del
comportamiento de esas reglas simples llevo a Wolfram a sospechar que la com-
plejidad en la naturaleza podrıa 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 15
Ano Investigador Logro
1936 Alan Turing Formalizo el concepto de computabilidad;Maquina Universal de Turing.
1948 von Neumann Abstrajo la estructura logica de la vida;introdujo los automatas auto-reproductivoscomo un medio para desarrollar unabiologıa reduccionista.
1950 Ulam Propuso la necesidad de tener modelos masrealistas del comportamiento de sistemascomplejos extendidos.
1966 Burks Termino y describio el trabajo de von Neumann.1967 von Bertalanffy, et al Teorıa de sistemas aplicada a sistemas humanos.1969 Zuse Introdujo el concepto de “Espacios compu-
tacionales”, o modelos digitales de mecanismos.1970 Conway Presento la regla para AC bidimensionales
Game of Life.1977 Toffoli Aplico directamente los AC para modelar leyes
fısicas.1983 Wolfram Escribio un importante artıculo en donde
analizo las propiedades de los AC, este artıculoestablecio el campo de los AC como un propositode investigacion para los fısicos.
1984 Cowan, et al Fundaron el Instituto Santa Fe, que sirviocomo un distinguido centro para el estudiointerdisciplinario de los sistemas complejos.
1984 Toffoli, Wolfram Primera conferencia sobre AC en el MIT, Boston.1987 Langton Primera conferencia sobre Vida Artificial, en
el Instituto Santa Fe.1992 Varela, et al Primera conferencia Europea sobre Vida
Artificial.
Cuadro 2.1: Logros importantes en el estudio de los AC y los sistemas complejos.
Capıtulo 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 veci-
nos, y consiste en (1) alimentar una malla con algun 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 exac-
tamente 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 acti-
vos.
(En la Figura 3.1 se muestra un ejemplo de la aplicacion de estas reglas.)
En este trabajo los lımites de la malla para Game of Life seran de flujo cero (ver
el Capıtulo 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 lımites de la malla donde se encuentra,
16
17
0
0
0
0
0
0
0
0
0
0
1 1 1
1 11
2
2 2
2
3 3
1
1
2
Figura 3.1: Aplicacion de las reglas de Game of Life (los numeros indican lacantidad 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).
0
0 0 0
0 0
1
1
11
0
0
00
0
0
0
0
0
00 0
0 11
1
1
1 1
1
1
0
0 0 0 0
0
0
0
0
0
0 0000 00
1
0 0 0 0 0
0 0 0
0
0
1
1
11 1 1
1 1
0
2
23 2
22
(b)
(a)
Figura 3.2: Evolucion de una configuracion simple bajo los dos tipos de lımitespara las mallas: flujo cero (a) y toroidal (b).
Definicion formal de Game of Life 18
3.1. Definicion 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 capıtulo 2, pagina 9). Este codigo
se obtiene de la ultima columna del cuadro siguiente, el cual indica el valor que
adquirira una celda dependiendo del valor de sus vecinos:
Valor de Vecinos Vecinos Nuevola celda activos inactivos Valor
0 0 8 01 0 8 00 1 7 01 1 7 00 2 6 01 2 6 10 3 5 11 3 5 10 4 4 01 4 4 00 5 3 01 5 3 00 6 2 01 6 2 00 7 1 01 7 1 00 8 0 01 8 0 0
Cuadro 3.1: Valores para las celdas, de a cuerdo a las reglas de Game of Life.
La ultima columna muestra el numero binario 000000000011100000 = 11100000,
224 en decimal, el cual es el codigo para Game of Life. Resumiendo:
Parametro de Langton 19
σi,j(t + 1) = φLIFE [σ(t) ∈ NMOORE] = (3.1)
=
σi,j(t), si Σσ∈NMOOREσ(t) = 2,
1, si Σσ∈NMOOREσ(t) = 3,
0, en otro caso
donde Σσ∈NMOOREσ es una suma sobre todos los valores en el vecindario de Moore
de un sitio central dado, σi,j, al tiempo t.
3.2. Parametro de Langton
Langton, enterado de la clasificacion de Wolfram descrita en el capıtulo an-
terior, se propuso investigar tablas de reglas que se obtuvieron aleatoriamente
(ver [Ada98]). Especıficamente, esto fue realizado para automatas celulares so-
bre una malla regular bidimensional, con k = 8 estados y vecindario de von
Neumann. En lugar de probar todas las 832768 reglas posibles, estas fueron mues-
treadas 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 cons-
tantemente 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 acti-
vidad 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 mayorıa de las
reglas resultan en sitios activos y el arreglo no muestra estructuras ni interac-
ciones localizadas, lo que corresponde nuevamente a reglas de la Clase I. Hasta
cierto punto, el parametro λ parece establecer la temperatura del mundo com-
putacional. 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. Parametro 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 numero posible de configuraciones para
los vecindarios, es decir, de cuantas maneras puede haber un vecino activo, dos
activos, etc.
Vecinos Combinaciones Resultadoactivos
0 1 01 8 02 28 13 56 14 70 05 56 06 28 07 8 08 1 0
Cuadro 3.2: Distribucion de las configuraciones que dan resultado activo pornumero 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 caracterıstica 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 orde-
nados 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 real-
mente 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 capıtulo, puede apreciarse su profunda implicacion informal-
mente. Por la virtud de ser una computadora universal, una eleccion adecuada de
las condiciones iniciales puede asegurar que Game of Life lograrıa realizar proce-
dimientos algorıtmicos arbitrarios, es decir, Game of Life puede servir como una
computadora de uso general.
Dada cualquier conjetura matematica computable, C por ejemplo; es posible en-
contrar un patron inicial finito para Game of Life, Σ0, de forma que ΦNLIFE [Σ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 comun 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 lımites funda-
mentales sobre la previsibilidad de las computadoras universales1, los mismos
lımites 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 conven-
1Por ejemplo, el Halting Problem asegura que no puede existir un algoritmo general parapredecir 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 pro-
ducira el resultado deseado, expresado en terminos de un patron de Game of
Life. Por ejemplo, los calculos numericos podrıan involucrar patrones finales que
consistan de un cierto numero de gliders en un area particular de la malla.
La prueba procede de la observacion de cada uno de los cuatro elementos primiti-
vos 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 ele-
mentos debe implementarse por la evolucion de patrones adecuados de Game of
Life.
3.4. Demostracion de que Game of Life es uni-
versal
Tal vez la forma mas sencilla de demostrar que un sistema es capaz de compu-
tacion 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 prue-
ba de la universalidad computacional de Game of Life al construir explıcitamente
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 diseno preciso de una computadora pueda ser complejo, sus ingredien-
tes basicos, o conjunto de elementos primitivos computacionales, son pocos y
relativamente simples. Ademas de tener alguna forma de senales de corrientes de
bits, se necesitan conductos o cables para esas senales. Es necesario enrutar de
alguna manera a las senales, ya sea por redireccion (por ejemplo, desviando una
senal 90o) o enviando multiples 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 (poten-
cialmente infinita), un requisito que tambien se puede cumplir con una memoria
de tamano finito pero que pueda almacenar numeros 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 so-
porta 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 sımbolos/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 podrıa
querer familiarizarse con la zoologıa 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 electri-
cos y bits en una senal de corriente de pulsos en las computadoras fısicas 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 fısica
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 ultimo 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 = 2 t = 3
t = 4 t = 5 t = 6
Figura 3.3: Reaccion kickback en Game of Life.
Demostracion de que Game of Life es universal 25
K
E
G
K
G
G
Corriente adelgazadade gliders
Figura 3.4: Esquema para un Thin Glider Gun, E = eater, G = glider-gun yK = 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 gli-
der 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 corrien-
te 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 26
3.4.3. Compuertas logicas
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 unicos
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 mutua-
mente. 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), deberıa
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 com-
puerta 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 adecua-
damente, 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 senales 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 senales 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 desvıa 90o.
La segunda compuerta restaura el contenido de la senal original y la desvıa otros
Demostracion de que Game of Life es universal 27
E
B A AND B
A
G
NOT A
A
Desaparece
T
(a) (b)
G
A
B
T
E
E
A OR 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 resulta-
do sea la senal original que emerge del circuito con la misma direccion que tenıa
pero atrasado en tiempo por el tiempo que halla tomado la desviacion. Otras
configuraciones de compuertas NOT pueden atrasar y redirigir senales 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 compuer-tas NOT.
Demostracion de que Game of Life es universal 28
3.4.5. Copiador de corrientes de gliders
Esencialmente, serıa una tarea imposible construir cualquier circuito compu-
tacional util sin ser capaz de dirigir multiples copias de corrientes de senales.
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 senal dada
por 90o, o para hacer copias de una senal. Uno de los circuitos mas simples que
resuelven estos dos problemas fue creado por Conway y se muestra en la Figura
3.7.
1111111
111
00000000?0
000000000?
Copia original
111111?00?
000000000?
Copia111111?000
000000?000_
Copia negada
E
0000001000
0000000001T
T
OR
T
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 re-
greso a su propia corriente de senal. 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 senal codificada ha sido adelgazada por otro fac-
tor de 10. Dicho esto, supongase que las nueve posiciones glider-bit de periodo
120 siempre estan vacıas (= 0), y que es solo la decima posicion glider-bit la
que puede o no contener un glider-bit codificado. Por ejemplo, la senal codifi-
cada ‘011’ se adelgazarıa 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 fac-
tor 40) cuya corriente de gliders es tal que la novena posicion glider-bit siempre
contiene un glider. La compuerta OR combinara estas dos senales para producir
un resultado que consista de una corriente de gliders que siempre tiene el mismo
conjunto glider-bit como la senal 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 si-
guiente 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
senal 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 contie-
ne 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 adelgaza-
de de gliders transversal, que consiste unicamente de posiciones glider-bit vacıas
excepto por la decima, la cual siempre contiene un glider. Por lo tanto, la co-
rriente de salida en la derecha puede tener un glider solo en esta ultima posicion,
y solo cuando el ? en la corriente descendiente esta vacıo. 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 repli-
ca 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 senal original y con las
salidas paralelas a la direccion del movimiento de la senal 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 potencialmen-
te infinita puede ser obtenida almacenando numeros arbitrariamente grandes en
registradores de memoria. La idea se esquematiza en la Figura 3.8.
Demostracion de que Game of Life es universal 31
Glider prueba cero
para mover un blockFlotilla de gliders
Block de registro
A B C D
Registradores
Computadora Life
5
2
4
3
1
Figura 3.8: Representacion de un circuito de almacenamiento auxiliar de memo-ria.
Usando el ejemplo del teorema de Fermat (ver [BCG82]), supongase que a una
computadora Game of Life se le pide calcular las cantidades xn + yn y zn para
todas las cuadruplas (x, y, z, n) y que se detenga cuando halla encontrado una
cuadrupla que satisfaga xn+yn = zn. Una forma sencilla de seguir el rastro de los
numeros inevitablemente grandes que forzosamente tendra que probar la com-
putadora, es usar bloques estables como marcadores de valor en un registrador
de almacenamiento auxiliar de memoria. La distancia del bloque en un registra-
dor dado, con respecto a un nivel 0 arbitrariamente senalado, define la cantidad
almacenada en el registrador. Por ejemplo, en la Figura 3.8, los registradores A,
B, C y D contienen los numeros 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 numero 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 compu-
tacionales requeridos por una computadora digital convencional para su propia
computacion – (1) senales digitales de corrientes de bits, (2) cables, (3) circuitos
de redireccion, (4) un sistema de reloj interno, (5) una memoria (potencialmen-
te 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 maquina 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 sımbolos. Comien-
za con dos 1’s en la cinta de la derecha. Se detendra con dos veces este numero
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 Sımbolo (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 sımbo-
lo 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 celdasactivas.
Capıtulo 4
Algoritmos y tecnicas de analisis
En este capıtulo se introducen los conceptos de fractal y dimension fractal, in-
cluyendo 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 estadıstico, a
todas las escalas. No es necesario que el objeto exhiba exactamente la misma es-
tructura 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 ten-
gan 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 Latın, y no de la palabra
fraccional, como se cree comunmente (ver [Man82]).
Muchos tipos de fractales fueron originalmente estudiados como objetos ma-
tematicos. La geometrıa fractal es la rama de las matematicas que estudia las
propiedades y comportamientos de los fractales. Describe muchas situaciones que
pueden ser difıciles de explicar con geometrıa clasica (ver [PJS92]).
34
Fractales 35
4.1.1. 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 contınua pero no diferenciable, la grafica de esta funcion
fue llamada fractal. En 1904, Helge von Koch, insatisfecho con la definicion tan
abstracta y analıtica de Weiertrass, dio una definicion mas geometrica de una
funcion similar, que ahora se conoce como el copo de nieve de Koch. Mas ade-
lante, la idea de curvas auto-similares fue tomada por Paul Pierre Levy, quien
en 1938 con su artıculo 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 habıan descubierto.
Con el fin de entender objetos como los conjuntos de Cantor, algunos matemati-
cos 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 teorıa descriptiva de conjuntos.
En la decada de 1960, Mandelbrot comenzo a inverstigar la auto-similitud en
artıculos 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 pre-
sento un poderoso argumento para que la geometrıa fractal enlazara dominios
mucho mayores de las matematicas y la ciencia, particularmente en dinamica
no-lineal, teorıa del caos, y complejidad. Un ejemplo es graficar el metodo de
Newton como un fractal, mostrando como los lımites entre diferentes soluciones
son fractales. Tambien se ha usado la geometrıa 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. Dimension fractal
La dimension fractal proporciona una forma de medir la rugosidad de una
curva. Normalmente, un punto tiene dimension 0, una lınea dimension 1, las
superficies dimension 2, y los volumenes dimension 3. Las anteriores son dimen-
siones 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 ru-
gosidad 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 lımite, logaritmo, es-
calas y medidas. En el calculo de la dimension de fractales muy complejos como
el conjunto de Mandelbrot se usan computadoras, pero para fractales mas sim-
ples 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 seg-
mentos iguales al original:
Fractales 37
Si se duplican los lados de un cuadrado de lado 1, se tendran cuatro cuadra-
dos 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
Lınea 1 2 = 21
Cuadrado 2 4 = 22
Cubo 3 8 = 23
Similitud al duplicar d n = 2d
Fractales 38
Si F es el numero 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 =log 3
log 2≈ 1,59496 . . . (4.2)
4.1.3. Categorıas de fractales
Los fractales se pueden agrupar en tres amplias catagorıas. Estas se determi-
nan de acuerdo a la forma en que un fractal se define o genera:
Sistemas de funciones iteradas. Tienen una regla fija de reemplaza-
miento geometrico. Ejemplos: tapete de Sierpinski, curva de Peano y es-
ponja 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 ejem-
plo, una lınea real (una lınea recta Euclıdea) es exactamente auto-similar, pero el
argumento de que los objetos Euclıdeos son fractales es una posicion minoritaria.
Mandelbrot discutio que la definicion de fractal deberıa incluir no solo fractales
verdaderos, sino tambien objetos Euclıdeos tradicionales, debido a que los nume-
ros irracionales sobre la recta numerica representan propiedades complejas no
repetitivas (ver [PJS92]).
Figura 4.2: Conjunto de Mandelbrot.
4.2. Series de tiempo
En estadıstica y, aunque no siempre, en procesamiento de senales, una serie
de tiempo es una secuencia de datos, comunmente medidos en tiempos sucesi-
vos, espaciados en intervalos de tiempo uniformes. El analisis de series de tiempo
abarca metodos que intentan comprender estas series, ya sea para entender la
teorıa 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 mo-
delos 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 comun que especifica una serie de tiempo indexada por los nume-
ros 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 domi-
nio 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:
y(t) ≡d aαy
(t
a
)(4.4)
donde ≡d significa que las propiedades estadısticas de ambos lados de la ecua-
cion 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
log ny
P(y)
log
s
2n n
1
t
y M y y
x
(a) (b)
(c) (d)nn
1
2
Pendiente = α
M t
Figura 4.3: Concepto de auto-similitud en series de tiempo. En (a) se muestrauna serie de tiempo con ventana n2; (b) es una ampliacion a la serie, con unaventana n1. (c) Funcion de densidad de probabilidad, P (y), de la variable y paralas dos ventanas, con desviaciones estandar s1 y s2. En (d) se grafica (en log-log)la escala de la fluctuacion, s, contra el tamano 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 tamano 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 pequenas. Como resultado, la serie de tiempo es ilimitada. Sin embargo,
la mayorıa 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 fısicos 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 senales originales.
Un ejemplo es la dinamica del movimiento Browniano. En este caso, la fuerza
aleatoria (ruido) que actua sobre las partıculas es limitado (similar a las series
de tiempo fisiologicas). Sin embargo, la trayectoria de una partıcula Browniana
no esta limitada y exhibe propiedades fractales que se pueden cuantificar por un
parametro de auto-similitud.
Latidos
Tiempo 1.0
1.0
1.0
0.8
0.8
0.8
0.6
0.6
0.6
0.2
0.2
0.2
0 10000 20000 30000 40000 50000 60000
24000 27000 30000 33000 36000 39000 42000
29000 30000 31000 32000 33000 34000 35000
Figura 4.4: Ejemplo de una serie de tiempo para ritmo cardiaco.
En resumen, mapear una serie de tiempo limitada en una senal 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 senales 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 harıa que los datos originales no-estacionarios sean
aun mas aparentes.
Para resolver este problema, se ha presentado un analisis modificado rms1 de una
caminata aleatoria, llamado Detrended2 Fluctuation Analysis (DFA), que tam-
bien 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 intrınseca en series de tiempo aparente-
mente no-estacionarias, tambien evita la falsa deteccion de auto-similitud apa-
rente, la cual puede ser un artefacto de tendencias extrınsecas. Este metodo ha
sido aplicado con exito en un amplio rango de series de tiempo, tanto simuladas
como fisiologicas, en anos recientes (ver [KML99]).
4.3.1. Algoritmo DFA
Primero se acumula la serie de tiempo (de longitud N), usando:
y(k) =k∑
i=1
[Bi − B
](4.6)
donde Bi es el i-esimo intervalo, y B es el intervalo promedio. La acumulacion
mapea la serie de tiempo original a un proceso auto-similar. A continuacion se
mide la escala vertical caracterıstica de la serie de tiempo acumulada. Para es-
to, la serie de tiempo acumulada se divide en segmentos de longitud igual, n.
En cada segmento, se realiza un ajuste lineal de mınimos cuadrados a los datos
(esto representa la tendencia del segmento). La ordenada de los segmentos de
lınea 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
1Root mean square.2Detrend: Eliminar cualquier variacion lineal de fondo en datos de una serie de tiempo.
Detrended Fluctuation Analysis 44
segmento de tamano n, el tamano caracterıstico de fluctuacion para esta serie de
tiempo acumulada y con detrend se calcula con:
F (n) =
√√√√ 1
N
N∑
k=1
[y(k)− yn(k)]2 (4.7)
Este procedimiento se repite para todas las escalas de tiempo (segmentos) pa-
ra obtener una relacion entre F (n) y el tamano del segmento n. Comunmente,
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 pe-
quenos 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 α.
0 200 400 600 800 1000k
-100
0
100
200
300
400
500
yHkLyn HkL
Figura 4.5: Detrending local en el algoritmo DFA.
4.3.2. Relacion entre auto-similitud y funciones de auto-
correlacion
El parametro de auto-similitud de una serie de tiempo acumulada esta rela-
cionado 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 completamen-
te 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 caracterıstica, τ0, y una funcion de auto-
correlacion, 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 senal no acumulada es tambien en forma de power-
law (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 fısica y biologıa (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 pequenos
y viceversa.
Cuando α > 1, existen correlaciones pero dejan de ser en forma de power-
law.
α = 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 teorıa 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 biofısica hasta redes de computadoras, siendo
inicialmente desarrollada en hidrologıa. 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 = 2−H (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 ten-
dencias subyacentes. En otras palabras, un proceso aleatorio con una tendencia
subyacente tiene cierto grado de correlacion. Cuando la correlacion tiene un decai-
miento 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 es-
tadıstica de exponente de Hurst para procesos largos de memoria. Por ejemplo,
en trafico de redes computacionales. Se podrıa esperar que el trafico de una red se
simule mejor teniendo cierto numero de fuentes aleatorias, las cuales envıen pa-
quetes de tamano aleatorio por la red. Se llegarıa 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.
Estimacion del exponente de Hurst
Teniendo una serie de datos, la estimacion del exponente de Hurst se realiza
calculando el rango promedio rescalado sobre multiples regiones de los datos. En
estadıstica, 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 ex-
ponente de Hurst:
3Un ejemplo de una distribucion de Poisson es la cantidad de personas que llega aleatoria-mente a un restaurant en un periodo de tiempo dado.
Exponente de Hurst 47
E
[R(n)
S(n)
]= CH
n cuando n →∞ (4.9)
Si la serie de datos es una caminata aleatoria, el valor esperado sera descrito con
un exponente de 0.5:
E
[R(n)
S(n)
]= C0,5
n cuando n →∞ (4.10)
En ocasiones, la ecuacion 4.10 es llamada dependencia de rango corto. Esto pare-
ce razonable. Una dependencia de rango corto deberıa tener alguna correlacion,
si el exponente de Hurst es 0.5, se tratarıa de una caminata aleatoria y no exis-
tirıa autocorrelacion ni dependencia entre valores secuenciales.
Se realiza una regresion lineal sobre una serie de puntos, compuesta de log n (el
tamano 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 ta-
mano 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 artıcu-
los publicados entre 1968 y 1979 (ver [Kap03]). El exponente de Hurst se aplica
a series de datos que son estadısticamente auto-similares.
Analisis de rango rescalado
Es un metodo estadıstico 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 mınimo
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 numero
de fenomenos naturales, siguiendo la relacion empırica:
Exponente de Hurst 48
R
S= (c · τ)H (4.11)
Hurst establecio el coeficiente c = 0.5. R y S se definen como:
R(τ) = maxX(t, τ)−minX(t, τ), 1 ≤ t ≤ τ (4.12)
S =
(1
τ
τ∑t=1
[ξ(t)− 〈ξ〉τ ]2) 1
2
(4.13)
donde:
〈ξ〉 =1
n
τ∑t=1
ξ(t) (4.14)
X(t, τ) =t∑
u=1
[ξ(u)− 〈ξ〉τ ] (4.15)
Finalmente, el exponente de Hurst es equivalente al parametro α (ver [VAB97]).
Capıtulo 5
Analisis 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 fısica, 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 50
5.1. Pasos para el analisis
Para el analisis se genero una caminata aleatoria usando Game of Life, de
acuerdo a lo siguiente:
El tamano para el universo (malla) es de 2000× 2000 celdas.
El universo tiene lımites 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% tendrıa 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
con la ecuacion R(i)CM = (X(i)CM , Y (i)CM) =
(Pn(i)j=1 xj
n(i),
Pn(i)j=1 yj
n(i)
). 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
ultimo 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 51
-10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 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-10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9
-10
-9
-8
-7
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
8
9
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 des-
plazamiento 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 logarıtmica 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 mınimos cuadrados a las series del paso ante-
rior. 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
parametros α (uno para cada densidad).
Desplazamiento X-14 -12 -10 -8 -6 -4 -2 0 2 4 6
Desplazamiento X-14 -12 -10 -8 -6 -4 -2 0 2 4 6
Desplazamiento Y
-15
-10
-5
0
5
10
Figura 5.2: Ejemplo de una caminata aleatoria generada a partir de una confi-guracion inicial de Game of Life con un 45% de celdas activas (por claridad semuestran solo 1,000 de los 20,000 pasos).
0 100 200 300 400 500
Desplazamiento cuadratico
0
50
100
150
200
250
300
350
400
450
500
noGeneraci
’
Figura 5.3: Desplazamientos cuadraticos para configuraciones con 60 % de celdasactivas (esta grafica solo ejemplifica los pasos a seguir en el analisis, y muestrasolo cinco graficas y pasos, por claridad).
Resultados 53
5.2. Resultados
Con los datos obtenidos (en total 9,000,000) se calculo la dimension fractal
para las caminatas aleatorias. Para comprobar las dimensiones fractales obteni-
das, se obtuvo la dimension fractal usando el metodo box counting dimension
(BCD, ver el Apendice A). Los resultados se muestran a continuacion:
15 20 25 30 35 40 45 50 55 60 65 70 75 80 85Densidad
0.25
0.5
0.75
1
1.25
1.5
1.75
2
Dimensio’n
Dimensi’on Fractal vs densidad
Dimensio’n por BCD
Dimensio’n por DFA
Figura 5.4: Dimension fractal por ambos metodos.
Dimension fractal por DFA:
DDFA = 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 estaciona-
ria, 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 DimensionDFA 1.751 ± 0.04193BCD 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 configuracio-
nes 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 estadıstica para concluir lo anterior.
El primer resultado del cuadro 5.1 (α = 2−DDFA = 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 pequenas y viceversa. Ademas, las leyes en forma de power-
law 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 estadıstica.
Estudiar el espectro de potencia de las series de tiempo, mediante un anali-
sis de Fourier y Wavelets (recordando que la transformada de Fourier de la
funcion de autocorrelacion de una serie de tiempo es el espectro de poten-
cia).
Analizar configuraciones con lımites periodicos para las mallas e incremen-
tar el tamano de estas. Estos dos aspectos afectan bastante la evolucion de
las configuraciones de Game of Life.
Apendice A
Box Counting Dimension.
En geometrıa fractal, el metodo Minkowski-Bouligand sirve para determi-
nar la dimension fractal de un conjunto S en un espacio euclıdeo <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, imagınese 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 numero conforme
la malla se hace mas fina.
Supongase que N(ε) es el numero de cajas de longitud ε que se necesitan para
cubrir el conjunto. Entonces la Box Counting Dimension se define como:
dimbox(S) := lımε→0
log N(ε)
log 1/ε(A.1)
Si el lımite no existe entonces se debe hablar de las dimensiones upper box y
lower box, las cuales corresponden al lımite superior e inferior, respectivamen-
te, 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 di-
mension upper box en ocasiones se denomina dimension de entropıa, 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 compro-
bar la dimension fractal obtenida por el algoritmo DFA (ver [Bou03, Man82]).
Hay que mencionar que los resultados de esta aplicacion pueden presentar cier-
56
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.
-4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1logH1�sL
4
5
6
7
8
9
log@NHsLD Pendiente = 1.545
Figura A.1: Ejemplo de ejecucion de la aplicacion para calcular BCD.
Apendice B
Zoologıa 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 mınimo 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 = 0 t = 1
t = 1 t = 2
Figura B.1: Los destinos de dos estados iniciales con tres celdas.
t = 0 t = 1
t = 0
t = 0
t = 0
t = 0
t = 1
t = 1
t = 1
t = 1
t = 2
t = 2
t = 2
t = 2
t = 3
t = 3
t = 3
t = 3
t = 4
t = 4t = 5
t = 6t = 7t = 8t = 9t = 10
(a)
(b)
(c)
(d)
(e)
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 algu-
nos 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 61
B.2. 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 lınea diagonal (es decir, los patrones que esten
separados por dos pasos estan relacionados por un reflejo de glider). De esta for-
ma, el patron original es reproducido en una posicion desplazada diagonalmente
cada cuatro iteraciones.
t = 0 t = 4t = 3t = 2t = 1
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 ho-
rizontalmente. 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
t = 0
t = 0
t = 0 t = 1
t = 1
t = 1
t = 2 t = 3 t = 4
t = 2
t = 2
t = 3
t = 3
t = 4
t = 4
(a)
(b)
(c)
Figura B.6: Movimiento de los spaceships: peso-ligero (a), peso-medio (b) y peso-pesado (c). Los cuadrados rojos representan ‘chispas’que se desaparecen en elsiguiente paso de tiempo. Los patrones con un gran numero de celdas en la filainferior 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 esta-
cionarios 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: con-
siderese una configuracion cuadrada de (5n−2)× (5n−2), cuyo origen, si existe,
solo puede venir del cuadrado que le rodea (de tamano 5n×5n). Ya que cada uno
de los cuadrados componentes, de 5×5, puede, si esta vacıo, ser reemplazado por
otro cuadrado del mismo tamano con una sola celda viva (la central) sin afectar
el estado en el siguiente paso de tiempo, existen en total (225 − 1)n2patrones
origen posibles dentro del cuadrado de 5n × 5n. Por otro lado, se sabe que hay
un total de solo 2(5n−2)2 estados descendientes posibles dentro del cuadrado de
(5n− 2)× (5n− 2). Se concluye que:
(225 − 1)n2
< 25n2 − 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 2325816000×2325816000.
Es posible obtener configuraciones Garden-of-Eden con lımites menores a este.
El primer ejemplo explıcito fue descubierto por Roger Banks en 1971, y esta con-
tenido dentro de un rectangulo de 9× 33 celdas. Se muestra en la Figura B.8.
Figura B.8: Garden-of-Eden.
Eaters 64
B.7. Eaters
Un Eater o devorador es una estructura que tiene la capacidad de destruir a
los patrones cercanos sin danar 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 numero 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 crıtico en la demostracion de la universalidad de Game of Life
(ver el Capıtulo 3, pagina 22), resulta ser la capacidad de crear todos los ingre-
dientes 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
lımite, ofreciendo $50 a la primera persona que demostrara o falsificara su de-
Puffer trains, Guns y Breeders. 65
t = 0
t = 0
t = 0
t = 0
t = 1
t = 1
t = 1
t = 1
t = 2
t = 2
t = 2
t = 2
t = 3
t = 3
t = 3
t = 3
t = 4
t = 4
t = 4
t = 4
t = 5
t = 5
t = 5
t = 5 t = 6
t = 6
t = 6
t = 6
Figura B.10: Ejemplos de colisiones glider-glider.
claracion. Esta tarea al principio parecıa 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 ano despues de su anun-
cio 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 producıa periodicamente un glider
nuevo; habıan descubierto el glider-gun. Ya que cada glider emergente suma cin-
co celdas a la poblacion global, la configuracion crecıa sin lımite.
Despues de recoger el premio, los miembros del grupo del MIT hicieron un des-
cubrimiento 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 co-
menzando en t = 100, el glider gun producıa 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
1Los miembros del grupo eran Robert April, Michael Beeler, R. William Gosper Jr., RichardHowell, 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 co-
noce 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 cuidadosa-
mente 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 lımite.
(a) (b)
t = 10 t = 12
Figura B.11: Dos puffer trains (cuadrados negros) muestran su expulsion (cua-drados rojos) despues de 10 y 12 pasos de iteracion, respectivamente.
Puffer trains, Guns y Breeders. 67
t = 0
t = 130
t = 100
t = 75
Figura B.12: Una colision de trece gliders en t = 0 produce un glider-gun deperiodo p = 30 en t = 75, generando un glider una vez cada periodo.
Bibliografıa
[Ada98] Christoph Adami. Introduction to Artificial Life, pages 38–40. Sprin-
ger, 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 433–453, 2000.
[Fre93] E. Fredkin. A new cosmogony: Proceedings of the workshop on physics
and computation. pages 116–121, USA, October 1993.
[Hak83] H. Haken. Advanced Synergetics: Instability Hierarchies of Self-
Organizing Systems and Devices. Springer-Verlag, 1983.
[Her69] G. T. Herman. Computing ability of a developmental model for fila-
mentous organisms. Journal of Theoretical Biology, (25):421, Diciem-
bre 1969.
[Ila02] A. Ilachinski. Cellular Automata: A Discrete Universe, pages 130–151.
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. Frac-
tal 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. Addison-
Wesley Publishing Company, 1992.
[Lin68] A. Lindenmayer. Mathematical models for cellular interactions in de-
velopment. 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 Fron-
tiers 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 70
[Ren01] P. Rendell. A Turing Machine in Conway’s Game of Life, 2001. Dis-
ponible en www.rendell.uk.co/gol.
[Roj04] J. R. Rojano. Caracterizacion estadıstica del automata celular The
Game of Life como un proceso de difusion. Master’s thesis, Universidad
Veracruzana, Facultad de Fısica 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):277–292, 1972.
[VAB97] N. Vanderwalle, M. Ausloos, and P. Boveroux. Detrended fluctuation
analysis of the foreign exchange market. Budapest, Belgica, 1997. Ins-
titut de Physique B5.
[Wei91] G. Weisbuch. Complex Systems Dynamics. Addison-Wesley, 1991.
[Wol84] S. Wolfram. Universality and complexity in cellular automata. Physica
D., (10):1–35, Enero 1984.
[Wol02] S. Wolfram. A new kind of science. Wolfram Media, Inc., USA, first
edition, Junio 2002.
top related