universidad veracruzana - posgrados de la …cdigital.uv.mx/bitstream/123456789/29452/1/stevens...

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.

Upload: dinhdien

Post on 09-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

UNIVERSIDAD VERACRUZANA

FACULTAD DE FÍSICA E INTELIGENCIA ARTIFICIAL

MAESTRÍA EN INTELIGENCIA ARTIFICIAL

“DFA DE LAS CAMINATAS ALEATORIAS GENERADAS MEDIANTE EL AUTÓMATA CELULAR -EL JUEGO DE LA VIDA-”

TESIS

QUE PARA OBTENER EL TÍTULO DE:

MAESTRO EN INTELIGENCIA ARTIFICIAL

Presenta:

GUILLERMO ALEJANDRO STEVENS RAMÍREZ

ASESOR:

DR. ALEJANDRO RAÚL HERNÁNDEZ MONTOYA

SINODALES:CARLOS RUBÉN DE LA MORA BASÁÑEZDR. ALEJANDRO GUERRA HERNÁNDEZ

DR. ALEJANDRO RAÚL HERNÁNDEZ MONTOYA

Xalapa, Ver. México. Marzo de 2006.

Page 2: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

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

Page 3: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Agradecimientos personales:

Quiero agradecer a toda mi familia, muy especialmente a mi mamá Guillermina y a mis hermanos Roxana y Xavier.

Agradezco mucho a mi asesor, Dr. Alejandro R. Hernández M. por toda su ayuda, pacienca y enseñanzas.

Por último, pero no menos importante, agradezco a todos mis amigos y profesores, que me han apoyado en todo momento.

Page 4: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Agradecimiento:

Esta tesis fue financiada por el Consejo Nacional de Ciencia y Tecnologıa, bajo

el proyecto de investigacion No. 44598F. Mexico. 2004.

Page 5: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Indice general

1. Introduccion 2

1.1. Motivacion para estudiar a los AC . . . . . . . . . . . . . . . . . . 3

1.2. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . . . 5

2. Automatas celulares 6

2.1. ¿Que es un Automata Celular? . . . . . . . . . . . . . . . . . . . 6

2.1.1. Definicion formal de un AC . . . . . . . . . . . . . . . . . 8

2.1.2. Ejemplo de un AC . . . . . . . . . . . . . . . . . . . . . . 9

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

2.3. Aplicaciones de los AC . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4. Antecedentes historicos . . . . . . . . . . . . . . . . . . . . . . . . 13

3. Game of Life 16

3.1. Definicion formal de Game of Life . . . . . . . . . . . . . . . . . . 18

3.2. Parametro de Langton . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.1. Parametro de Langton para Game of Life . . . . . . . . . . 20

3.3. Importancia de Game of Life . . . . . . . . . . . . . . . . . . . . . 21

3.3.1. Ingredientes para la universalidad . . . . . . . . . . . . . . 22

3.4. Demostracion de que Game of Life es universal . . . . . . . . . . . 22

3.4.1. Bits ⇐⇒ Gliders . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.2. Thin glider gun . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4.3. Compuertas logicas . . . . . . . . . . . . . . . . . . . . . . 26

3.4.4. Atrasos de tiempo . . . . . . . . . . . . . . . . . . . . . . 26

3.4.5. Copiador de corrientes de gliders . . . . . . . . . . . . . . 28

3.4.6. Almacenamiento de memoria . . . . . . . . . . . . . . . . 30

ii

Page 6: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

INDICE GENERAL 1

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

4. Algoritmos y tecnicas de analisis 34

4.1. Fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.1.1. Notas sobre fractales . . . . . . . . . . . . . . . . . . . . . 35

4.1.2. Dimension fractal . . . . . . . . . . . . . . . . . . . . . . . 36

4.1.3. Categorıas de fractales . . . . . . . . . . . . . . . . . . . . 38

4.2. Series de tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2.1. Mapeo de series de tiempo a procesos auto-similares . . . . 40

4.3. Detrended Fluctuation Analysis . . . . . . . . . . . . . . . . . . . 42

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

4.3.2. Relacion entre auto-similitud y funciones de auto-correlacion 44

4.4. Exponente de Hurst . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5. Analisis de Game of Life 49

5.1. Pasos para el analisis . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Conclusiones 54

A. Box Counting Dimension. 56

B. Zoologıa de Game of Life. 58

B.1. Patrones simples y estables . . . . . . . . . . . . . . . . . . . . . . 58

B.2. Gliders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

B.3. Spaceships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

B.4. Flotillas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

B.5. Glider Shuttle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

B.6. Garden-of-Eden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

B.7. Eaters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

B.8. Colisiones glider-glider . . . . . . . . . . . . . . . . . . . . . . . . 64

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

Bibliografıa 68

Page 7: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Capıtulo 1

Introduccion

En este trabajo se analizo uno de los automatas celulares mas conocidos, lla-

mado Game of Life, y se mapeo cada estado de su evolucion a un vector en dos

dimensiones, obteniendose una caminata aleatoria, la cual fue estudiada usando

un algoritmo que permitio establecer algunas de sus propiedades estadısticas mas

interesantes.

El estudio de la vida artificial se enfoca en la naturaleza progresiva de los com-

portamientos emergentes, y ademas esta relacionado con el estudio de la inteli-

gencia artificial. La vida artificial se caracteriza por un extenso uso de programas

y simulaciones por computadora que incluyen algoritmos evolutivos, algoritmos

geneticos, programacion genetica, quımica artificial, modelos basados en agentes,

y automatas celulares (AC). El campo de la vida artificial es un punto de reunion

para gente de muchos otros campos mas tradicionales, como linguıstica, filosofıa,

antropologıa, biologıa, sociologıa, ciencia computacional, matematicas y fısica;

en el cual los enfoques teoricos y computacionales que serıan controversiales den-

tro de su disciplina de origen pueden ser discutidos.

Usar aplicaciones de inteligencia artificial para crear modelos de experimentos

fısicos con un alto grado de exactitud permite simular la inteligencia humana pa-

ra descubrir la dinamica subyacente a muchas preguntas, y contribuye bastante

al uso de tecnologıa como parte del descubrimiento de sus soluciones.

2

Page 8: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Motivacion para estudiar a los AC 3

Problema

Mediante los metodos propuestos en este trabajo se mapea la sucesion de

estados de un AC a una serie numerica de tiempo, la cual es mas facil de estudiar

que el automata en sı, esperando que las serie mantenga las propiedades de

complejidad del AC original. En particular, Game of Life es un AC que tiene

propiedades muy importantes, tales como la emergencia de estructuras complejas

auto-reproducibles, ademas de la propiedad de Computabilidad Universal.

Justificacion

Los metodos propuestos en esta tesis son lo suficientemente generales y se

pueden aplicar a cualquier AC. Ademas, estos metodos permiten usar y conectar

los metodos fractales y las teorıas de difusion, tanto anomala como normal, con

la teorıa de AC.

Entender la complejidad de un AC es un objetivo, en particular, de la Vida

Artificial y, en general, de la Inteligencia Artificial.

Preguntas relevantes

En este trabajo se intentara responder a las siguientes preguntas:

¿Cual es la dimension fractal de las caminatas aleatorias, o que tan com-

plejas son, generadas por Game of Life?

¿Que tipo de caminata aleatoria puede ser generada mediante Game of

Life?

¿Las estructuras generadas mediante esta caminata son de naturaleza frac-

tal o aleatoria?

1.1. Motivacion para estudiar a los AC

Existen por lo menos cuatro motivos para hacer estudios sobre los AC. A

continuacion se describen en orden de importancia teorica:

Page 9: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Motivacion para estudiar a los AC 4

AC como potentes maquinas de calculo

Con la ayuda de hardware basado en AC, muchos problemas importantes

pero actualmente intratables, por primera vez pueden empezar a ser resueltos.

Weisbuch ha propuesto que los procesadores basados en AC (los cuales son muy

eficientes en implementaciones paralelas) son los equivalentes numericos a los

tuneles de viento. Por su parte, Toffoli y Margolus preven que el hardware basado

en AC abarcarıa el concepto de materia programable, es decir, un dispositivo

computacionalmente amorfo que pueda ser programado, por ejemplo, para que

en un momento actue como un tunel de viento numerico, y despues como una

corriente de fermiones (ver [Wei91]).

AC como simuladores de sistemas dinamicos discretos

Los AC permiten investigar fenomenos complejos al considerar cualquier can-

tidad de propiedades fısicas. En la actualidad, se han creado modelos discretos

generalizados para estudiar, por ejemplo, la auto-organizacion en redes neurona-

les y la turbulencia en sistemas hidrodinamicos (ver [KL70]).

AC para explorar la formacion de patrones

Los AC se pueden tratar como sistemas dinamicos discretos y abstractos, que

incluyan caracterısticas de comportamiento. El objetivo principal es abstraer

los principios generales que gobiernen la formacion de estructuras que se auto-

organizen. Debido a su simplicidad, los AC ofrecen una poderosa herramienta,

tanto teorica como pratica, para investigar estas estructuras (ver [Hak83]).

AC como modelos para fısica fundamental

A traves de los AC, es posible estudiar nuevos enfoques dinamicos a la fısica

microscopica, explorando la posibilidad de que la naturaleza procesa, de manera

local y digital, sus propios estados futuros. La idea es, dado que los sistemas

universales (computacionalmente) son capaces de presentar un comportamiento

arbitrariamente complejo, hacer teorıas discretas que compitan con los modelos

Page 10: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Organizacion de la tesis 5

continuos existentes (ver [Fre93]).

1.2. Organizacion de la tesis

En el siguiente capıtulo se presentaran los conceptos basicos que surgen en la

teorıa de los AC, dando definiciones, ejemplos, aplicaciones y un resumen de su

historia. En el capıtulo 3 se presentara Game of Life, dando su definicion formal

y una demostracion de su universalidad computacional (ver tambien el Apendi-

ce B), entre otros detalles. En el capıtulo 4 se describiran los algoritmos usados

para calcular la dimension fractal de un conjunto arbitrario, y en particular de

una caminata aleatoria. En el capıtulo 5 se describiran los analisis realizados a

Game of Life, junto con los resultados obtenidos, y despues se daran las con-

clusiones a las que se han llegado. En el Apendice A se describe un algoritmo

alternativo usado para comprobar los resultados obtenidos.

Page 11: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Capıtulo 2

Automatas celulares

Los AC son una clase de sistemas matematicos deterministas y discretos espa-

cial y temporalmente, estan caracterizados por interacciones locales y una forma

de evolucion intrınsicamente paralela. El estudio de los AC ha generado un gran

interes, debido a su capacidad para crear una gran variedad de patrones con com-

portamiento muy complejo, a partir de conjuntos de reglas relativamente simples.

Ademas, parecen capturar muchas caracterısticas esenciales del comportamiento

auto-organizado observadas en muchos sistemas fısicos reales (ver [Ila02]).

2.1. ¿Que es un Automata Celular?

Aunque existe una enorme variedad de modelos de AC, cada uno cuidadosa-

