análisis game of life
DESCRIPTION
rTRANSCRIPT
-
UNIVERSIDAD VERACRUZANA
FACULTAD DE FSICA E INTELIGENCIA ARTIFICIAL
MAESTRA EN INTELIGENCIA ARTIFICIAL
DFA DE LAS CAMINATAS ALEATORIAS GENERADAS MEDIANTE EL AUTMATA CELULAR -EL JUEGO DE LA VIDA-
TESISQUE PARA OBTENER EL TTULO DE:
MAESTRO EN INTELIGENCIA ARTIFICIAL
Presenta:
GUILLERMO ALEJANDRO STEVENS RAMREZ
ASESOR:
DR. ALEJANDRO RAL HERNNDEZ MONTOYA
SINODALES:CARLOS RUBN DE LA MORA BASEZDR. ALEJANDRO GUERRA HERNNDEZ
DR. ALEJANDRO RAL HERNNDEZ MONTOYA
Xalapa, Ver. Mxico. Marzo de 2006.
-
Dedico este trabajo a la memoria de mi padre, Federico Guillermo Stevens y Flores.
-
Agradecimientos personales:
Quiero agradecer a toda mi familia, muy especialmente a mi mam Guillermina y a mis hermanos Roxana y Xavier.
Agradezco mucho a mi asesor, Dr. Alejandro R. Hernndez M. por toda su ayuda, pacienca y enseanzas.
Por ltimo, pero no menos importante, agradezco a todos mis amigos y profesores, que me han apoyado en todo momento.
-
Agradecimiento:
Esta tesis fue financiada por el Consejo Nacional de Ciencia y Tecnologa, bajo
el proyecto de investigacion No. 44598F. Mexico. 2004.
-
Indice general
1. 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 . . . . . . . . . . . . . . . . . . . . . . . 233.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. Categoras 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. Zoologa 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
Bibliografa 68
-
Captulo 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 estadsticas 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, qumica artificial, modelos basados en agentes,
y automatas celulares (AC). El campo de la vida artificial es un punto de reunion
para gente de muchos otros campos mas tradicionales, como lingustica, filosofa,
antropologa, biologa, sociologa, ciencia computacional, matematicas y fsica;
en el cual los enfoques teoricos y computacionales que seran controversiales den-
tro de su disciplina de origen pueden ser discutidos.
Usar aplicaciones de inteligencia artificial para crear modelos de experimentos
fsicos con un alto grado de exactitud permite simular la inteligencia humana pa-
ra descubrir la dinamica subyacente a muchas preguntas, y contribuye bastante
al uso de tecnologa 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 teoras de difusion, tanto anomala como normal, con
la teora de AC.
Entender la complejidad de un AC es un objetivo, en particular, de la Vida
Artificial y, en general, de la Inteligencia Artificial.
Preguntas relevantes
En este trabajo se intentara responder a las siguientes preguntas:
Cual es la dimension fractal de las caminatas aleatorias, o que tan 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 abarcara 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 fsicas. 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 caractersticas 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 fsica fundamental
A traves de los AC, es posible estudiar nuevos enfoques dinamicos a la fsica
microscopica, explorando la posibilidad de que la naturaleza procesa, de manera
local y digital, sus propios estados futuros. La idea es, dado que los sistemas
universales (computacionalmente) son capaces de presentar un comportamiento
arbitrariamente complejo, hacer teoras discretas que compitan con los modelos
-
Organizacion de la tesis 5
continuos existentes (ver [Fre93]).
1.2. Organizacion de la tesis
En el siguiente captulo se presentaran los conceptos basicos que surgen en la
teora de los AC, dando definiciones, ejemplos, aplicaciones y un resumen de su
historia. En el captulo 3 se presentara Game of Life, dando su definicion formal
y una demostracion de su universalidad computacional (ver tambien el Apendi-
ce B), entre otros detalles. En el captulo 4 se describiran los algoritmos usados
para calcular la dimension fractal de un conjunto arbitrario, y en particular de
una caminata aleatoria. En el captulo 5 se describiran los analisis realizados a
Game of Life, junto con los resultados obtenidos, y despues se daran las con-
clusiones a las que se han llegado. En el Apendice A se describe un algoritmo
alternativo usado para comprobar los resultados obtenidos.
-
Captulo 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 intrnsicamente 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 caractersticas esenciales del comportamiento
auto-organizado observadas en muchos sistemas fsicos 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 especfico, la ma-
yora de estos usualmente poseen las siguientes cinco caractersticas (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 caractersticas, ya que existen AC que
muestran un comportamiento extremadamente complicado. Los AC ofrecen una
dinamica lo suficientemente rica, y pueden ser considerados como serios modelos
matematicos alternativos para una gran variedad de sistemas fsicos. Aunque es
valido pensar que los AC no son mas que idealizaciones formales de las 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 lnea 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 lmite 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
lmite 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 debera 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 categoras, de acuerdo a
los resultados de evolucionar el sistema a partir de un estado inicial desordenado
(pseudo-aleatorio, ver [Wol84]). La categoras son las siguientes:
CLASE I (homogeneidad). Los AC evolucionan, despues de un numero finito
de pasos a partir de la mayora 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 mayora de las condiciones iniciales, a una serie de
configuraciones fijas u oscilantes. Ejemplos: reglas 8, 24, 40, 56 y 58.
CLASE III (caos). La mayoria de las condiciones iniciales conducen a patro-
nes no periodicos (caoticos). Despues de cierta cantidad de pasos, las pro-
piedades estadsticas de estos patrones son comunmente las mismas para
la mayora de los estados iniciales. Ejemplos: reglas 2, 6, 10, 12, 14, 18, 22,
26, 28, 30, 34, 38, 42, 44, 46 y 50.
CLASE IV (complejidad). La evolucion conduce a complejas estructuras 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 fsica. 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 artculo de la revista Scientific American (ver mas detalles
en el Captulo 3).
En 1983 Stephen Wolfram publico el primero de una serie de artculos que 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 podra deberse a mecanismos similares a los AC. El
siguiente cuadro menciona algunos logros historicos en el estudio de los AC y los
sistemas complejos (ver [Ila02]).
-
Antecedentes historicos 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 unabiologa 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 Teora 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
fsicas.1983 Wolfram Escribio un importante artculo en donde
analizo las propiedades de los AC, este artculoestablecio el campo de los AC como un propositode investigacion para los fsicos.
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.
-
Captulo 3
Game of Life
Tal vez el AC mas ampliamente conocido sea Game of Life, inventado por
John H. Conway. Game of Life se juega en un vecindario de Moore con 9 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 lmites de la malla para Game of Life seran de flujo cero (ver
el Captulo 2, pagina 8). Este es un aspecto muy importante a considerar, ya
que una misma configuracion inicial de Game of Life puede mostrar resultados
totalmente diferentes dependiendo de los lmites de la malla donde se encuentra,
16
-
17
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 lmitespara 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 captulo 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 captulo an-
terior, se propuso investigar tablas de reglas que se obtuvieron aleatoriamente
(ver [Ada98]). Especficamente, 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 mayora 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 ladinamica 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 ala clase IV de Wolfram (complejidad).
3.3. Importancia de Game of Life
Una caracterstica notable de Game of Life es (aunque a primera vista no se
observe), siendo de clase IV, su habilidad de dar lugar a complejos patrones 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 captulo, 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 lograra realizar proce-
dimientos algortmicos arbitrarios, es decir, Game of Life puede servir como una
computadora de uso general.
Dada cualquier conjetura matematica computable, C por ejemplo; es posible 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 calcular2 o
una Transformada Rapida de Fourier, sino el hecho de que en principio pueda
hacerlo implica su complejidad dinamica latente. Ya que existen lmites funda-
mentales sobre la previsibilidad de las computadoras universales1, los mismos
lmites deben aplicarse a la evolucion general de Game of Life.
En terminos de Game of Life, esto significa que, en general, no es posible decir
si una configuracion inicial en particular desaparecera. Ya que Game of Life es
capaz de todos y cada uno de los calculos que realiza una computadora 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 podran 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 explcitamente
los equivalentes dinamicos de todos los ingredientes computacionales requeridos
por una computadora digital convencional (ver [Ila02]).
-
Demostracion de que Game of Life es universal 23
Aunque el 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 smbolos/bloques.
La prueba original aparece en el trabajo de Berkelamp, Conway y Guy (ver [BCG82]).
Otras discuciones se encuentran en el trabajo de Langton (ver [Lan90]) y el libro
de Poundstone (ver [Pou84]). Antes de seguir con esta seccion, el lector podra
querer familiarizarse con la zoologa de los patrones de Game of Life, incluyendo
los patrones glider y glider-gun (ver el Apendice B).
3.4.1. Bits GlidersSe 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 fsicas y, por
el otro lado, los gliders y corrientes de gliders en Game of Life. La presencia de
un glider denotara el hecho de que el bin correspondiente en la corriente fsica
de pulso tiene un valor de bit 1, y la auscencia de un glider denotara el valor
de bit 0. Se sabe que los glider-guns pueden crear una corriente constante de
gliders (se produce un glider una vez cada 30 pasos de tiempo). Sin embargo, dos
o mas corrientes de gliders moviendose en cursos intersectados no pueden cruzar
-
Demostracion de que Game of Life es universal 24
sin interferir entre s. Para construir circuitos es deseable contar con corrientes
de gliders que no se interfieran. El siguiente paso es producir un thin-glider-gun
para crear corrientes de gliders de periodos arbitrariamente largos.
3.4.2. Thin glider gun
Thin glider gun es relativamente facil de construir y depende solo de cuatro
bloques basicos: (1) un glider-gun de periodo 30, (2) un eater, (3) una reaccion de
aniquilacion glider-glider, y (4) una reaccion kickback. Los primeros dos bloques
se describen en el Apendice B, junto con un ejemplo de colisiones glider-glider
(aniquilacion). El 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 compuertaNOT 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), debera
ser evidente que un glider logra llegar a la corriente de salida si y solo si las dos
ranuras correspondientes en A y B contienen gliders. La operacion de la 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 compuertasNOT. 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 desva 90o.
La segunda compuerta restaura el contenido de la senal original y la desva otros
-
Demostracion de que Game of Life es universal 27
E
B A AND B
A
G
NOT A
A
DesapareceT
(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 tena
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, sera 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 original111111?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. Tambiensupongase 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 vacas (= 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 adelgazara a una representacion de corriente de gliders dada por
000000000000000000010000000001. En la Figura 3.7, se ha indicado el valor de
esta decima posicion de glider-bit con un signo de interrogacion.
El circuito de Conway funciona como sigue. La corriente de datos de entrada,
que se va a copiar, entra en una compuerta OR localizada arriba a la izquierda.
La otra entrada a la compuerta OR es la salida de un thin-glider-gun (de 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 vacas
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 vaco. En otras palabras,
la posicion delantera en la salida de la derecha es NOT [NOT(?)] =?, as que
la salida es una replica perfecta de la corriente original de gliders codificados:
000000000?.
Por lo tanto el circuito de Conway tiene un total de tres salidas: una es una 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 smbolos. Comien-
za con dos 1s 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 Smbolo (columna).
Cada celda de memoria cicla alrededor en 240 generaciones con espacio para
un glider cada 30 generaciones. Estas ocho posiciones estan codificadas como
DV V V SSSS con la D para la direccion (1 =derecha) primero, V V V es el smbo-
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.
-
Captulo 4
Algoritmos y tecnicas de analisis
En este captulo 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 estadstico, 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 Latn, y no de la palabra
fraccional, como se cree comunmente (ver [Man82]).
Muchos tipos de fractales fueron originalmente estudiados como objetos ma-
tematicos. La geometra fractal es la rama de las matematicas que estudia las
propiedades y comportamientos de los fractales. Describe muchas situaciones que
pueden ser difciles de explicar con geometra clasica (ver [PJS92]).
34
-
Fractales 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 contnua pero no diferenciable, la grafica de esta funcion
fue llamada fractal. En 1904, Helge von Koch, insatisfecho con la definicion tan
abstracta y analtica de Weiertrass, dio una definicion mas geometrica de una
funcion similar, que ahora se conoce como el copo de nieve de Koch. Mas ade-
lante, la idea de curvas auto-similares fue tomada por Paul Pierre Levy, quien
en 1938 con su artculo Plane or Space Curves and Surfaces Consisting of Parts
Similar to the Whole, describio una nueva curva fractal, la Curva C de Levy
(ver [PJS92]).
Las funciones iteradas en el plano complejo fueron estudiadas en los siglos XIX
y XX por Henri Poincare, Felix Klein, Pierre Fatou y Gaston Julia, pero sin el
auxilio de graficas por computadora, carecieron de los medios para visualizar los
objetos que haban descubierto.
Con el fin de entender objetos como los conjuntos de Cantor, algunos 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 teora descriptiva de conjuntos.
En la decada de 1960, Mandelbrot comenzo a inverstigar la auto-similitud en
artculos como How Long is the Coast of Britain? Statistical Self-Similarity and
Fractional Dimension (ver [PJS92]).
Una vez que se aplicaron tecnicas de visualizacion por computadora, se pre-
sento un poderoso argumento para que la geometra fractal enlazara dominios
mucho mayores de las matematicas y la ciencia, particularmente en dinamica
no-lineal, teora del caos, y complejidad. Un ejemplo es graficar el metodo de
Newton como un fractal, mostrando como los lmites entre diferentes soluciones
son fractales. Tambien se ha usado la geometra fractal para compresion de datos
y modelado de sistemas organicos complejos y sistemas geologicos (ver [PJS92]).
-
Fractales 36
Figura 4.1: Ejemplos de fractales. (Segunda fila: Fractal de Koch.)
4.1.2. Dimension fractal
La dimension fractal proporciona una forma de medir la rugosidad de una
curva. Normalmente, un punto tiene dimension 0, una lnea dimension 1, las
superficies dimension 2, y los 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 lmite, 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
Lnea 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, yD la dimension de la figura, F = 2D. DespejandoD:
D =logF
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. Categoras de fractales
Los fractales se pueden agrupar en tres amplias catagoras. 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 lnea real (una lnea recta Eucldea) es exactamente auto-similar, pero el
argumento de que los objetos Eucldeos son fractales es una posicion minoritaria.
Mandelbrot discutio que la definicion de fractal debera incluir no solo fractales
verdaderos, sino tambien objetos Eucldeos tradicionales, debido a que los 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 estadstica 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
teora subyacente a los datos (de donde vienen?, como se generaron?), o para
hacer predicciones. Prediccion de series de tiempo es el uso de un modelo para
predecir eventos futuros basandose en eventos pasados conocidos: predecir datos
futuros antes de que sean medidos.
Los modelos para las series de tiempo pueden tener muchas formas. Dos amplias
-
Series de tiempo 40
clases de importancia practica son los modelos movimiento promedio, y los 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 ay(t
a
)(4.4)
donde d significa que las propiedades estadsticas 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, ay(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 factora(y ay). 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
2Pendiente =
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.
=logMylogMx
(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 mayora de las series de interes son limitadas (no pueden tener amplitudes
arbitrariamente grandes, sin importar la longitud de la serie). Esta restriccion
practica complica los analisis. Considere el caso de una serie de tiempo para el
ritmo cardiaco mostrado en la Figura 4.4. Si se hace un acercamiento sobre un
subconjuto de la serie, se observa un patron aparentemente auto-similar. Para ver
esta auto-similitud no hace falta reescalar el eje y (My = 0). Por la ecuacion 4.5,
= 0, lo cual no aporta informacion. Los fsicos y matematicos han desarrollado
una solucion innovadora para este problema. Se trata de estudiar las propiedades
-
Detrended Fluctuation Analysis 42
fractales para una serie de tiempo acumulada, en lugar de las senales originales.
Un ejemplo es la dinamica del movimiento Browniano. En este caso, la fuerza
aleatoria (ruido) que actua sobre las partculas es limitado (similar a las series
de tiempo fisiologicas). Sin embargo, la trayectoria de una partcula Browniana
no esta limitada y exhibe propiedades fractales que se pueden cuantificar por un
parametro de auto-similitud.
Latidos
Tiemp
o 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 hara 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 intrnseca 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 extrnsecas. 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) =ki=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 caracterstica 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 mnimos cuadrados a los datos
(esto representa la tendencia del segmento). La ordenada de los segmentos de
lnea recta se denota por yn(k). Despues se hace detrend en la serie de tiempo
acumulada, y(k), restando la tendencia local, yn(k), en cada segmento. Para un
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 caracterstico de fluctuacion para esta serie de
tiempo acumulada y con detrend se calcula con:
F (n) =
1N
Nk=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 logF (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 caracterstica, 0, y una funcion de auto-
correlacion, C(), que decae exponencialmente (C() exp(/0)). Lapendiente inicial de logF (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 ampliorango (C() ). La relacion entre y es = 2 2. En el espectrode 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 deFourier de la funcion de autocorrelacion, se tiene = 1 = 2 1. Elcaso = 1 es de interes en fsica y biologa (corresponde a ruido 1/f , con
= 1).
Cuando 0 < < 0.5, se presentan anti-correlaciones power-law, de manera
que es mas probable que valores grandes sean seguidos por valores 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 teora del caos, procesos largos de memoria (long memory)
-
Exponente de Hurst 46
y analisis espectral (ver [PJS92]). La estimacion del exponente de Hurst ha sido
aplicada en areas que van desde biofsica hasta redes de computadoras, siendo
inicialmente desarrollada en hidrologa. Sin embargo, las tecnicas mas modernas
para estimar el coeficiente de Hurst vienen de matematicas de fractales.
El exponente de Hurst esta directamente relacionado con la dimension fractal.
Si H es el exponente de Hurst, y D es la dimenson fractal:
D = 2H (4.8)
La estimacion del exponente de Hurst para una serie de datos proporciona una
medida de si los datos representan una caminata aleatoria pura o si tiene 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-
tadstica de exponente de Hurst para procesos largos de memoria. Por ejemplo,
en trafico de redes computacionales. Se podra esperar que el trafico de una red se
simule mejor teniendo cierto numero de fuentes aleatorias, las cuales enven pa-
quetes de tamano aleatorio por la red. Se llegara a una distribucion de Poisson3.
Como resultado, este modelo esta equivocado. El trafico en una red se puede
modelar mejor con un proceso que presente un exponente de Hurst no-aleatorio.
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
estadstica, el promedio (media) de una serie de datos X se conoce en ocasiones
como el valor esperado, E[X]. Usando esta notacion, el valor esperado de R/S,
calculado sobre un conjunto de regiones converge en la funcion potencia del 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)
]= CHn 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,5n 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 debera tener alguna correlacion,
si el exponente de Hurst es 0.5, se tratara de una caminata aleatoria y no exis-
tira 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 artcu-
los publicados entre 1968 y 1979 (ver [Kap03]). El exponente de Hurst se aplica
a series de datos que son estadsticamente auto-similares.
Analisis de rango rescalado
Es un metodo estadstico que sigue muchos tipos de fenomenos naturales.
Existen dos factores que se usan en este analisis:
El rango R, el cual es la diferencia entre los valores maximo y mnimo
acumulados o la suma acumulada de X(t, ) del fenomeno natural, con
tiempo discretizado t de duracion .
La desviacion estandar S, calculada a partir de los valores Xi(t)
Hurst encontro que la proporcion R/S queda bien descrita para un gran numero
de fenomenos naturales, siguiendo la relacion emprica:
-
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:
= 1n
t=1
(t) (4.14)
X(t, ) =t
u=1
[(u) ] (4.15)
Finalmente, el exponente de Hurst es equivalente al parametro (ver [VAB97]).
-
Captulo 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 fsica, una caminata aleatoria es la formalizacion de
la idea de dar pasos sucesivos, cada uno con direccion aleatoria. Las caminatas
aleatorias son procesos estocasticos. Una caminata aleatoria es aquella que sigue
las siguientes reglas:
La caminata se realiza en dos dimensiones.
Existe un punto inicial.
La distancia entre dos puntos de la caminata es constante.
La direccion entre un punto y otro de la caminata se elige aleatoriamente,
y ninguna direccion es mas probable que otra.
Estas se reglas pueden generalizarse para caminatas en mas de una dimension, y
para el caso de pasos de longitud variable, de manera directa.
49
-
Pasos para el analisis 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 lmites con flujo cero.
Las condiciones iniciales tienen una cierta cantidad de celdas activas. Esta
cantidad de celdas activas esta dada por un porcentaje del total de celdas,
cuyos valores son 15%, 20%, 25%, 30%, 35%, 40%, 45%, 50%, 55%,
60%, 65%, 70%, 75%, 80% y 85%. As, por ejemplo, la configuracion
inicial para 35% tendra 1,400,000 celdas activas, de un total de 4,000,000.
La posicion de cada celda activa se elige pseudo-aleatoriamente.
En cada paso de la evolucion, cada celda activa se toma como un punto en
el plano XY (ver la Figura 5.1) y se calcula el centro de masa de acuerdo
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
0123456789
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-10123456789
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 logartmica de los pasos de la serie a lag = 1.
5. Aplicar el algoritmo DFA a las series del paso anterior.
6. Realizar un ajuste lineal por mnimos cuadrados a las series del paso 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
Despla
zami
ento
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
Dim
ensi
on
Dimension Fractal vs densidad
Dimension por BCD
Dimension 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 estadstica para concluir lo anterior.
El primer resultado del cuadro 5.1 ( = 2DDFA = 0.249), indica que sepresentan 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 estadstica.
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 lmites 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 geometra fractal, el metodo Minkowski-Bouligand sirve para determi-
nar la dimension fractal de un conjunto S en un espacio eucldeo
-
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 -1logH1sL
4
5
6
7
8
9log@NHsLD Pendiente = 1.545
Figura A.1: Ejemplo de ejecucion de la aplicacion para calcular BCD.
-
Apendice B
Zoologa de Game of Life.
Desde la creacion de Game of Life en 1970, se ha analizado y catalogado la
evolucion de cientos de configuraciones iniciales. Como siempre, la forma mas
facil de comenzar es examinar las configuraciones mas simples (ver [Ila02]).
B.1. Patrones simples y estables
Ya que las celdas vivas solo sobreviven si estan rodeadas por otras dos o tres
celdas vivas, y las celdas muertas reviven solo si las rodean tres celdas vivas; los
estados iniciales que consistan de celdas solitarias mueren inmediatamente. Por
lo tanto, la sobrevivencia en Game of Life requiere un mnimo de tres celdas Las
Figuras B.1 y B.2 muestran todas las configuraciones iniciales que contienen tres
o cuatro celdas.
58
-
Patrones simples y estables 59
t = 0
t = 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