jueves, 3 de noviembre de 2005

Criticalidad Auto-organizada en el Juego de la Vida (parte 3)

Para encontrar las pistas que nos dijeran si el Juego de la Vida puede o no presentar CAO, realizamos una serie de experimentos, basándonos en lo que ya antes habían hecho otros autores:
  1. Realizamos el mismo experimento con distintos tamaños de rejilla del Juego de la Vida: 64x64, 128x128, 256x256, 512x512, 1024x1024 y 2048x2048 (este último no lo habían hecho antes los demás). En realidad se podría hacer con cualquier tamaño. El chiste es que si se observa cierto exponente crítico para uno de los tamaños, este debe ser el mismo para cualquier tamaño (buscamos entonces la invarianza en tamaño del exponente crítico).
  2. Por cada rejilla, vamos a buscar si existe una ley de potencias inversa (ver gráfica), y determinaremos el exponente, para buscar si se conserva como ya se dijo en el punto 1.
  3. Al inico, cada rejilla se inicializa aleatoriamente, con una probabilidad de 50% de células vivas en toda la rejilla.
  4. Dejamos correr el Juego de la Vida cuantos pasos sea necesario hasta llegar al primer estado de reposo (como ya se describió en el post anterior).
  5. Una vez en un estado de reposo, vamos a provocar una avalancha de la siguiente manera: buscamos una célula que esté muerta, y la volvemos viva. Esto puede o no provocar una alteración en el Juego de la Vida conforme continúe corriendo. No habrá alteración si la nueva célula viva está localizada en una región donde en sus alrededores no haya ninguna célula viva, por lo que al siguiente paso de tiempo esta nueva célula moriría y no habría una avalancha digna de considerar. Por esto, para asegurar con mayor probabilidad que la avalancha alterará el sistema, elegimos como células muertas candidato a volverse vivas, aquellas que tuvieran en su alrededor una célula viva, o si no la tenían, que las de este alrededor tuvieran a su vez al menos una célula viva en su propio alrededor, es decir, que en una vecindad de Moore de 20 células alrededor de la célula muerta, hubiera al menos una célula viva. Con esta condición, se reducen en gran cantidad las avalanchas que sólo duran un paso de tiempo. Aún cuando siguieran ocurriendo estas, no las consideraremos en las mediciones, sólo las que duren dos o más pasos de tiempo. Igualmente se reducen en gran cantidad las células muertas candidato a provocar la avalancha, pues hay que recordar que cuando el Juego de la Vida está en un estado de reposo, sólo 3% aprox. de células estarán vivas, el resto estarán muertas.
  6. Una vez alterado el sistema, el Juego de la Vida sigue corriendo, hasta detectar un nuevo estado de reposo. Entonces se mide la cantidad de pasos de tiempo ocurridos desde la alteración hasta la llegada al nuevo estado de reposo. Esta medición es almacenada, y entonces se continúa el experimento en el paso 5.
  7. Se guardan suficientes mediciones para poder hacer una estadística razonable. (Aquí, suficiente simplemente significa una cantidad de datos grande, que nosotros acotamos en al menos 10000, dependiendo del tamaño de la rejilla, pues para tamaños mayores, el tiempo de ejecución es muy lento y no siemrpe se pudo conseguir una cantidad de datos de este orden de magnitud).
  8. Una vez con las mediciones, se les aplica un tratamiento estadístico para poder ver realmente el comportamiento de ley de potencias, si es que existe, y filtrar características de los datos que no necesitamos.
  9. Hecho esto, se graficaron los datos en un papel log-log y se encontró la pendiente de la recta que, de existir, es el valor del exponente de la ley de potencias buscado.
¿Qué encontramos?
En primer lugar, para todas las rejillas analizadas, encontramos un comportamiento de ley de potencias, como podría esperarse de un sistema con CAO.
En segundo lugar, todos los exponentes de la ley de potencias resultaron ser aproximadamente el mismo (b=1.41). De nuevo, esto es evidencia de la existencia de CAO en el sistema.
Todo esto concuerda con lo que ya se había realizado en investigaciones anteriores por parte de otras personas (aunque no tengo las referencias aquí, puede consultarse el paper).
Esto, sin embargo, no es la evidencia irrefutable de la existencia de CAO en el Juego de la Vida, pero si evidencia suficiente para decir que es muy probable que la haya, o, como otro autor concluye también, para que al menos haya algo conocido como sub-criticalidad.
Esto, en fin, resulta interesante desde muchos puntos de vista. El Juego de la Vida no es un sistema natural, no tiene aparentes fuentes externas de energia, y sin embargo, de presentar CAO, estaría dándose un giro relevante a estas nociones físicas. Por otra parte, sabiendo que el Juego de la Vida, y los AC tienen muchísimas aplicaciones en modelación de sistemas reales y en matemáticas y teoría de la computación, como por ejemplo el hecho de que le Juego de la Vida pueda realizar cómputo universal, por lo que la existencia de una propiedad también muy interesante de sistemas físicos dentro de los AC puede servir para realizar estudios y modelos de sistemas naturales complejos.

Y con esto, termino el relato de lo que expuse el 9 de septiembre de 2005 en el Congreso Internacional de Computación, CIC-2005.

Para más información, puedes consultar el paper (PDF) y la presentación que realizamos (PPT).

[AÚN NO ESTÁN DISPONIBLES LOS ARCHIVOS...]



--
Eru kaluva tielyanna (Dios iluminará tu camino)
Visita la página de la Casa de la Juventud, TOR: www.torcasajuv.com
"Ama y haz lo que quieras. Si callas, callarás con amor; si gritas, gritarás con amor; si corriges, corregirás con amor; si perdonas, perdonarás con amor. Si tienes el amor arraigado en ti, ninguna otra cosa sino amor serán tus frutos." (San Agustín) Solamente asegúrate que en realidad sea AMOR...