mente adaptado para ajustarse a las necesidades de un sistema especıfico, la ma-

yorıa de estos usualmente poseen las siguientes cinco caracterısticas (ver [Ila02]):

Malla discreta de celdas: el substrato del sistema consiste de una malla n-

dimensional de celdas.

Homogeneidad: todas las celdas son equivalentes.

Estados discretos: cada celda toma uno de los estados finitos y discretos po-

sibles.

Interacciones locales: cada celda interactua solo con las celdas que estan en

su vecindario local.

6

Page 12: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

¿Que es un Automata Celular? 7

Dinamica discreta: en cada unidad de tiempo discreto, cada celda actualiza

su estado actual de acuerdo a una regla de transicion que toma en cuenta

los estados de las celdas en su vecindario.

Existe una simplicidad enganosa en estas caracterısticas, ya que existen AC que

muestran un comportamiento extremadamente complicado. Los AC ofrecen una

dinamica lo suficientemente rica, y pueden ser considerados como serios modelos

matematicos alternativos para una gran variedad de sistemas fısicos. Aunque es

valido pensar que los AC no son mas que idealizaciones formales de las ecua-

ciones diferenciales parciales (ver [Wol84]), su verdadero poder se halla en el

hecho de que representan una gran clase de modelos exactamente computables:

ya que, fundamentalmente, todo es discreto, no hay necesidad de preocuparse por

truncaciones o la lenta acumulacion de errores de redondeo. Cualquier propiedad

dinamica comprobada para estos modelos tomara toda la fuerza de un teorema.

Una de las propiedades mas fundamentales de un AC es el tipo de malla sobre la

cual se encuentra. La malla mas simple es una lınea recta unidimensional. En dos

dimensiones se pueden considerar mallas cuadradas, triangulares y hexagonales.

Los AC tambien pueden colocarse en mallas cartesianas en un numero arbitrario

de dimensiones (ver [Wol84]).

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

Tambien se debe especificar el vecindario sobre el cual las celdas se afectan entre

sı. La eleccion no trivial mas simple es la de los vecinos mas cercanos, en la cual

solo las celdas directamente adyacentes a una celda dada pueden ser afectadas en

cada paso de la evolucion. Dos vecindarios comunes son el vecindario de Moore

y el vecindario de von Neumann (ver [Wol84]).

Otro aspecto que hay que tener en cuenta es el tipo de lımite para la malla. Para

Page 13: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

¿Que es un Automata Celular? 8

r = 2 r = 3

r = 0 r = 1

r = 2 r = 3

r = 0 r = 1

Figura 2.2: Izquierda: vecindario de Moore - Derecha: vecindario de von Neumann(r = radio de vecindad).

esto existen dos condiciones: periodico (o toroidal) y flujo cero (o reflejante). En

condiciones periodicas, los lados opuestos de la malla se fusionan. Ası, para el

caso unidimensional las filas de celdas se convertiran en un anillo, y en el caso

bidimensional la malla se convertira en un toroide (ver la Figura 2.3). El tipo de

lımite que se considere afectara mucho la evolucion de los estados de un AC.

Figura 2.3: Malla toroidal.

2.1.1. Definicion formal de un AC

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

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

Page 14: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

¿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

Page 15: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Clasificacion de los AC 10

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

de la caja 1 de la regla (dos cuadrados blancos, a la izquierda y al centro; y un

cuadrado negro, a la derecha), ası el cuadrado central, blanco, se hara negro en

el paso 2. Avanzando un cuadrado mas a la derecha, se tendra la combinacion

que corresponde a la caja 2 de la regla (blanco-negro-blanco), ası el cuadrado

negro del centro consevara su color al siguiente paso. Se continua recorriendo un

cuadrado a la derecha y aplicando la regla, hasta abarcar todos los cuadrados del

paso 1. Se repite este procedimiento iterativamente, tomando como entrada los

cuadrado del paso 2 para obtener el paso 3, y ası sucesivamente. Idealmente, la

regla para un AC se aplica a todas las celdas al mismo tiempo (es decir, la regla

se deberıa aplicar en paralelo, ver [Ila02]).

Paso 1Paso 2Paso 3Paso 4Paso 5Paso 6

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

La regla 254 muestra un comportamiento muy simple (al menos para la configu-

racion inicial usada). Existen reglas que tienen un comportamiento mucho mas

complejo (bajo las mismas configuraciones iniciales), como la regla 30, que se

muestra en la Figura 2.6.

2.2. Clasificacion de los AC

Stephen Wolfram propuso un esquema de clasificacion para dividir las reglas

de AC (en particular los unidimensionales) en cuatro categorıas, de acuerdo a

los resultados de evolucionar el sistema a partir de un estado inicial desordenado

(pseudo-aleatorio, ver [Wol84]). La categorıas son las siguientes:

CLASE I (homogeneidad). Los AC evolucionan, despues de un numero finito

de pasos a partir de la mayorıa de las condiciones iniciales, a un unico estado

homogeneo, en el cual todas las celdas tienen el mismo valor. Ejemplos:

reglas 0, 4, 16, 32, 36, 48, 54, 60 y 62.

Page 16: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Clasificacion de los AC 11

0 0 0 1 1 1 1 0

Tiempo

= 30

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

CLASE II (periodicidad). Los AC evolucionan, despues de un numero finito

de pasos a partir de la mayorıa de las condiciones iniciales, a una serie de

configuraciones fijas u oscilantes. Ejemplos: reglas 8, 24, 40, 56 y 58.

CLASE III (caos). La mayoria de las condiciones iniciales conducen a patro-

nes no periodicos (caoticos). Despues de cierta cantidad de pasos, las pro-

piedades estadısticas de estos patrones son comunmente las mismas para

la mayorıa de los estados iniciales. Ejemplos: reglas 2, 6, 10, 12, 14, 18, 22,

26, 28, 30, 34, 38, 42, 44, 46 y 50.

CLASE IV (complejidad). La evolucion conduce a complejas estructuras lo-

calizadas, en ocasiones de larga duracion. Surgen configuraciones que se

propagan y estructuras estables o periodicas con comportamiento comple-

jo, que persisten por un tiempo infinito. Ejemplos: reglas 20, 52 y 110.

El esquema de clasificacion de Wolfram falla al capturar la idea de Computacion

Universal. Esta falla se debe a que la clasificacion se basa en la evolucion de un

estado inicial desordenado (ver [Epp00]). Sin embargo, este esquema de clasifi-

cacion es muy aceptado actualmente.

La Figura 2.7 muestra ejemplos de las clases de Wolfram.

Page 17: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Aplicaciones de los AC 12

Clase IIIClase IV

Clase IClase II

Figura 2.7: Ejemplos de las clases de Wolfram.

2.3. Aplicaciones de los AC

Las aplicaciones de los AC son diversas y numerosas (ver [Ila02]). Fundamen-

talmente, los AC constituyen universos totalmente conocidos. Nuestro universo

esta sometido a las leyes de la fısica. Estas leyes solo se conocen parcialmente y

parecen ser altamente complejas. En un AC las leyes son muy simples y comple-

tamente determinadas. Es posible probar y analizar el comportamiento global de

un universo simplificado, por ejemplo:

Simulacion del comportamiento de un gas. Un gas esta compuesto de un

conjunto de moleculas cuyo comportamiento depende de el de las moleculas

vecinas.

Estudio del electromagnetismo de acuerdo al modelo de Ising. Este modelo

representa el material como una red en la cual cada uno de los nodos

esta en un estado magnetico dado. Este estado – en este caso el de las dos

orientaciones de los spins de ciertos electrones – depende del estado de los

nodos vecinos.

Simulacion de procesos de filtracion.

Simulacion de la propagacion de los incendios forestales.

Se pueden usar como una alternativa a las ecuaciones diferenciales.

Page 18: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

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

Page 19: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Antecedentes historicos 14

encontraba trabajando en el laboratorio Los Alamos, Stanislaw Ulam estudiaba

el crecimiento de cristales, usando un modelo de mallas. Al mismo tiempo (en la

decada de 1940) John von Neumann, colega de Ulam en Los Alamos, trabajaba

en el problema de sistemas auto-replicantes. El diseno inicial de von Neumann

se basaba en la nocion de un robot que construye a otro robot. Mientras desa-

rrollaba su diseno, von Neumann se percato de la gran dificultad para construir

un robot auto-replicante, y del gran costo que era proporcionar al robot de una

gran cantidad de partes para construir a su replica. Ulam sugirio a von Neumann

que desarrollara su diseno como una abstraccion matematica, como la que Ulam

uso para estudiar el crecimiento de cristales. Ası fue como surgio el primer sistema

de AC (ver [Wol02]). En la decada de 1970, Game of Life, un AC bidimensional

con dos estados para cada celda, se volvio ampliamente conocido, en especial

entre los primeros grupos informaticos. Fue inventado por John Conway, y fue

popularizado en un artıculo de la revista Scientific American (ver mas detalles

en el Capıtulo 3).

En 1983 Stephen Wolfram publico el primero de una serie de artıculos que in-

vestigaban los AC elementales (ver la pagina 9). La complejidad inesperada del

comportamiento de esas reglas simples llevo a Wolfram a sospechar que la com-

plejidad en la naturaleza podrıa deberse a mecanismos similares a los AC. El

siguiente cuadro menciona algunos logros historicos en el estudio de los AC y los

sistemas complejos (ver [Ila02]).

Page 20: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Antecedentes historicos 15

Ano Investigador Logro

1936 Alan Turing Formalizo el concepto de computabilidad;Maquina Universal de Turing.

1948 von Neumann Abstrajo la estructura logica de la vida;introdujo los automatas auto-reproductivoscomo un medio para desarrollar unabiologıa reduccionista.

1950 Ulam Propuso la necesidad de tener modelos masrealistas del comportamiento de sistemascomplejos extendidos.

1966 Burks Termino y describio el trabajo de von Neumann.1967 von Bertalanffy, et al Teorıa de sistemas aplicada a sistemas humanos.1969 Zuse Introdujo el concepto de “Espacios compu-

tacionales”, o modelos digitales de mecanismos.1970 Conway Presento la regla para AC bidimensionales

Game of Life.1977 Toffoli Aplico directamente los AC para modelar leyes

fısicas.1983 Wolfram Escribio un importante artıculo en donde

analizo las propiedades de los AC, este artıculoestablecio el campo de los AC como un propositode investigacion para los fısicos.

1984 Cowan, et al Fundaron el Instituto Santa Fe, que sirviocomo un distinguido centro para el estudiointerdisciplinario de los sistemas complejos.

1984 Toffoli, Wolfram Primera conferencia sobre AC en el MIT, Boston.1987 Langton Primera conferencia sobre Vida Artificial, en

el Instituto Santa Fe.1992 Varela, et al Primera conferencia Europea sobre Vida

Artificial.

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

Page 21: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Capıtulo 3

Game of Life

Tal vez el AC mas ampliamente conocido sea Game of Life, inventado por

