Análisis Game of life

of 75 /75
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ÁÑEZ DR. ALEJANDRO GUERRA HERNÁNDEZ DR. ALEJANDRO RAÚL HERNÁNDEZ MONTOYA Xalapa, Ver. México. Marzo de 2006.

description

r

Transcript of Análisis Game of life

  • 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