John H. Conway. Game of Life se juega en un vecindario de Moore con 9 veci-

nos, y consiste en (1) alimentar una malla con algun patron de celdas activas e

inactivas (celdas con valores 1 y 0, respectivamente), y (2) aplicar simultanea y

repetidamente las siguientes tres reglas en todas las celdas de la malla en pasos

de tiempo discretos:

Nacimiento: reemplazar una celda previamente muerta con una activa si exac-

tamente tres de sus vecinos estan activos.

Muerte: reemplazar una celda previamente activa con una inactiva si (1) la

celda activa no tiene mas de un vecino activo, o (2) la celda activa tiene

mas de tres vecinos activos.

Sobrevivencia: Mantener activas las celdas que tengan dos o tres vecinos acti-

vos.

(En la Figura 3.1 se muestra un ejemplo de la aplicacion de estas reglas.)

En este trabajo los lımites de la malla para Game of Life seran de flujo cero (ver

el Capıtulo 2, pagina 8). Este es un aspecto muy importante a considerar, ya

que una misma configuracion inicial de Game of Life puede mostrar resultados

totalmente diferentes dependiendo de los lımites de la malla donde se encuentra,

16

Page 22: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

17

0

0

0

0

0

0

0

0

0

0

1 1 1

1 11

2

2 2

2

3 3

1

1

2

Figura 3.1: Aplicacion de las reglas de Game of Life (los numeros indican lacantidad de vecinos activos en cada celda).

debido a que sus reglas muestran un comportamiento complejo y caotico (ademas

de ser muy sensible a las condiciones iniciales, ver la Figura 3.2).

0

0 0 0

0 0

1

1

11

0

0

00

0

0

0

0

0

00 0

0 11

1

1

1 1

1

1

0

0 0 0 0

0

0

0

0

0

0 0000 00

1

0 0 0 0 0

0 0 0

0

0

1

1

11 1 1

1 1

0

2

23 2

22

(b)

(a)

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

Page 23: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Definicion formal de Game of Life 18

3.1. Definicion formal de Game of Life

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

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

Life pueden identificarse con un codigo (ver el capıtulo 2, pagina 9). Este codigo

se obtiene de la ultima columna del cuadro siguiente, el cual indica el valor que

adquirira una celda dependiendo del valor de sus vecinos:

Valor de Vecinos Vecinos Nuevola celda activos inactivos Valor

0 0 8 01 0 8 00 1 7 01 1 7 00 2 6 01 2 6 10 3 5 11 3 5 10 4 4 01 4 4 00 5 3 01 5 3 00 6 2 01 6 2 00 7 1 01 7 1 00 8 0 01 8 0 0

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

La ultima columna muestra el numero binario 000000000011100000 = 11100000,

224 en decimal, el cual es el codigo para Game of Life. Resumiendo:

Page 24: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Parametro de Langton 19

σi,j(t + 1) = φLIFE [σ(t) ∈ NMOORE] = (3.1)

=

σi,j(t), si Σσ∈NMOOREσ(t) = 2,

1, si Σσ∈NMOOREσ(t) = 3,

0, en otro caso

donde Σσ∈NMOOREσ es una suma sobre todos los valores en el vecindario de Moore

de un sitio central dado, σi,j, al tiempo t.

3.2. Parametro de Langton

Langton, enterado de la clasificacion de Wolfram descrita en el capıtulo an-

terior, se propuso investigar tablas de reglas que se obtuvieron aleatoriamente

(ver [Ada98]). Especıficamente, esto fue realizado para automatas celulares so-

bre una malla regular bidimensional, con k = 8 estados y vecindario de von

Neumann. En lugar de probar todas las 832768 reglas posibles, estas fueron mues-

treadas aleatoriamente, pero siguiendo el rastro de cuantos vecindarios (de los

85 posibles) eran mapeados al estado inactivo. Para esto, Langton definio el

parametro λ, el cual representa la probabilidad de que un vecindario en una

regla particular se mapee a un estado activo. Las tablas de reglas con λ = 0

son aburridas: nada puede suceder. Si λ aumenta ligeramente, algunas regiones

en el arreglo pueden mantener cierta actividad durante un tiempo, la cual, sin

embargo, morira eventualmente. Este comportamiento muy semejante al de las

reglas de Clase I. Cuando λ es aproximadamente 0,2 (20 % de los vecindarios se

mapean a cualquiera de los siete estados activos), el comportamiento cambia a

un nuevo patron. Los estados activos son persistentes, o hay propagacion cons-

tantemente en una direccion fija. Aquı se reconoce el comportamiento de reglas

de Clase II en el esquema de Wolfram. Si λ crece a cerca de 0,3, la actividad en

el arreglo nuevamente cambia bastante, apareciendo complejas e impredecibles

Page 25: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Parametro de Langton 20

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

mas interesante. Para valores de λ del orden de 0,5 o mas, los centros de acti-

vidad estan tan cerca de otros que el caos reina y las estructuras complejas no

pueden sobrevivir, como se describe por la clase III de Wolfram. Conforme λ se

aproxima a 1, la dinamica vuelve a ser menos interesante, y la mayorıa de las

reglas resultan en sitios activos y el arreglo no muestra estructuras ni interac-

ciones localizadas, lo que corresponde nuevamente a reglas de la Clase I. Hasta

cierto punto, el parametro λ parece establecer la temperatura del mundo com-

putacional. Se hara un enfoque en la region 0,2 ≤ λ ≤ 0,4, donde toma lugar la

dinamica mas interesante, cuyas reglas pertenecen a la Clase IV, y son las mas

prometedoras respecto a la computacion universal.

3.2.1. Parametro de Langton para Game of Life

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

of Life. Para esto, hay que encontrar el numero posible de configuraciones para

los vecindarios, es decir, de cuantas maneras puede haber un vecino activo, dos

activos, etc.

Vecinos Combinaciones Resultadoactivos

0 1 01 8 02 28 13 56 14 70 05 56 06 28 07 8 08 1 0

Cuadro 3.2: Distribucion de las configuraciones que dan resultado activo pornumero de vecinos.

Page 26: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Importancia de Game of Life 21

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

84/256 ≈ 0.328, lo cual indica que las reglas de Game of Life corresponden a

la clase IV de Wolfram (complejidad).

3.3. Importancia de Game of Life

Una caracterıstica notable de Game of Life es (aunque a primera vista no se

observe), siendo de clase IV, su habilidad de dar lugar a complejos patrones orde-

nados a partir de un estado inicial desordenado, o sopa primordial (ver [Ila02]).

Lo que distingue a este sistema de otros que puedan ser estudiados, y que real-

mente hace notable a Game of Life, es que se ha demostrado que es capaz de

computacion universal.

Aunque el significado formal de esta declaracion se discutira con mayor detalle

mas adelante en este capıtulo, puede apreciarse su profunda implicacion informal-

mente. Por la virtud de ser una computadora universal, una eleccion adecuada de

las condiciones iniciales puede asegurar que Game of Life lograrıa realizar proce-

dimientos algorıtmicos arbitrarios, es decir, Game of Life puede servir como una

computadora de uso general.

Dada cualquier conjetura matematica computable, C por ejemplo; es posible en-

contrar un patron inicial finito para Game of Life, Σ0, de forma que ΦNLIFE [Σ0] =

~0, para un paso finito N , si y solo si la conjetura C es verdadera.

Observese que lo que es realmente interesante no es que Game of Life por sı mis-

mo pueda ser usado como una computadora digital comun para calcular√

2 o

una Transformada Rapida de Fourier, sino el hecho de que en principio pueda

hacerlo implica su complejidad dinamica latente. Ya que existen lımites funda-

mentales sobre la previsibilidad de las computadoras universales1, los mismos

lımites deben aplicarse a la evolucion general de Game of Life.

En terminos de Game of Life, esto significa que, en general, no es posible decir

si una configuracion inicial en particular desaparecera. Ya que Game of Life es

capaz de todos y cada uno de los calculos que realiza una computadora conven-

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

Page 27: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Demostracion de que Game of Life es universal 22

cional, se puede decir que, en este sentido, esta regla aparentemente irrelevante

es realmente capaz de presentar un comportamiento arbitrariamente complicado.

3.3.1. Ingredientes para la universalidad

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

en mostrar que todos los bloques necesarios de una computadora convencional

pueden ser construidos con patrones de Game of Life (ver el Apendice B). De

esta forma, dado un patron que represente un programa arbitrario, un patron

que represente una computadora realizara las instrucciones del programa y pro-

ducira el resultado deseado, expresado en terminos de un patron de Game of

Life. Por ejemplo, los calculos numericos podrıan involucrar patrones finales que

consistan de un cierto numero de gliders en un area particular de la malla.

La prueba procede de la observacion de cada uno de los cuatro elementos primiti-

vos esenciales para un calculo: el almacenamiento (el cual necesita una memoria

interna), transmision (que requiere un reloj interno y cables) y el procesamiento

de informacion (con compuertas AND, OR y NOT). Cada uno de estos ele-

mentos debe implementarse por la evolucion de patrones adecuados de Game of

Life.

3.4. Demostracion de que Game of Life es uni-

versal

Tal vez la forma mas sencilla de demostrar que un sistema es capaz de compu-

tacion universal (y de hecho la forma mas directa), sea demostrar que el sistema

en cuestion es formalmente equivalente a otro sistema que ya ha sido demostrado

ser una computadora universal. En esta seccion se hara un bosquejo de una prue-

ba de la universalidad computacional de Game of Life al construir explıcitamente

los equivalentes dinamicos de todos los ingredientes computacionales requeridos

por una computadora digital convencional (ver [Ila02]).

Page 28: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Demostracion de que Game of Life es universal 23

Aunque el diseno preciso de una computadora pueda ser complejo, sus ingredien-

tes basicos, o conjunto de elementos primitivos computacionales, son pocos y

relativamente simples. Ademas de tener alguna forma de senales de corrientes de

bits, se necesitan conductos o cables para esas senales. Es necesario enrutar de

alguna manera a las senales, ya sea por redireccion (por ejemplo, desviando una

senal 90o) o enviando multiples copias de una corriente de bits dada en diferentes

direcciones. Se necesita un reloj interno, o contador, para introducir cualquier

retraso necesario al construir circuitos. Tambien se necesita una memoria (poten-

cialmente infinita), un requisito que tambien se puede cumplir con una memoria

de tamano finito pero que pueda almacenar numeros arbitrariamente grandes

(ver [Min67]); y se necesita un conjunto de compuertas logicas universales, como

AND, OR y NOT, a partir de las cuales se pueden obtener otras funciones y

operaciones logicas. Una vez que se pueda demostrar que un sistema dado so-

porta estas primitivas computacionales, la construccion de circuitos realmente

funcionales de una computadora convencional se convierte en poco mas que un

ejercicio formal de creacion de sımbolos/bloques.

La prueba original aparece en el trabajo de Berkelamp, Conway y Guy (ver [BCG82]).

Otras discuciones se encuentran en el trabajo de Langton (ver [Lan90]) y el libro

de Poundstone (ver [Pou84]). Antes de seguir con esta seccion, el lector podrıa

querer familiarizarse con la zoologıa de los patrones de Game of Life, incluyendo

los patrones glider y glider-gun (ver el Apendice B).

3.4.1. Bits ⇐⇒ Gliders

Se comienza por postular la equivalencia entre, por un lado, los pulsos electri-

cos y bits en una senal de corriente de pulsos en las computadoras fısicas y, por

el otro lado, los gliders y corrientes de gliders en Game of Life. La presencia de

un glider denotara el hecho de que el bin correspondiente en la corriente fısica

de pulso tiene un valor de bit 1, y la auscencia de un glider denotara el valor

de bit 0. Se sabe que los glider-guns pueden crear una corriente constante de

gliders (se produce un glider una vez cada 30 pasos de tiempo). Sin embargo, dos

o mas corrientes de gliders moviendose en cursos intersectados no pueden cruzar

Page 29: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

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.

Page 30: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

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.

Page 31: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Demostracion de que Game of Life es universal 26

3.4.3. Compuertas logicas

Se usaran las construcciones anteriores para crear un conjunto universal de

compuertas logicas: AND, OR y NOT (ver la Figura 3.5). La compuerta OR

es la mas facil de construir; de hecho, ya ha sido construida como un elemento

del circuito thin-glider-gun. De la Figura 3.5-a, supongase que la entrada A es

alguna corriente de gliders codificada. Una vez en la compuerta, todos los gliders

en esta corriente de entrada se aniquilan cuando colisionan con gliders en una

corriente de gliders no-codificada, producida por un thin-glider-gun. Los unicos

gliders que surgen de la compuerta NOT son aquellos que estaban en la corriente

original del thin-glider-gun y que no fueron aniquilados por los gliders de A.

En la compuerta AND (Figura 3.5-b), dos corrientes de entrada, A y B, entran

a la compuerta en paralelo. Los gliders de un glider-gun se mueven en un curso

perpendicular y hacia un eater, con una sincronizacion tal que las colisiones entre

los gliders en esta corriente y aquellos de las dos entradas se aniquilan mutua-

mente. Dado que los gliders de A estan atrasados en tiempo por una cantidad

igual a la distancia entre las dos reacciones de aniquilacion (ver abajo), deberıa

ser evidente que un glider logra llegar a la corriente de salida si y solo si las dos

ranuras correspondientes en A y B contienen gliders. La operacion de la com-

puerta OR, esquematizada en la Figura 3.5-c, procede de forma similar.

3.4.4. Atrasos de tiempo

Anteriormente se menciono que para que la compuerta AND opere adecua-

damente, los gliders de la entrada A deben estar atrasados por un tiempo igual

a la distancia entre las dos reacciones de aniquilacion. Los mismo es cierto para

la operacion de la compuerta OR.

El retraso temporal de senales se construye a partir de compuertas NOT. La idea

es simplemente construir una desviacion, que consiste de tantos pasos como sea

necesario para el atraso, y despues dirigir la corriente de senales de regreso a su

curso original. La Figura 3.6 muestra el esquema para este retraso usando cuatro

compuertas NOT. El primer NOT niega la corriente de entrada y la desvıa 90o.

La segunda compuerta restaura el contenido de la senal original y la desvıa otros

Page 32: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Demostracion de que Game of Life es universal 27

E

B A AND B

A

G

NOT A

A

Desaparece

T

(a) (b)

G

A

B

T

E

E

A OR B

(c)

Figura 3.5: Esquemas de las compuertas NOT (a), AND (b) y OR (c).

90o. Las compuertas tercera y cuarta repiten el proceso, de forma que el resulta-

do sea la senal original que emerge del circuito con la misma direccion que tenıa

pero atrasado en tiempo por el tiempo que halla tomado la desviacion. Otras

configuraciones de compuertas NOT pueden atrasar y redirigir senales por 180o

y/o cambiarlas hacia corrientes laterales (es decir, rotarlas 90o). Esta capacidad

se encuentra en el circuito de copiado de corrientes de gliders.

NOT

NOT NOT

NOT

Figura 3.6: Esquema de un circuito de atraso de tiempo usando cuatro compuer-tas NOT.

Page 33: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Demostracion de que Game of Life es universal 28

3.4.5. Copiador de corrientes de gliders

Esencialmente, serıa una tarea imposible construir cualquier circuito compu-

tacional util sin ser capaz de dirigir multiples copias de corrientes de senales.

El conjunto de herramientas que se ha definido hasta ahora permiten redirigir

corrientes de gliders a direcciones paralelas de movimiento; sin embargo hasta

ahora no existe una disposicion para compensar la direccion de una senal dada

por 90o, o para hacer copias de una senal. Uno de los circuitos mas simples que

resuelven estos dos problemas fue creado por Conway y se muestra en la Figura

3.7.

1111111

111

00000000?0

000000000?

Copia original

111111?00?

000000000?

Copia111111?000

000000?000_

Copia negada

E

0000001000

0000000001T

T

OR

T

Figura 3.7: Representacion de un copiador de corrientes de gliders. E = eater,T = thin-glider-gun y K = reaccion kickback.

Page 34: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Demostracion de que Game of Life es universal 29

El circuito de Conway usa la reaccion kickback para enviar gliders de re-

greso a su propia corriente de senal. Supongase que se tiene un thin-glider-gun

de factor 4 (es decir, que una corriente de datos no codificada consiste de la

secuencia ‘111111 . . .’), y que un glider pasa por un punto dado a lo largo de

la direccion de su movimiento cada 4 × 30 = 120 pasos de tiempo. Tambien

supongase que la corriente de senal codificada ha sido adelgazada por otro fac-

tor de 10. Dicho esto, supongase que las nueve posiciones glider-bit de periodo

120 siempre estan vacıas (= 0), y que es solo la decima posicion glider-bit la

que puede o no contener un glider-bit codificado. Por ejemplo, la senal codifi-

cada ‘011’ se adelgazarıa a una representacion de corriente de gliders dada por

‘000000000000000000010000000001’. En la Figura 3.7, se ha indicado el valor de

esta decima posicion de glider-bit con un signo de interrogacion.

El circuito de Conway funciona como sigue. La corriente de datos de entrada,

que se va a copiar, entra en una compuerta OR localizada arriba a la izquierda.

La otra entrada a la compuerta OR es la salida de un thin-glider-gun (de fac-

tor 40) cuya corriente de gliders es tal que la novena posicion glider-bit siempre

contiene un glider. La compuerta OR combinara estas dos senales para producir

un resultado que consista de una corriente de gliders que siempre tiene el mismo

conjunto glider-bit como la senal original codificada, y siempre contiene un glider

en la novena posicion; se representa con la secuencia ‘000000001?’.

Ahora considerese lo que ocurre cuando esta secuencia encuentra una reaccion

kickback. Si ? = 1, hara kickback en el primer glider en la corriente ‘111 . . . que

desciende, creando una colision con amontonamiento. Sin embargo, cuando el

glider codificado se aniquila, el glider tras el en la novena posicion pasara por la

region de reaccion kickback sin afectarse. La salida es la secuencia ‘0000000010’.

Si ‘? = 0’, el primer glider en la secuencia ‘111 . . .’ pasara sin afectarse, pero

el noveno glider tras la posicion codificada glider-bit hara kickback en el si-

guiente glider en la corriente ‘111 . . .’. Por lo tanto, la corriente de salida no

contendra gliders, y estara dada por ‘0000000000’. En resumen, si la posicion

codificada glider-bit contiene un glider bit ‘?’, la salida de la reaccion kickback

estara dada por ‘00000000?0’; es decir, contendra la misma informacion que la

senal original pero el glider bit estara atrasado por una posicion.

Considerese lo que pasa con la corriente de gliders que desciende ‘111 . . .’ des-

Page 35: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Demostracion de que Game of Life es universal 30

pues de que entra a la region de la reaccion kickback. Es facil ver que la reaccion

kickback siempre elimina exactamente tres gliders. Si la secuencia codificada que

entra en la region kickback contiene un glider en la decima posicion (? = 1),

entonces la reaccion kickback elimina los primeros tres gliders en la corriente que

desciende; si la secuencia codificada que entra en la region kickback no contie-

ne un glider en la decima posicion (? = 0), entonces el glider delantero en la

corriente descendiente queda solo, pero los siguientes tres gliders se eliminan en

la reaccion kickback. Esquematicamente, la salida esta dada por ‘111111?00?’,

donde ? ≡ NOT(?).

A continuacion, esta corriente descendiente colisiona con una corriente adelgaza-

de de gliders transversal, que consiste unicamente de posiciones glider-bit vacıas

excepto por la decima, la cual siempre contiene un glider. Por lo tanto, la co-

rriente de salida en la derecha puede tener un glider solo en esta ultima posicion,

y solo cuando el ? en la corriente descendiente esta vacıo. En otras palabras,

la posicion delantera en la salida de la derecha es NOT [NOT(?)] =?, ası que

la salida es una replica perfecta de la corriente original de gliders codificados:

‘000000000?’.

Por lo tanto el circuito de Conway tiene un total de tres salidas: una es una repli-

ca exacta, otra es una copia fiel pero con los glider-bits de informacion cambiados

en una posicion, y la tercera es una copia negada de la senal original y con las

salidas paralelas a la direccion del movimiento de la senal original.

3.4.6. Almacenamiento de memoria

Mientras que una memoria finita se puede implementar facilmente con cables

y compuertas logicas, la construccion de una memoria arbitrariamente grande

necesita un poco mas de trabajo.

Una maquina universal de Turing usa una cinta arbitrariamente larga como un

dispositivo de almacenamiento de memoria potencialmente infinito. Para esta

demostracion, Conway uso la idea de Minsky de que una memoria potencialmen-

te infinita puede ser obtenida almacenando numeros arbitrariamente grandes en

registradores de memoria. La idea se esquematiza en la Figura 3.8.

Page 36: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

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)

Page 37: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Una maquina de Turing en Game of Life 32

hasta que el contenido del registrador x sea igual a cero. El numero de intervalos

del reloj interno necesario para disminuir la distancia del bloque dado desde el

nivel cero, da como resultado el “valor” deseado del registrador de memoria.

Habiendo demostrado, por construccion, que cada uno de los elementos compu-

tacionales requeridos por una computadora digital convencional para su propia

computacion – (1) senales digitales de corrientes de bits, (2) cables, (3) circuitos

de redireccion, (4) un sistema de reloj interno, (5) una memoria (potencialmen-

te infinita), y (6) un conjunto universal de compuertas logicas (AND, OR y

NOT) – esta soportado por la dinamica de Game of Life, se ha demostrado que

Game of Life es universal. De hecho, de la discusion anterior, se puede decir que

cualquier circuito de computadora basado en Game of Life puede ser construido

completamente con gliders, glider-guns, eaters y bloques. ¥

3.5. Una maquina de Turing en Game of Life

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

Game of Life (ver [Ren01]). Esta limitada a tres estados y tres sımbolos. Comien-

za con dos 1’s en la cinta de la derecha. Se detendra con dos veces este numero

en la derecha. La cinta esta implementada con dos pilas y a la maquina se le

han proporcionado seis pilas de celdas. Esto se puede expandir como lo requiera

el computo. La parte de maquina de estados finitos es una arreglo de celdas de

memoria dirigidas por Estado (fila) y Sımbolo (columna).

Cada celda de memoria cicla alrededor en 240 generaciones con espacio para

un glider cada 30 generaciones. Estas ocho posiciones estan codificadas como

DV V V SSSS con la D para la direccion (1 =derecha) primero, V V V es el sımbo-

lo en la cinta y SSSS es el siguiente estado.

Page 38: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

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.

Page 39: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Capıtulo 4

Algoritmos y tecnicas de analisis

En este capıtulo se introducen los conceptos de fractal y dimension fractal, in-

cluyendo dos tecnicas para calcularla: el algoritmo DFA y el exponente de Hurst.

El calculo de la dimension fractal es uno de los objetivos de este trabajo.

4.1. Fractales

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

auto-similitud, en un sentido un poco tecnico e incluso en el sentido estadıstico, a

todas las escalas. No es necesario que el objeto exhiba exactamente la misma es-

tructura en todas las escalas, pero sı debe presentar el mismo tipo de estructuras.

Se sabe que los fractales poseen infinitos detalles, y es posible que realmente ten-

gan una estructura auto-similar que ocurra a diferentes niveles de ampliacion.

En muchos casos, un fractal puede ser generado al repetir un patron usando

procesos iterativos o recursivos. El termino fractal fue introducido en 1975 por

Benoit Mandelbrot, a partir de la palabra fractus en Latın, y no de la palabra

fraccional, como se cree comunmente (ver [Man82]).

Muchos tipos de fractales fueron originalmente estudiados como objetos ma-

tematicos. La geometrıa fractal es la rama de las matematicas que estudia las

propiedades y comportamientos de los fractales. Describe muchas situaciones que

pueden ser difıciles de explicar con geometrıa clasica (ver [PJS92]).

34

Page 40: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Fractales 35

4.1.1. Notas sobre fractales

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

Karl Weiertrass, apoyandose en el analisis economico, invento una funcion con

la propiedad de ser contınua pero no diferenciable, la grafica de esta funcion

fue llamada fractal. En 1904, Helge von Koch, insatisfecho con la definicion tan

abstracta y analıtica de Weiertrass, dio una definicion mas geometrica de una

funcion similar, que ahora se conoce como el copo de nieve de Koch. Mas ade-

lante, la idea de curvas auto-similares fue tomada por Paul Pierre Levy, quien

en 1938 con su artıculo Plane or Space Curves and Surfaces Consisting of Parts

Similar to the Whole, describio una nueva curva fractal, la Curva C de Levy

(ver [PJS92]).

Las funciones iteradas en el plano complejo fueron estudiadas en los siglos XIX

y XX por Henri Poincare, Felix Klein, Pierre Fatou y Gaston Julia, pero sin el

auxilio de graficas por computadora, carecieron de los medios para visualizar los

objetos que habıan descubierto.

Con el fin de entender objetos como los conjuntos de Cantor, algunos matemati-

cos como Constantin Caratheodory y Felix Hausdorff generalizaron el concepto de

dimension para incluir valores no-enteros. Esto fue parte del movimiento general,

en la primera parte del siglo XX, para crear la teorıa descriptiva de conjuntos.

En la decada de 1960, Mandelbrot comenzo a inverstigar la auto-similitud en

artıculos como How Long is the Coast of Britain? Statistical Self-Similarity and

Fractional Dimension (ver [PJS92]).

Una vez que se aplicaron tecnicas de visualizacion por computadora, se pre-

sento un poderoso argumento para que la geometrıa fractal enlazara dominios

mucho mayores de las matematicas y la ciencia, particularmente en dinamica

no-lineal, teorıa del caos, y complejidad. Un ejemplo es graficar el metodo de

Newton como un fractal, mostrando como los lımites entre diferentes soluciones

son fractales. Tambien se ha usado la geometrıa fractal para compresion de datos

y modelado de sistemas organicos complejos y sistemas geologicos (ver [PJS92]).

Page 41: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Fractales 36

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

4.1.2. Dimension fractal

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

curva. Normalmente, un punto tiene dimension 0, una lınea dimension 1, las

superficies dimension 2, y los volumenes dimension 3. Las anteriores son dimen-

siones topologicas. Sin embargo, una curva rugosa que recorre una superficie,

puede ser tan rugosa que la llene casi por completo. Se puede pensar que la ru-

gosidad es un incremento en la dimension: una curva rugosa tiene una dimension

entre 1 y 2, y una superficie rugosa tiene una dimension entre 2 y 3.

Para calcular la dimension fractal se usan los conceptos de lımite, logaritmo, es-

calas y medidas. En el calculo de la dimension de fractales muy complejos como

el conjunto de Mandelbrot se usan computadoras, pero para fractales mas sim-

ples se usan formulas matematicas (ver [PJS92]).

Como ejemplo se hara el calculo de la dimension fractal para el triangulo de

Sierpinski, usando el metodo llamado similitud por duplicacion (ver [Man82]).

Al tomar un segmento de recta de longitud 1 y duplicarlo, se tendran dos seg-

mentos iguales al original:

Page 42: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Fractales 37

Si se duplican los lados de un cuadrado de lado 1, se tendran cuatro cuadra-

dos iguales al original:

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

medidas, se obtendran 8 cubos iguales al original:

La siguiente tabla muestra estos datos:

Figura Dimension # de copias

Lınea 1 2 = 21

Cuadrado 2 4 = 22

Cubo 3 8 = 23

Similitud al duplicar d n = 2d

Page 43: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Fractales 38

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

D =log F

log 2(4.1)

Esta formula se puede usar para calcular la dimension fractal del triangulo de

Sierpinski, ya que al duplicar la longitud de los lados, se obtiene otro triangulo

de Sierpinski semejante al primero, que contiene a su vez tres triangulos de la

misma escala que el primero; por lo tanto F = 3:

Usando la formula 4.1:

D =log 3

log 2≈ 1,59496 . . . (4.2)

4.1.3. Categorıas de fractales

Los fractales se pueden agrupar en tres amplias catagorıas. Estas se determi-

nan de acuerdo a la forma en que un fractal se define o genera:

Sistemas de funciones iteradas. Tienen una regla fija de reemplaza-

miento geometrico. Ejemplos: tapete de Sierpinski, curva de Peano y es-

ponja de Menger.

Tiempo-escape. Se definen por una relacion de recurrencia en cada punto

del espacio. Ejemplos: conjunto de Mandelbrot y fractal de Lyapunov.

Fractales aleatorios. Generados por procesos estocasticos en lugar de

deterministas. Ejemplos: vuelos de Levy.

Page 44: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Series de tiempo 39

Hay que resaltar que no todos los objetos auto-similares son fractales, por ejem-

plo, una lınea real (una lınea recta Euclıdea) es exactamente auto-similar, pero el

argumento de que los objetos Euclıdeos son fractales es una posicion minoritaria.

Mandelbrot discutio que la definicion de fractal deberıa incluir no solo fractales

verdaderos, sino tambien objetos Euclıdeos tradicionales, debido a que los nume-

ros irracionales sobre la recta numerica representan propiedades complejas no

repetitivas (ver [PJS92]).

Figura 4.2: Conjunto de Mandelbrot.

4.2. Series de tiempo

En estadıstica y, aunque no siempre, en procesamiento de senales, una serie

de tiempo es una secuencia de datos, comunmente medidos en tiempos sucesi-

vos, espaciados en intervalos de tiempo uniformes. El analisis de series de tiempo

abarca metodos que intentan comprender estas series, ya sea para entender la

teorıa subyacente a los datos (¿de donde vienen?, ¿como se generaron?), o para

hacer predicciones. Prediccion de series de tiempo es el uso de un modelo para

predecir eventos futuros basandose en eventos pasados conocidos: predecir datos

futuros antes de que sean medidos.

Los modelos para las series de tiempo pueden tener muchas formas. Dos amplias

Page 45: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Series de tiempo 40

clases de importancia practica son los modelos movimiento promedio, y los mo-

delos auto-agresivos (ver [KML99]).

Existen varias notaciones diferentes para usar en analisis de series de tiempo:

X = {X1, X2, X3, . . .} (4.3)

es una notacion comun que especifica una serie de tiempo indexada por los nume-

ros naturales. Algunas herramientas para investigar series de tiempo son:

Considerar la funcion de autocorrelacion.

Realizar una transformada de Fourier para investigar las series en el domi-

nio de frecuencias.

Usar un filtro para retirar ruido indeseado.

Redes neuronales artificiales.

4.2.1. Mapeo de series de tiempo a procesos auto-similares

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

y(t) ≡d aαy

(t

a

)(4.4)

donde ≡d significa que las propiedades estadısticas de ambos lados de la ecua-

cion son identicas (ver [KML99]). En otras palabras, un proceso auto-similar

y(t), con un parametro α tiene la distribucion de probabilidad identica como un

proceso correctamente reescalado, aαy(t/a), es decir, una serie de tiempo que ha

sido reescalada en el eje x por un factor a(t → t/a) y en el eje y por un factor

aα(y → aαy). El exponente α se llama parametro de auto-similitud.

La Figura 4.3 muestra una serie de tiempo auto-similar. Se observa que con la

eleccion adecuada de factores de escala para los ejes x e y, la serie de tiempo

reescalada se asemeja a la serie original. El parametro de auto-similitud de la

ecuacion 4.4 se puede calcular con la relacion:

Page 46: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Series de tiempo 41

log ny

P(y)

log

s

2n n

1

t

y M y y

x

(a) (b)

(c) (d)nn

1

2

Pendiente = α

M t

Figura 4.3: Concepto de auto-similitud en series de tiempo. En (a) se muestrauna serie de tiempo con ventana n2; (b) es una ampliacion a la serie, con unaventana n1. (c) Funcion de densidad de probabilidad, P (y), de la variable y paralas dos ventanas, con desviaciones estandar s1 y s2. En (d) se grafica (en log-log)la escala de la fluctuacion, s, contra el tamano de la ventana, n.

α =log My

log Mx

(4.5)

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

respectivamente.

Para un proceso auto-similar con α > 0, la fluctuaciones crecen con el tamano de

la ventana en forma de una power-law. Por lo tanto, las fluctuaciones en grandes

ventanas de observacion son exponencialmente mas grandes que las de ventanas

mas pequenas. Como resultado, la serie de tiempo es ilimitada. Sin embargo,

la mayorıa de las series de interes son limitadas (no pueden tener amplitudes

arbitrariamente grandes, sin importar la longitud de la serie). Esta restriccion

practica complica los analisis. Considere el caso de una serie de tiempo para el

ritmo cardiaco mostrado en la Figura 4.4. Si se hace un acercamiento sobre un

subconjuto de la serie, se observa un patron aparentemente auto-similar. Para ver

esta auto-similitud no hace falta reescalar el eje y (My = 0). Por la ecuacion 4.5,

α = 0, lo cual no aporta informacion. Los fısicos y matematicos han desarrollado

una solucion innovadora para este problema. Se trata de estudiar las propiedades

Page 47: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Detrended Fluctuation Analysis 42

fractales para una serie de tiempo acumulada, en lugar de las senales originales.

Un ejemplo es la dinamica del movimiento Browniano. En este caso, la fuerza

aleatoria (ruido) que actua sobre las partıculas es limitado (similar a las series

de tiempo fisiologicas). Sin embargo, la trayectoria de una partıcula Browniana

no esta limitada y exhibe propiedades fractales que se pueden cuantificar por un

parametro de auto-similitud.

Latidos

Tiempo 1.0

1.0

1.0

0.8

0.8

0.8

0.6

0.6

0.6

0.2

0.2

0.2

0 10000 20000 30000 40000 50000 60000

24000 27000 30000 33000 36000 39000 42000

29000 30000 31000 32000 33000 34000 35000

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

En resumen, mapear una serie de tiempo limitada en una senal acumulada es un

paso importante en el analisis fractal de series de tiempo.

4.3. Detrended Fluctuation Analysis

Una definicion simplificada y general caracteriza una serie de tiempo como

estacionaria si su media, desviacion estandar y momentos superiores, ası como

las funciones de autocorrelacion, son invariantes ante traslaciones temporales.

Las senales que no obedezcan a estas condiciones son no-estacionarias. Como

se menciono anteriormente, una serie de tiempo limitada puede ser mapeada a

Page 48: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Detrended Fluctuation Analysis 43

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

puede mapearse a una caminata aleatoria unidimensional (una serie de tiempo

acumulada estacionaria). Un posible problema al aplicar este tipo de analisis

fractal a series de tiempo, es que con frecuencia son altamente no-estacionarios.

El proceso de acumulacion harıa que los datos originales no-estacionarios sean

aun mas aparentes.

Para resolver este problema, se ha presentado un analisis modificado rms1 de una

caminata aleatoria, llamado Detrended2 Fluctuation Analysis (DFA), que tam-

bien puede ser aplicado al analisis de datos biologicos. Entre las ventajas de DFA

sobre metodos convencionales (analisis espectral y analisis de Hurst), esta que

permite la deteccion de auto-similitud intrınseca en series de tiempo aparente-

mente no-estacionarias, tambien evita la falsa deteccion de auto-similitud apa-

rente, la cual puede ser un artefacto de tendencias extrınsecas. Este metodo ha

sido aplicado con exito en un amplio rango de series de tiempo, tanto simuladas

como fisiologicas, en anos recientes (ver [KML99]).

4.3.1. Algoritmo DFA

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

y(k) =k∑

i=1

[Bi − B

](4.6)

donde Bi es el i-esimo intervalo, y B es el intervalo promedio. La acumulacion

mapea la serie de tiempo original a un proceso auto-similar. A continuacion se

mide la escala vertical caracterıstica de la serie de tiempo acumulada. Para es-

to, la serie de tiempo acumulada se divide en segmentos de longitud igual, n.

En cada segmento, se realiza un ajuste lineal de mınimos cuadrados a los datos

(esto representa la tendencia del segmento). La ordenada de los segmentos de

lınea recta se denota por yn(k). Despues se hace detrend en la serie de tiempo

acumulada, y(k), restando la tendencia local, yn(k), en cada segmento. Para un

1Root mean square.2Detrend: Eliminar cualquier variacion lineal de fondo en datos de una serie de tiempo.

Page 49: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Detrended Fluctuation Analysis 44

segmento de tamano n, el tamano caracterıstico de fluctuacion para esta serie de

tiempo acumulada y con detrend se calcula con:

F (n) =

√√√√ 1

N

N∑

k=1

[y(k)− yn(k)]2 (4.7)

Este procedimiento se repite para todas las escalas de tiempo (segmentos) pa-

ra obtener una relacion entre F (n) y el tamano del segmento n. Comunmente,

F (n) se incrementara con n. Una relacion lineal en una grafica log-log indicara la

presencia de auto-similitud, o escalamiento. (Las fluctuaciones en segmentos pe-

quenos estan relacionadas con las fluctuaciones en segmentos mas grandes de

acuerdo a una power-law). La pendiente de la recta que relaciona a log F (n) con

log n determina el exponente de escalamiento α.

0 200 400 600 800 1000k

-100

0

100

200

300

400

500

yHkLyn HkL

Figura 4.5: Detrending local en el algoritmo DFA.

4.3.2. Relacion entre auto-similitud y funciones de auto-

correlacion

El parametro de auto-similitud de una serie de tiempo acumulada esta rela-

cionado con la funcion de autocorrelacion, C(τ) de la serie sin acumular. Breve-

Page 50: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Exponente de Hurst 45

mente:

Para ruido blanco donde el valor en un instante dado esta completamen-

te no-correlacionado con cualesquiera valores previos, el valor acumulado,

y(k), corresponde a una caminata aleatoria y por lo tanto α = 0,5. La

funcion de autocorrelacion, C(τ), es 0 para cualquier τ 6= 0.

Muchos fenomenos naturales estan caracterizados por correlaciones a corto

plazo, con una escala de tiempo caracterıstica, τ0, y una funcion de auto-

correlacion, C(τ), que decae exponencialmente (C(τ) ∼ exp(−τ/τ0)). La

pendiente inicial de log F (n) vs log n puede ser diferente de 0.5, pero α

llegara a 0.5 para ventanas mas grandes.

Si 0.5 < α ≤ 1.0, indica correlaciones power-law persistentes de amplio

rango (C(τ) ∼ τ−γ). La relacion entre α y γ es γ = 2− 2α. En el espectro

de potencia, S(f), de la senal no acumulada es tambien en forma de power-

law (S(f) ∼ 1/fβ). Ya que el espectro de potencia es la transformada de

Fourier de la funcion de autocorrelacion, se tiene β = 1 − γ = 2α − 1. El

caso α = 1 es de interes en fısica y biologıa (corresponde a ruido 1/f , con

β = 1).

Cuando 0 < α < 0.5, se presentan anti-correlaciones power-law, de manera

que es mas probable que valores grandes sean seguidos por valores pequenos

y viceversa.

Cuando α > 1, existen correlaciones pero dejan de ser en forma de power-

law.

α = 1.5 indica ruido Browniano, la integracion del ruido blanco.

4.4. Exponente de Hurst

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

incluyendo fractales y teorıa del caos, procesos largos de memoria (long memory)

Page 51: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Exponente de Hurst 46

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

aplicada en areas que van desde biofısica hasta redes de computadoras, siendo

inicialmente desarrollada en hidrologıa. Sin embargo, las tecnicas mas modernas

para estimar el coeficiente de Hurst vienen de matematicas de fractales.

El exponente de Hurst esta directamente relacionado con la dimension fractal.

Si H es el exponente de Hurst, y D es la dimenson fractal:

D = 2−H (4.8)

La estimacion del exponente de Hurst para una serie de datos proporciona una

medida de si los datos representan una caminata aleatoria pura o si tiene ten-

dencias subyacentes. En otras palabras, un proceso aleatorio con una tendencia

subyacente tiene cierto grado de correlacion. Cuando la correlacion tiene un decai-

miento muy largo (o matematicamente infinito), este tipo de proceso Gaussiano

es en ocasiones llamado proceso de memoria larga.

Los procesos que aparentemente son puramente aleatorios resultan mostrar es-

tadıstica de exponente de Hurst para procesos largos de memoria. Por ejemplo,

en trafico de redes computacionales. Se podrıa esperar que el trafico de una red se

simule mejor teniendo cierto numero de fuentes aleatorias, las cuales envıen pa-

quetes de tamano aleatorio por la red. Se llegarıa a una distribucion de Poisson3.

Como resultado, este modelo esta equivocado. El trafico en una red se puede

modelar mejor con un proceso que presente un exponente de Hurst no-aleatorio.

Estimacion del exponente de Hurst

Teniendo una serie de datos, la estimacion del exponente de Hurst se realiza

calculando el rango promedio rescalado sobre multiples regiones de los datos. En

estadıstica, el promedio (media) de una serie de datos X se conoce en ocasiones

como el valor esperado, E[X]. Usando esta notacion, el valor esperado de R/S,

calculado sobre un conjunto de regiones converge en la funcion potencia del ex-

ponente de Hurst:

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

Page 52: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Exponente de Hurst 47

E

[R(n)

S(n)

]= CH

n cuando n →∞ (4.9)

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

un exponente de 0.5:

E

[R(n)

S(n)

]= C0,5

n cuando n →∞ (4.10)

En ocasiones, la ecuacion 4.10 es llamada dependencia de rango corto. Esto pare-

ce razonable. Una dependencia de rango corto deberıa tener alguna correlacion,

si el exponente de Hurst es 0.5, se tratarıa de una caminata aleatoria y no exis-

tirıa autocorrelacion ni dependencia entre valores secuenciales.

Se realiza una regresion lineal sobre una serie de puntos, compuesta de log n (el

tamano de las areas en las cuales el rango promedio rescalado se calcula), y del

logaritmo del rango promedio rescalado sobre un conjunto de segmentos de ta-

mano n. La pendiente de la recta de regresion es la estimacion del exponente de

Hurst. Este metodo fue desarrollado y analizado por Mandelbrot et al en artıcu-

los publicados entre 1968 y 1979 (ver [Kap03]). El exponente de Hurst se aplica

a series de datos que son estadısticamente auto-similares.

Analisis de rango rescalado

Es un metodo estadıstico que sigue muchos tipos de fenomenos naturales.

Existen dos factores que se usan en este analisis:

El rango R, el cual es la diferencia entre los valores maximo y mınimo

acumulados o la suma acumulada de X(t, τ) del fenomeno natural, con

tiempo discretizado t de duracion τ .

La desviacion estandar S, calculada a partir de los valores Xi(t)

Hurst encontro que la proporcion R/S queda bien descrita para un gran numero

de fenomenos naturales, siguiendo la relacion empırica:

Page 53: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Exponente de Hurst 48

R

S= (c · τ)H (4.11)

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

R(τ) = maxX(t, τ)−minX(t, τ), 1 ≤ t ≤ τ (4.12)

S =

(1

τ

τ∑t=1

[ξ(t)− 〈ξ〉τ ]2) 1

2

(4.13)

donde:

〈ξ〉 =1

n

τ∑t=1

ξ(t) (4.14)

X(t, τ) =t∑

u=1

[ξ(u)− 〈ξ〉τ ] (4.15)

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

Page 54: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Capıtulo 5

Analisis de Game of Life

En este trabajo se mapeo cada uno de los estados de la evolucion de las reglas

de Game of Life a un vector en dos dimensiones, obteniendose una caminata

aleatoria, concepto que se describe brevemente a continuacion.

Caminatas aleatorias

En matematicas y en fısica, una caminata aleatoria es la formalizacion de

la idea de dar pasos sucesivos, cada uno con direccion aleatoria. Las caminatas

aleatorias son procesos estocasticos. Una caminata aleatoria es aquella que sigue

las siguientes reglas:

La caminata se realiza en dos dimensiones.

Existe un punto inicial.

La distancia entre dos puntos de la caminata es constante.

La direccion entre un punto y otro de la caminata se elige aleatoriamente,

y ninguna direccion es mas probable que otra.

Estas se reglas pueden generalizarse para caminatas en mas de una dimension, y

para el caso de pasos de longitud variable, de manera directa.

49

Page 55: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Pasos para el analisis 50

5.1. Pasos para el analisis

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

acuerdo a lo siguiente:

El tamano para el universo (malla) es de 2000× 2000 celdas.

El universo tiene lımites con flujo cero.

Las condiciones iniciales tienen una cierta cantidad de celdas activas. Esta

cantidad de celdas activas esta dada por un porcentaje del total de celdas,

cuyos valores son 15%, 20%, 25 %, 30%, 35%, 40 %, 45%, 50%, 55%,

60%, 65%, 70%, 75%, 80% y 85%. Ası, por ejemplo, la configuracion

inicial para 35% tendrıa 1,400,000 celdas activas, de un total de 4,000,000.

La posicion de cada celda activa se elige pseudo-aleatoriamente.

En cada paso de la evolucion, cada celda activa se toma como un punto en

el plano XY (ver la Figura 5.1) y se calcula el centro de masa de acuerdo

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

(Pn(i)j=1 xj

n(i),

Pn(i)j=1 yj

n(i)

). Este

calculo se repite por 20,000 pasos de evolucion.

Para cada porcentaje de celdas vivas se crearan 30 configuraciones, dando

un total de 450 configuraciones distintas, cuyos pasos de su evolucion seran

los pasos de una caminata aleatoria.

El objetivo es analizar el comportamiento de una caminata aleatoria generada

mediante Game of Life, y estimar el coeficiente de difusion en su fase lineal. Esto

ultimo se ha realizado por medio del algoritmo DFA aplicado al desplazamiento

cuadratico medio como funcion del tiempo. Otro objetivo es observar si surge un

comportamiento en forma de power-law.

A continuacion se describen los pasos para realizar el analisis:

1. Se tienen 30 series para cada porcentaje (densidad) de celdas activas.

2. En cada una de las 30 series, de cada porcentaje, obtener las coordenadas

de una caminata aleatoria. Cada caminata tendra 20,000 puntos.

Page 56: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Pasos para el analisis 51

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

-10

-9

-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

3

4

5

6

7

8

9

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

-10

-9

-8

-7

-6

-5

-4

-3

-2

-1

0

1

2

3

4

5

6

7

8

9

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

3. Calcular el desplazamiento cuadratico medio como funcion del tiempo en

cada una de las 30 configuraciones, de cada porcentaje. Centrar este des-

plazamiento restando el primer valor a todos los elementos de la serie, en

cada serie.

4. Para no tener la procupacion de si la serie de tiempo es estacionario a no,

se estudio la diferencia logarıtmica de los pasos de la serie a lag = 1.

5. Aplicar el algoritmo DFA a las series del paso anterior.

6. Realizar un ajuste lineal por mınimos cuadrados a las series del paso ante-

rior. Al promediar las pendientes de los ajustes se obtendra el parametro

α para este porcentaje de celdas activas.

Page 57: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Pasos para el analisis 52

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

parametros α (uno para cada densidad).

Desplazamiento X-14 -12 -10 -8 -6 -4 -2 0 2 4 6

Desplazamiento X-14 -12 -10 -8 -6 -4 -2 0 2 4 6

Desplazamiento Y

-15

-10

-5

0

5

10

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

0 100 200 300 400 500

Desplazamiento cuadratico

0

50

100

150

200

250

300

350

400

450

500

noGeneraci

Figura 5.3: Desplazamientos cuadraticos para configuraciones con 60 % de celdasactivas (esta grafica solo ejemplifica los pasos a seguir en el analisis, y muestrasolo cinco graficas y pasos, por claridad).

Page 58: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Resultados 53

5.2. Resultados

Con los datos obtenidos (en total 9,000,000) se calculo la dimension fractal

para las caminatas aleatorias. Para comprobar las dimensiones fractales obteni-

das, se obtuvo la dimension fractal usando el metodo box counting dimension

(BCD, ver el Apendice A). Los resultados se muestran a continuacion:

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

0.25

0.5

0.75

1

1.25

1.5

1.75

2

Dimensio’n

Dimensi’on Fractal vs densidad

Dimensio’n por BCD

Dimensio’n por DFA

Figura 5.4: Dimension fractal por ambos metodos.

Dimension fractal por DFA:

DDFA = 2− α = 1,751± 0,04193 (5.1)

Dimension fractal por BCD:

DBCD = 1,745± 0,06278 (5.2)

Page 59: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

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]).

Page 60: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Se encontro que los resultados obtenidos no dependen de las configuracio-

nes iniciales aleatorias, lo cual es una confirmacion de nuestro metodo, ya

que es posible que una configuracion inicial determinada evolucione a otra

configuracion conocida (una configuracion con 20 % de celdas vivas puede

dar lugar a una de 60 %, por ejemplo). Esto permite promediar los valores

obtenidos y mostrados en la Figura 5.4, y obtener los resultados mostrados

en el cuadro anterior.

La grafica mostrada en la Figura 5.4 parece mostrar una ligera divergencia

para densidades altas de las dimensiones fractales, calculadas mediante los

dos metodos (BCD y DFA). Esto puede ser evidencia de multifractalidad,

pero esta divergencia esta dentro de las barras de error en la grafica, y se

necesita mas estadıstica para concluir lo anterior.

El primer resultado del cuadro 5.1 (α = 2−DDFA = 0.249), indica que se

presentan anticorrelaciones en forma de power-law, de manera que es mas

probable que las variaciones grandes de la serie de tiempo sean seguidas

por variaciones pequenas y viceversa. Ademas, las leyes en forma de power-

law son normalmente el distintivo de la complejidad, por lo que la serie de

tiempo es de caracter complejo y no aleatorio.

Como trabajo a futuro se puede considerar:

Confirmar las evidencias de multifractalidad obteniendo mas estadıstica.

Estudiar el espectro de potencia de las series de tiempo, mediante un anali-

sis de Fourier y Wavelets (recordando que la transformada de Fourier de la

funcion de autocorrelacion de una serie de tiempo es el espectro de poten-

cia).

Analizar configuraciones con lımites periodicos para las mallas e incremen-

tar el tamano de estas. Estos dos aspectos afectan bastante la evolucion de

las configuraciones de Game of Life.

Page 61: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Apendice A

Box Counting Dimension.

En geometrıa fractal, el metodo Minkowski-Bouligand sirve para determi-

nar la dimension fractal de un conjunto S en un espacio euclıdeo <n, o mas

generalmente, de un espacio metrico (X, d). A este metodo se le conoce como

box-counting dimension.

Para calcular la dimension de un fractal S, imagınese que el fractal se encuentra

sobre una malla, y entonces contar cuantos cuadrados se necesitan para cubrir

el conjunto. La dimension se calcula viendo como cambia este numero conforme

la malla se hace mas fina.

Supongase que N(ε) es el numero de cajas de longitud ε que se necesitan para

cubrir el conjunto. Entonces la Box Counting Dimension se define como:

dimbox(S) := lımε→0

log N(ε)

log 1/ε(A.1)

Si el lımite no existe entonces se debe hablar de las dimensiones upper box y

lower box, las cuales corresponden al lımite superior e inferior, respectivamen-

te, en la ecuacion anterior. En otras palabras, la Box Counting Dimension solo

estara bien definida si las dimensiones upper box y lower box son iguales. La di-

mension upper box en ocasiones se denomina dimension de entropıa, dimension

de Kolmogorov, y esta muy relacionada con el coeficiente de Hurst (ver [PJS92]).

Se utilizo una aplicacion que implementa este metodo con el objetivo de compro-

bar la dimension fractal obtenida por el algoritmo DFA (ver [Bou03, Man82]).

Hay que mencionar que los resultados de esta aplicacion pueden presentar cier-

56

Page 62: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

57

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

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

-4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1logH1�sL

4

5

6

7

8

9

log@NHsLD Pendiente = 1.545

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

Page 63: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Apendice B

Zoologıa de Game of Life.

Desde la creacion de Game of Life en 1970, se ha analizado y catalogado la

evolucion de cientos de configuraciones iniciales. Como siempre, la forma mas

facil de comenzar es examinar las configuraciones mas simples (ver [Ila02]).

B.1. Patrones simples y estables

Ya que las celdas vivas solo sobreviven si estan rodeadas por otras dos o tres

celdas vivas, y las celdas muertas reviven solo si las rodean tres celdas vivas; los

estados iniciales que consistan de celdas solitarias mueren inmediatamente. Por

lo tanto, la sobrevivencia en Game of Life requiere un mınimo de tres celdas Las

Figuras B.1 y B.2 muestran todas las configuraciones iniciales que contienen tres

o cuatro celdas.

58

Page 64: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Patrones simples y estables 59

t = 0

t = 0 t = 1

t = 1 t = 2

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

t = 0 t = 1

t = 0

t = 0

t = 0

t = 0

t = 1

t = 1

t = 1

t = 1

t = 2

t = 2

t = 2

t = 2

t = 3

t = 3

t = 3

t = 3

t = 4

t = 4t = 5

t = 6t = 7t = 8t = 9t = 10

(a)

(b)

(c)

(d)

(e)

Figura B.2: Los destinos para cinco estados iniciales con cuatro celdas. El estado(e) termina en un estado de periodo 2 (tiempos 9 y 10).

Los estados finales de estos simples patrones son solo algunos de los patrones

estables u osciladores (de periodo corto) conocidos. La Figura B.3 muestra algu-

nos patrones estables conocidos que consisten de ocho celdas o menos, mientras

Page 65: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Patrones simples y estables 60

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

muchos mas patrones con periodos muy diferentes. Hay que mencionar que el

eventual surgimiento de cualquiera de estos grupos de cinco celdas no depende

de tener configuraciones iniciales simples.

4 celdas 5 celdas

6 celdas

7 celdas

8 celdas

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

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

Page 66: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Gliders 61

B.2. Gliders

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

que, despues de dos pasos de iteracion, produce un patron desplazado un sitio

diagonalmente y reflejado en una lınea diagonal (es decir, los patrones que esten

separados por dos pasos estan relacionados por un reflejo de glider). De esta for-

ma, el patron original es reproducido en una posicion desplazada diagonalmente

cada cuatro iteraciones.

t = 0 t = 4t = 3t = 2t = 1

Figura B.5: Glider.

B.3. Spaceships

Resulta que, a pesar de ser los residuos de un origen primordial, existen solo

cuatro configuraciones moviles distintas y auto-replicantes (ver la Figura B.6).

A los spaceships se le asignan diferentes pesos, siendo el glider el peso-pluma

por contar con solo cinco celdas. A diferencia del glider, los spaceships llamados

peso-ligero, peso-medio y peso-pesado se desplazan no diagonalmente, sino ho-

rizontalmente. Ademas, sus patrones replicados dejan chispas que desaparecen

inmediatamente en el paso de tiempo siguiente.

B.4. Flotillas

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

peso inmediatamente inferior, los spaceships con mas de seis celdas vivas en la fila

inferior se vuelven inestables. Estos spaceships de mayor peso solo pueden avanzar

Page 67: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Glider Shuttle 62

t = 0

t = 0

t = 0 t = 1

t = 1

t = 1

t = 2 t = 3 t = 4

t = 2

t = 2

t = 3

t = 3

t = 4

t = 4

(a)

(b)

(c)

Figura B.6: Movimiento de los spaceships: peso-ligero (a), peso-medio (b) y peso-pesado (c). Los cuadrados rojos representan ‘chispas’que se desaparecen en elsiguiente paso de tiempo. Los patrones con un gran numero de celdas en la filainferior son inestables.

si son escoltados por una combinacion adecuada, o flotilla, de spaceships de peso

menor. Conway descubrio que los spaceshios arbitrariamente pesados pueden ser

escoltados de esta manera. Se ha observado que las flotillas son patrones que

surgen artificialmente: no se presentan en Game of Life de forma natural.

B.5. Glider Shuttle

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

Consiste de un solo glider y dos patrones de code celdas vivas, identicos y esta-

cionarios pero oscilantes. El efecto neto es que el glider se desliza continuamente

entre estos dos grandes patrones.

B.6. Garden-of-Eden

Las configuraciones Garden-of-Eden son aquellas que solo pueden surgir como

estados iniciales. Un argumento de conteo es suficiente para demostrar que debe

Page 68: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Garden-of-Eden 63

Figura B.7: Glider Shuttle.

existir al menos una de estas configuraciones sin origen en Game of Life: con-

siderese una configuracion cuadrada de (5n−2)× (5n−2), cuyo origen, si existe,

solo puede venir del cuadrado que le rodea (de tamano 5n×5n). Ya que cada uno

de los cuadrados componentes, de 5×5, puede, si esta vacıo, ser reemplazado por

otro cuadrado del mismo tamano con una sola celda viva (la central) sin afectar

el estado en el siguiente paso de tiempo, existen en total (225 − 1)n2patrones

origen posibles dentro del cuadrado de 5n × 5n. Por otro lado, se sabe que hay

un total de solo 2(5n−2)2 estados descendientes posibles dentro del cuadrado de

(5n− 2)× (5n− 2). Se concluye que:

(225 − 1)n2

< 25n2 − 20n + 4, (B.1)

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

tendra origen. Esto ocurre para n = 465163200, ası que las configuraciones

Garden-of-Eden deben existir dentro de un cuadrado de 2325816000×2325816000.

Es posible obtener configuraciones Garden-of-Eden con lımites menores a este.

El primer ejemplo explıcito fue descubierto por Roger Banks en 1971, y esta con-

tenido dentro de un rectangulo de 9× 33 celdas. Se muestra en la Figura B.8.

Figura B.8: Garden-of-Eden.

Page 69: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Eaters 64

B.7. Eaters

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

los patrones cercanos sin danar la integridad de su forma. La Figura B.9 muestra

como un eater mata a un glider en cuatro pasos de tiempo y se repara ası mismo

en el proceso. Cuando dos eaters se atacan entre sı producen un patron oscilador,

en el cual cada uno muerde al otro y rapidamente se repara antes de dar otra

mordida. A pesar de que no todo patron puede ser comido exitosamente (por

ejemplo, los blocks, que son patrones estables de celdas vivas de 2 × 2, son

indigeribles), el numero de patrones digeribles es muy grande.

t = 0 t = 1 t = 2 t = 3 t = 4

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

B.8. Colisiones glider-glider

Un elemento crıtico en la demostracion de la universalidad de Game of Life

(ver el Capıtulo 3, pagina 22), resulta ser la capacidad de crear todos los ingre-

dientes necesarios a partir de colisiones glider-glider. Como se ve en la Figura

B.10, que muestra cuatro diferentes colisiones de dos gliders, los resultados son

muy diversos. De hecho, un conteo cuidadoso muestra que en total existen 73

diferentes colisiones entre dos gliders.

B.9. Puffer trains, Guns y Breeders.

Al princio Conway conjeturo que no existe un patron que pueda crecer sin

lımite, ofreciendo $50 a la primera persona que demostrara o falsificara su de-

Page 70: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Puffer trains, Guns y Breeders. 65

t = 0

t = 0

t = 0

t = 0

t = 1

t = 1

t = 1

t = 1

t = 2

t = 2

t = 2

t = 2

t = 3

t = 3

t = 3

t = 3

t = 4

t = 4

t = 4

t = 4

t = 5

t = 5

t = 5

t = 5 t = 6

t = 6

t = 6

t = 6

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

claracion. Esta tarea al principio parecıa ser un poco desalentadora: (1) apenas

un poco puede ser inferido a partir de las reglas formales, y (2) dado que una

configuracion en particular es cuidadosamente seguida por millones de pasos, no

hay garantı de que no se estabilizara despues de un millon de pasos mas.

A pesar de las dificultades, el premio fue ganado un ano despues de su anun-

cio por un grupo de estudiantes del MIT que trabajaba para el Proyecto de

Inteligencia Artificial1. Despues de mucho trabajo de experimentacion, el grupo

tropezo con una configuracion oscilatoria que producıa periodicamente un glider

nuevo; habıan descubierto el glider-gun. Ya que cada glider emergente suma cin-

co celdas a la poblacion global, la configuracion crecıa sin lımite.

Despues de recoger el premio, los miembros del grupo del MIT hicieron un des-

cubrimiento aun mas notable. Encontraron que el glider-gun se creaba a partir

de una colision de trece gliders (ver la Figura B.12). Surgiendo en t = 75 y co-

menzando en t = 100, el glider gun producıa un glider cada 30 pasos.

Algunos metodos alternativos para alcanzar un crecimiento ilimitado incluyen

(1) la generacion de patrones propagadores que dejan alguna forma de residuo

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

Page 71: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Puffer trains, Guns y Breeders. 66

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

crecimiento realmente aumente con su edad. La primera clase de patrones se co-

noce como puffer trains (dos ejemplos simples se muestran en la Figura B.11). La

segunda clase de patrones es llamada breeder y se encuentra entre los patrones

mas interesantes de Game of Life. Los Breeder consisten de una flotilla de diez

puffer trains especiales que producen dos olas de gliders en sentido contrario (con

periodo 32), y un par de blocks (con periodo 64). La flotilla se coloca cuidadosa-

mente de forma que los gliders choquen para formar glider-guns a lo largo del eje

de movimiento de la flotilla que no va en sentido contrario. Conforme la flotilla

avance, la tasa de creacion de los glider-guns creador aumenta sin lımite.

(a) (b)

t = 10 t = 12

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

Page 72: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Puffer trains, Guns y Breeders. 67

t = 0

t = 130

t = 100

t = 75

Figura B.12: Una colision de trece gliders en t = 0 produce un glider-gun deperiodo p = 30 en t = 75, generando un glider una vez cada periodo.

Page 73: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

Bibliografıa

[Ada98] Christoph Adami. Introduction to Artificial Life, pages 38–40. Sprin-

ger, New York, USA, first edition, 1998.

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

page 255, 1974.

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

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

[Bou03] Paul Bourke. Fractal dimension calculator, Febrero 2003. Disponible

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

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

of No Chance, pages 433–453, 2000.

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

and computation. pages 116–121, USA, October 1993.

[Hak83] H. Haken. Advanced Synergetics: Instability Hierarchies of Self-

Organizing Systems and Devices. Springer-Verlag, 1983.

[Her69] G. T. Herman. Computing ability of a developmental model for fila-

mentous organisms. Journal of Theoretical Biology, (25):421, Diciem-

bre 1969.

[Ila02] A. Ilachinski. Cellular Automata: A Discrete Universe, pages 130–151.

World Scientific, Singapur, second edition, 2002.

68

Page 74: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

BIBLIOGRAFIA 69

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

http://www.bearcave.com/misl/misltech/wavelets/hurst/.

[Kit74] T. Kitagawa. Cell space approaches in biomathematics. Mathematical

Biosciences, (19):27, 1974.

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

page 14. Number 152. IBM Journal, 1970.

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

tal mechanisms in neural control: Human heartbeat and

gait dynamics in health and disease, 1999. Disponible en

http://reylab.bidmc.harvard.edu/tutorial/DFA/master.html.

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

en [Lan92].

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

February, 1990 in Santa Fe, New Mexico. In Artificial Life II. Addison-

Wesley Publishing Company, 1992.

[Lin68] A. Lindenmayer. Mathematical models for cellular interactions in de-

velopment. Journal of Theoretical Biology, (18):280, 1968.

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

USA, Agosto 1982.

[Min67] M. L. Minsky. Computation: Finite and Infinite Machines. Prentice

Hall, USA, Junio 1967.

[PJS92] H. Peitgen, H. Jurgens, and D. Saupe. Chaos and Fractals: New Fron-

tiers of Science, page 495. Springer-Verlag, USA, Agosto 1992.

[Pou84] W. Poundstone. The Recursive Universe – Cosmic Complexity and the

Limits of Scientific Knowledge. Contemporary Books, Inc., USA, first

edition, Noviembre 1984.

Page 75: UNIVERSIDAD VERACRUZANA - POSGRADOS DE LA …cdigital.uv.mx/bitstream/123456789/29452/1/Stevens Ramirez.pdf · QUE PARA OBTENER EL TÍTULO DE: MAESTRO EN ... Entender la complejidad

BIBLIOGRAFIA 70

[Ren01] P. Rendell. A Turing Machine in Conway’s Game of Life, 2001. Dis-

ponible en www.rendell.uk.co/gol.

[Roj04] J. R. Rojano. Caracterizacion estadıstica del automata celular The

Game of Life como un proceso de difusion. Master’s thesis, Universidad

Veracruzana, Facultad de Fısica e Inteligencia Artificial, Xalapa, Ver.

Mexico, 2004.

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

161, 1981.

[Ros05] P. L. Rosin. Training cellular automata for image processing. Proc.

Scandanavian Conference on Image Analysis, LNCS 3540, pages 195–

204, 2005.

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

Biophys. Bioeng., (1):277–292, 1972.

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

analysis of the foreign exchange market. Budapest, Belgica, 1997. Ins-

titut de Physique B5.

[Wei91] G. Weisbuch. Complex Systems Dynamics. Addison-Wesley, 1991.

[Wol84] S. Wolfram. Universality and complexity in cellular automata. Physica

D., (10):1–35, Enero 1984.

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

edition, Junio 2002.