Anda di halaman 1dari 23

Ejemplo completo de autmata celular: el juego de la vida

Se conoce como El juego de la vida, o simplemente como vida (life en ingls) a uno de los autmatas celulares ms famosos y estudiados. Fue concebido por el matemtico de origen britnico John Horton Conway entre los aos 1968 y 1970. Su definicin ha derivado en multitud de investigaciones, cercanas a obtener un ejemplo terico de computacin universal utilizando autmatas celulares. Es un juego de cero jugadores, esto es, que no necesita interaccin humana alguna, lo que significa que su evolucin est determinada por su estado o configuracin inicial de la red que constituye el espacio celular del autmata. Se interacta con el juego de la vida creando una configuracin inicial con unos determinados valores para cada nodo y observando la manera en que este evoluciona.
[3]

Historia
El origen del juego de la vida data de la dcada de 1940, momento en que John Conway comenz a interesarse en un problema planteado por John von Neumann, al intentar encontrar una mquina terica con la capacidad de realizar copias de si misma (autoreplicacin). Sus estudios dieron lugar a un modelo matemtico para dicha mquina definida por unas reglas complejas en una red o cuadrcula bidimensional, esto es, un autmata celular 2D. La idea de Conway fue la de llevar a cabo una implementacin real del autmata idea de von Neumann, definiendo entonces lo que denomin el Juego de la Vida, siendo publicado en Octubre del ao 1970 en la revista Americano Cientfico (Scientific American) en un apartado a cargo de Martin Gardner dedicado a los Juegos Matemticos. El objetivo terico es la implementacin de un modelo de autmata celular con el poder computacional equivalente a la mquina de Turing universal, por la que cualquier cosa que pueda ser computada mediante la definicin de un algoritmo puede ser computada mediante el juego de la vida. El juego de la vida de John Conway atrajo mucho inters de la comunidad cientfica internacional desde su publicacin en el ao 70 debido a las caractersticas evolutivas que presentaba el juego, que conllevaron la discusin sobre la posibilidad de cmputo universal va autmatas celulares. La vida denotaba un ejemplo de auto-replicacin y autoorganizacin similar a los sistemas biolgicos. Los cientficos estudiaron la implementacin del juego, observando la forma en la que complejos patrones pueden surgir de la definicin de una serie de reglas muy sencillas. El juego puede ser utilizado, a su vez, para expresar lo contraintuitivo que resulta el hecho de que un diseo y organizacin puedan surgir espontneamente sin un diseador (sin alguien que mueva los hilos, llevndose a cabo de forma espontnea segn unas determinadas reglas). Un ejemplo de esto lo plante el filsofo Daniel Dennet, utilizando la analoga del universo mostrando en el autmata Vida de Conway para ilustrar la posible evolucin de

una compleja construccin filosfica basada en la conciencia y el libre albedro, desde el relativamente simple conjunto de leyes fsicas determinsticas que gobiernan el devenir de nuestro propio universo. La aparicin de una nueva generacin de computadores econmicos en el mercado contribuy al aumento de la popularidad del Juego de la Vida, haciendo que este pudiera ser ejecutado durante muchas horas en estas mquinas que, de otra forma, hubieran estado ociosas debido a la poca carga de trabajo inicial a la que se las someta, permitiendo contribuir a la investigacin de los patrones evolutivos mostrados por el juego. El juego de la vida, llegados a este punto, se puede enfocar desde dos puntos de vistas diferentes: 1. Como un simple reto de programacin, una forma divertida de usar los ciclos de reloj de la CPU que se malgastaran cuando esta no tenga ninguna tarea que llevar cabo 2. Como un modelo interesante desde un punto de vista filosfico. Durante los aos 70 y posteriores surgieron grupos en torno al estudio del juego de la vida, que llegaron a desarrollar simulaciones tericas de sistemas computacionales a partir del autmata celular que constituye el juego de la vida, gracias al poder computacional que presenta.

Reglas
Las reglas que definen el juego de la vida [4] fueron elegidas por Conway de una manera rigurosa, despus de mucha experimentacin segn una serie de criterios: 1. No debe haber patrones iniciales para los que exista una prueba sencilla en la que la poblacin crezca indefinidamente durante su evolucin. 2. Debe haber patrones iniciales simples que evolucionen y cambien durante un considerable periodo de tiempo antes de llegar a un final en alguna de las siguientes formas: 1. Que mueran completamente (por sobrepoblacin o por poca densidad de la misma en cuanto al nmero de vecinos). 2. Que acaben en una configuracin estable que permanece sin cambios desde ese momento, a menos que entren en contacto con otros patrones mviles. 3. Que entre en una fase de oscilacin, un bucle de dos o ms periodos o pasos evolutivos. 3. Debe haber patrones iniciales para los que a priori haya un crecimiento ilimitado a lo largo de los diversos pasos evolutivos.

El universo celular del juego de la vida est constituido por una rejilla ortogonal infinita (tericamente) de dos dimensiones con celdas cuadradas. Cada celda puede responder a dos posibles estados: viva (1) o muerta (0). Para calcular el valor siguiente de cada celda, se

tienen en cuenta los valores de sus ocho vecinos (modelo Moore), que son las celdas adyacentes en horizontal, vertical y diagonal. En cada paso de la evolucin del juego, se pueden dar las siguientes circunstancias:

Toda celda viva con menos de dos vecinos vivos muere a causa de la baja poblacin.

Cualquier celda viva con ms de tres vecinos vivos muere a causa de superpoblacin.

Cualquier celda viva con dos o tres vecinos vivos en el estado actual vivir en la siguiente generacin.

Cualquier celda muerta con un total exacto de tres vecinos vivos pasar a ser una celda viva.

El patrn o configuracin inicial constituye la semilla que determinar la evolucin del sistema. La primera generacin se crea mediante la aplicacin de las reglas anteriores para cada una de las celdas de la red segn lo indicado en la semilla. Los nacimientos y muertes ocurren de manera simultnea, denominndose al momento discreto en el que esto se produce como tick (en otras palabras, los valores de las celdas en cada generacin responde a una funcin de los valores de la anterior generacin). La evolucin contina en los siguientes perodos de tiempo, dndose nuevas configuraciones del espacio celular, apareciendo nuevos individuos (celdas con valor viva) o muriendo (celdas con valor muerta).

Patrones ms importantes

Al responder el juego de la vida al modelo de los autmatas celulares, las configuraciones de la red de la poblacin pueden presentar una serie de patrones, con un comportamiento diferente a lo largo de la evolucin del juego. Se pueden distinguir gran cantidad de patrones en el juego de la vida, destacando los still lives (cuya configuracin no cambia de una generacin a otra), osciladores (patrones repetitivos), patrones que se trasladan a si mismos en cada paso a travs de la red (spaceships o naves espaciales, como los planeadores nombrados anteriormente), y patrones infinitos.

"Still lives": permanecen en la misma configuracin de una generacin a otra debido a los valores de los vecinos de cada celda constituyente del still life (si no ocurre interaccin con otros patrones de desplazamiento). Destacan los siguientes:

Osciladores: presentan un patrn repetitivo. Destaca el pulsar, que se conoce por ser el mas habitual de los osciladores de periodo igual a tres, cuando la inmensa mayoria de patrones osciladores presentan un periodo igual a 2 (es el caso del blinker, el "beacon" y el toad). Osciladores con periodos de 4, 8, 14, 15, 30 y ms no se suelen presentar de forma habitual en la evolucin.

1. Pulsar

2. Blinker

3. Beacon

4. Toad

Los patrones denominados Methuselahs (Matusalenes) precisan de largos periodos de tiempo para llegar a una configuracin estable. El precursor de estos patrones fue el F-pentomino de Conway, surgiendo otros posteriormente, como el Acorn, que necesita 5206 generaciones, creando 633 celdas incluyendo 13 planeadores, o el Diehard, patrn que desaparece inmediatamente despus de 130 generaciones (haciendo honor a su nombre).

Spaceships: son aquellos patrones que, por su configuracin, dan lugar al nacimiento de celdas en los vecinos ms prximos, y la muerte de algunas de las celdas que conformaban el estado actual, lo que se traduce en "movimiento" del patrn a lo largo del espacio. Algunas "naves espaciales" destacadas son el "glider" y el "LWSS" (nave espacial de carga ligera).

1. Glider

2. LWSS

Denominamos patrones infinitos a aquellos patrones que se mantienen a lo largo del tiempo. Inicialmente, el juego de la vida fue implementando por Conway pensando que no se podran dar patrones que pudieran crecer de forma indefinida (en otras palabras, se pensaba que para cualquier configuracin inicial que presentase un nmero finito de celdas en el estado viva, no sera posible que la poblacin creciera ms all de un determinado lmite superior). Sin embargo, la publicacin del juego de la vida en la revista Americano Cientfico dio lugar a un concurso en el que se concedera un premio simblico a la primera persona que pudiera demostrar o rebatir la hiptesis de Conway. Una de las vas de estudio fue la experimentacin con patrones que continuaran aadiendo celdas al campo durante la

evolucin de la red, esto es lo que se conoce como un patrn gun, configuracin que dispara objetos estticos como el glider a lo largo del tiempo, o bien encontrar lo que ahora se conoce como buffer train, que es una configuracin de nave espacial que deja detrs de s un rastro de patrones smoke persistentes.El resultado de las investigaciones lleg a buen puerto en Noviembre de 1970. Un grupo del Instituto Tecnolgico de Massachusetts present el patrn Gosper glider gun (en honor al investigador al frente del grupo, Bill Gosper). Esta glider gun evolucionaba de tal manera que se produca un glider en la generacin 15, y otro glider cada 30 generaciones de forma indefinida.

Posteriormente, se descubrieron patrones ms pequeos que mostraban crecimiento infinito a lo largo de la evolucin de la poblacin, como los presentados a continuacin:

A lo largo del tiempo, continuaron investigaciones en esta lnea, encontrndose nuevos patrones que incluyen otros guns, estacionarios y que disparan glider u otros spaceships; Puffers, que se mueven dejando un rastro de debris (escombros); y hasta rakes, que se mueven y emiten spaceships en su evolucin. Bill Gosper y su equipo construyeron adems el patrn breeder o lobster, que trabaja dejando un rastro de guns y se caracterizaba por ser el primero que presentaba una medida de la complejidad cuadrtica en su crecimiento.

Las investigaciones han demostrado que, dada una configuracin inicial aleatoria de celdas en el espacio celular, la poblacin cambia constantemente en cada generacin (tick). Los patrones que surgen de la definicin de reglas simples pueden ser considerados una forma hermosa de ver la computacin ya que pequeos subpatrones aislados que no presentan simetra en la configuracin inicial, tienden a una configuracin simtrica en un determinado periodo. Una vez ocurrido, la simetra puede incrementar en riqueza, pero no puede romperse hasta que un subpatrn cercano se acerque lo suficiente para provocar la muerte de los individuos (por superpoblacin). En muy pocos casos desaparecen todas las celdas vivas, aunque esto no ocurra hasta una serie de pasos evolutivos posteriores. La mayor parte de los patrones de una configuracin inicial explotan dando lugar a varias figuras estables que oscilan para siempre entre dos o ms estados. Otros tambin producen uno o ms gliders o spaceships que viajan indefinidamente por el espacio de celdas alejndose de su posicin en la semilla inicial.

Tcnicas de Programacin del juego. Algoritmos


Los primeros patrones que precisan un nmero elevado de pasos evolutivos para alcanzar un estado estable provocaron que en todo el mundo programadores y matemticos se interesaran por el sistema de evolucin de los patrones del juego de la vida. Gran cantidad de algoritmos conocidos utilizaban medios y recursos similares, como por ejemplo, patrones dentro de arrays bidimensionales almacenados en memoria principal (matrices). El algoritmo en cuestin usaba normalmente dos vectores, uno para llevar a cabo el almacenamiento de la generacin actual (utilizando los valores 0 y 1 representaban celdas muertas o vivas respectivamente) y otro en el que se calculaba el resultado de aplicar las reglas para la siguiente. Bucles anidados tomaban cada elemento del vector de la generacin actual, almacenando en un contador los vecinos vivos de cada celda para determinar si el elemento correspondiente del vector de la generacin sucesora deba ser 0 (muerta) 1 (viva), segn las reglas del juego. El vector sucesor se plasmaba en el espacio de celdas y se llevaba a cabo el intercambio de los vectores (la generacin siguiente pasa a ser la actual). Este algoritmo bsico es susceptible de ser ampliado, introduciendo una serie de mejores para evitar operaciones innecesarias y aumentar la eficiencia del juego. Por ejemplo, se pueden introducir condiciones del siguiente tipo: 1. SI una celda no ha cambiado su estado en el ltimo paso y sus vecinos tampoco lo han hecho, ENTONCES se asegura que dicha celda no cambiar en el paso actual. Mediante el un seguimiento de las zonas que estn activas, se puede ganar tiempo evitando realizar actualizaciones de las zonas inactivas. El tablero terico del juego es infinito, pero en una implementacin real mediante computadores, esto no puede hacerse, al contar estos con limitaciones de memoria (finita) y problemas en los lenguajes de programacin de la poca (declaracin esttica de tamao de los arrays).

La estrategia ms simple para afrontar estos problemas y simular un espacio pseudo-infinito es asumir que toda celda fuera del vector es una celda muerta, lo cual puede resultar sencillo pero, en cambio, da resultados poco fiables cuando las reas activas alcanzan los bordes. Otra opcin es considerar que los bordes izquierdo y derecho se unen, y del mismo modo con los bordes de arriba y abajo, dando lugar a un toroide. La consecuencia de ellos es que las reas activas se desplazan cruzando los bordes del tablero y apareciendo en el borde opuesto, pudiendo aparecer problemas de falta de precisin en los clculos ante patrones muy grandes, pero al menos no hay efectos no deseables producidos por la existencia de bordes. Utilizando tcnicas de programacin ms modernas, se pueden sustituir los arrays estticos por estructuras de datos dinmicas, pudiendo almacenar patrones sin ms restricciones que la misma limitacin de memoria de la mquina donde se ejecute el sistema. Algunos programadores han optado por dejar de representar el espacio de celdas con un vector de dos dimensiones, usando estructuras diferentes, como un vector de registros que almacenen pares de coordenadas asociados a las celdas vivas, permitiendo a los patrones moverse libremente, siempre que la poblacin no crezca demasiado y se rebase el lmite del vector de coordenadas. Pero surge en esta aproximacin otro problema: la operacin de contar los vecinos vivos se convierte en una operacin de bsqueda en el espacio, aumentando la complejidad algortmica y el tiempo preciso para realizar la simulacin. El uso de estructuras ms sofisticadas, por tanto, pueden llevar consigo mejoras, aunque siempre se deben considerar las consecuencias que implican su uso. Para seguir la evolucin de grandes patrones durante largos periodos de tiempo, pueden resultar tiles algoritmos ms sofisticados (por ejemplo el uso de hashing da lugar a lo que se conoce como Hashlife). Sirvan de ejemplo aquellos mtodos que llevan a cabo actualizaciones aleatorias asncronas pero manteniendo la simulacin con comportamiento sncrono. Por tanto, la implementacin del juego de la vida puede seguir diferentes modelos, con sus ventajas y sus inconvenientes, que a su vez son aplicables a otros ejemplos de autmatas celulares bidimensionales.

Computacin universal en el juego de la vida


La universalidad del Juego de la vida fue demostrada por Berlekamp, Guy y Conway. Como se ha comentado, se trata de un autmata de dos dimensiones con estados binarios donde los vecinos de cada celda corresponden a la vecindad Moore, donde la configuracin inicial viene dada por un nmero finito de unos y el resto de las celdas configuradas con valor cero. Las transiciones del juego de la vida a menudo conducen a patrones complejos en el espacio celular del autmata. Un gran nmero de investigaciones fueron enfocadas al descubrimiento de diferentes tipos de propagacin de las estructuras en el juego, llegando a la siguiente cuestin: puede la poblacin de una determinada configuracin crecer sin lmite? Estructuras como la glider gun de Wiliam Gosper que emiten un nuevo glider cada 30 pasos evolutivos responden a esta pregunta, de tal manera que los Gliders y los Glider

Guns son las estructuras claves que permiten la construccin de un computador universal a partir del juego de la vida. En lugar de simular una mquina de Turing universal, las funciones lgicas se construyen desde la interaccin entre flujos de estructuras glider provenientes de los gliders guns. Si dos gliders coinciden se eliminaran, esto es, la implementacin de una puerta NOT. Una entrada de bits se representa como un flujo de gliders separados de tal manera que la presencia de un glider equivale a un 1, mientras que su ausencia corresponde a un 0. Este flujo colisiona con otro perpendicular procedente de otra glider gun tal y como resultado de la colisin, los gliders del flujo vertical que pasan a travs del horizontal son aquellos que colisionaron con celdas vacas (los bits 0), obtenindose como flujo de salida el resultado de aplicar la operacin NO al flujo de bits horizontal. Las puertas AND y OR pueden ser implementadas de una forma similar. La AND toma como entradas dos flujos horizontales A y B y genera como salida un flujo horizontal que toma como valor para cada celda un 1 si las celdas correspondientes a esa posicin en A y B tiene valor 1, y 0 en caso contrario. Sea GG una estructura glider gun que dispara flujos de gliders sin huecos. Cuando una celda del flujo B contenga un 1, crea un hueco (valor 0) en el flujo de GG. Si la celda de B contiene un 0, el glider del flujo GG podr operar. Al presentar el flujo retardo con respeto al B lo suficientemente grande, el hueco o glider del flujo GG correspondiente al bit de B se encuentra con el bit correspondiente al flujo A. Un cero en el flujo GG permite a la celda correspondiente de A formar parte de la salida. En cambio, un glider en el flujo GG siempre crear un hueco en la salida, justamente, la implementacin de la operacin lgica AND. La implementacin incluye varias maneras para copiar flujos de gliders, retardarlos y reducirlos segn unas determinadas cantidades, guardar informacin en forma de flujos en movimiento y para llevar a cabo una implementacin de registros de almacenamiento mediante bloques de celdas que puede ser accedidos mediante el uso de los gliders. La conjuncin de las funciones lgicas y estas tcnicas puede ser utilizada para construir circuitos basados en flujos que pueden computar cualquier funcin recursiva, esto es, universalidad de cmputo. En esta implementacin, se considera que contamos con recursos de tiempo y memoria infinitos. El objetivo es mostrar que el juego de la vida puede computar todo aquello que es computable, y no la construccin de un computador eficiente o una implementacin prctica. Autmatas celulares con reglas de transicin sencillas, tal y como se demuestra en el juego de la vida, pueden generar comportamientos impredecibles: no hay un procedimiento universal para predecir cundo una determinada configuracin inicial llegar a una configuracin final determinada, por ejemplo, la evolucin a la configuracin 0. El mayor esfuerzo en la investigacin de cmputo universal en autmatas celulares se centra en la simulacin de una mquina de Turing universal [5] o algn otro computador que cumpla las propiedades de la universalidad. Conway, Berlekamp y Guy tomaron un autmata celular y mostraron que puede contener un computador universal dentro de l, e incluso discutieron la posibilidad de que, dado un espacio celular lo suficientemente grande en un estado inicial aleatorio, se consiga, tras un perodo de tiempo largo, la obtencin de animales inteligentes y auto-replicantes que lleguen a poblar completamente el espacio.

La computacin universal en autmatas celulares, hablando en trminos generales, resulta interesante nicamente como prueba del principio de que este tipo de arquitectura es tan potente como cualquier otro computador. En la prctica, ninguna de las construcciones de autmatas celulares orientadas al cmputo universal llevan a obtener un dispositivo prctica que pueda ser utilizado para realizar los cmputos, ya que establecer una configuracin inicial que de cmo resultado de su evolucin el resultado de una determinada funcin puede ser exageradamente complejo. Esto, unido con su lentitud en comparacin con cualquier dispositivo implementado fsicamente, ha provocado que el inters principal de los autmatas celulares sea bsicamente desde un punto de vista terico.

Variaciones en el juego y aplicaciones


A lo largo de los aos, han surgido nuevos autmatas basados en los conceptos propuestos por Conway, introduciendo modificaciones al original. El juego de la vida estndar [6] [7], en el que una celda pasa al estado vivo si tiene exactamente tres vecinos vivos, se mantiene viva si tiene dos o tres vecinos vivos y muere en caso contrario, se denota como B3/S23. Esta notacin se interpreta del siguiente modo:

La primera subcadena indica el nmero de vecinos activos que se precisan para que una celda muerta pase al estado viva en la siguiente generacin. La segunda subcadena indica la condicin para que una celda viva permanezca en dicho estado en la siguiente generacin.

Los autmatas celulares bidimensionales que pueden ser descritos de esta forma se conoce como Autmatas celulares basados en la vida. Un ejemplo representativo de estos autmatas es el HighLife (o B36/S23), en el que una celda nace si tiene 6 vecinos en el estado vivo. HighLife es popular por sus replicadores, dndose con mucha frecuencia. Existen ms tipos adicionales de estos autmatas, pero la mayora de ellos se caracteriza por acabar presentando superpoblacin o bien presentar configuraciones desrticas. Algunas variaciones del juego se centran en la modificacin de la geometra del espacio de celdas. Los ejemplos anteriores se mantienen sobre una red cuadrada bidimensional, ya que el mundo es de dos dimensiones y se disea en una rejilla cuadrada. Estas nuevas variaciones pueden presentar una sola dimensin (esto es, autmatas celulares elementales), de tres dimensiones cuadradas y variaciones de dimensiones hexagonales y triangulares. Las reglas de Conway tambin pueden ser generalizadas para que en vez de tener dos estados, haya tres o ms. Las transiciones entre estados se determinan por un sistema de pesos o una tabla especificando las reglas de transicin para cada estado, por ejemplo, la familia de tablas de reglas y pesos de vida de la multicolor Mireks Cellebration incluye ejemplos de reglas equivalentes al juego de la vida de Conway. El juego de la Inmigracin es una variacin basada en los mismos conceptos que el juego de la vida, con la diferencia de que en este nuevo caso existen dos estados vivos

(expresados con dos valores distintos). Siempre que una nueva celda nace, tomar el estado vivo de la mayor parte de las celdas vecinas que han provocado su nacimiento, lo cual puede ser utilizado para examinar las relaciones entre patrones spaceships y otros objetos del juego. QuadLife es otra variacin del mismo estilo, que cuenta con cuatros estados diferentes para representar una celda viva. Siempre que una nueva celda nace de tres celdas vivas con diferentes estados, toma un estado diferente a estas y para el resto de situaciones, acta del mismo modo que se da en la variacin Inmigracin. En cuantos a aplicaciones curiosas, se han desarrollado algunos juegos con propsitos de entretenimiento basadas en los conceptos del juego de la vida. El juego pasa de cero jugadores a presentar dos, cada uno de los cuales interactan alternativamente en cada tick. Las celdas vivas pueden presentar dos estados, asociados cada uno con un color de dos posibles, siendo cada color representativo del jugador. El mtodo para conseguir la victoria es eliminar todas las celdas del color del oponente. Cuando una celda muerta tiene tres vecinos en el estado vivo, nace en la siguiente generacin con el color de la mayora de sus vecinos. La configuracin inicial consiste en un patrn aleatorio o preseleccionado, con la mitad de las celdas de cada color. Para cada iteracin del juego, el primer jugador puede aadir una celda de su color y borrar una celda de su oponente. Despus de la siguiente iteracin el otro jugador har lo mismo y as sucesivamente hasta llegar a la conclusin del juego. Tambin existen otras aplicaciones prcticas basadas en los fundamentos del autmata del juego de la vida. Por ejemplo, en tcnicas de composicin, especialmente la secuenciacin MIDI.

Bases
Historia
En los aos 50, se presentaron diferentes clases de sistemas previos a los autmatas celulares, aunque su introduccin vino de la mano de John von Neumann, cuando este trataba de desarrollar un modelo abstracto de auto-reproduccin biolgica. Cercano al ao 1947, este empez a idear modelos de robtica basados en ecuaciones diferenciales parciales, llevndole a imaginar el desarrollo de una primera implementacin. Aconsejado por Stanislaw Ulam, su modelo evolucion en lo que hoy se conoce como autmata celular, simplificando su modelo inicial de 3 dimensiones en una red de dos dimensiones. En 1952 se construy el primer autmata de esta clase, con 29 posibles colores para cada celda y un conjunto de reglas definidas para emular las operaciones que llevan a cabo los componentes de un computador y de diversos dispositivos mecnicos. Para asentar una prueba matemtica del modelo celular, John von Neumann elabor un primer esbozo del desarrollo de una configuracin de red de doscientas mil celdas con caractersticas evolutivas y de auto-reproduccin, inspirado en la complejidad de los organismos biolgicos y de los computadores electrnicos. A partir del trabajo de von Neumann, aparecen varias lneas diferentes de investigacin. Se puede destacar aquella que trata de capturar las bases esenciales de la auto-reproduccin mediante diversos estudios matemticos de las propiedades de los autmatas celulares. En los aos 60, se relacionan los conceptos de auto-reproduccin y computacin universal sobre autmatas de este tipo. Se elaboraron construcciones concretas en las que el comportamiento del autmata mostraba caractersticas particulares importantes para alcanzar estos dos objetivos. A comienzos de esa dcada se investig el uso de autmatas celulares como computadores paralelos y se establecieron una serie de teoremas anlogos a los que sientan las bases de las mquinas de Turing, que probaban estas capacidades computacionales. A finales de los 60, se propone el concepto de autmata celular aplicado a la matemtica de los sistemas dinmicos. El inters por la investigacin sobre autmatas celulares comenz a descender a partir de 1970, siendo seguido solo por grupos reducidos. La simulacin de los autmatas celulares podra haber sido llevada a cabo de forma sencilla por computadores de propsito general. Siguiendo en la dcada de los 60, se realizaron simulaciones de autmatas celulares con redes de dos dimensiones. Stanislaw Ulam elabor una serie de ejemplos agrupados en lo que denomin objetos geomtricos con definicin recursiva, evolucin del autmata celular de dos dimensiones. Se observ que en al menos un caso simple derivaba mediante las reglas correspondientes en un patrn complejo, similar a lo que sucede en el campo de la biologa. Edgard Fredkin simul en 1961 un autmata de dos dimensiones en un computador PDP-1, mostrando propiedades de auto-reproduccin. En 1968, John Conway, motivado por los fundamentos de la matemtica lgica y por los avances de los llamados juegos de simulacin, empez a experimentar sobre un computador PDP-7 con una gran conjunto de reglas de evolucin de autmatas celulares de dos dimensiones, concluyendo en la elaboracin en el ao 1970 de las reglas que

conforman lo que l denomin como El juego de la vida, que muestra la evolucin compleja de diferentes patrones iniciales sobre una red de dos dimensiones. Popularizado por un artculo de Martin Gradner en la publicacin Americano Cientfico, el juego de la vida obtuvo una popularidad destacable. Se prest especial atencin al descubrimiento de condiciones iniciales que mostrasen comportamientos de diferentes clases en la evolucin del autmata. Durante esas dos dcadas, tipos especficos de autmatas celulares de una y dos dimensiones fueron usados en diversos dispositivos electrnicos y computadores de propsito general. Las reglas de los autmatas de dos dimensiones fueron utilizadas en el campo del procesamiento digital de imgenes con el objetivo de eliminar el ruido en aplicaciones como reconocimiento ptico de caracteres. En los 60, una amplia lnea de sistemas lgicos de procesamiento de grficos fueron implementados mediante autmatas celulares, con reglas que definan un comportamiento simple, aunque con la posibilidad de generar patrones alternativos. Los esquemas de circuitos integrados estuvieron basados inicialmente en la disposicin de componentes lgicos distribuidos en forma de rejilla, formando arrays celulares. Se iniciaron investigaciones sobre estos arrays con datos que se ejecutaran de forma iterativa sobre estos sistemas, pero se alcanzaron pocos diseos finales y la tecnologa de elaboracin de circuitos con circuitos ms elaborados se desarroll a un ritmo vertiginoso, a pesar de que sus fundamentos eran ms complejos que los que sostienen las bases de cualquier autmata celular sencillo. Dispositivos para el almacenamiento de datos como los registros de desplazamiento de una mquina pueden ser simulados mediante autmatas celulares de una dimensin con un nmero concreto de celdas. Se llev a cabo un amplio estudio algebraico de su comportamiento, concentrndose en situaciones como la repeticin de estados en perodos de tiempo finitos. Los autmatas de una dimensin estn asociados con registros de desplazamiento con retroalimentacin no lineal, siendo aplicados por Solomon Golomb a finales de los aos 50 en aplicaciones de radio control, derivando en dos lneas: registros lineales (usados en telecomunicaciones) y no lineales (utilizados en criptografa). Tipos especiales de autmatas celulares aparecieron a finales de los 50 y comienzos de los 60, basados principalmente en redes unidimensionales y pensados para estudiar un mtodo de optimizacin de las operaciones aritmticas en los circuitos. A su vez, las redes neuronales respondan en ocasiones al modelo celular, esto es, nodos localizados en una red que se relacionan con sus vecinos para decidir su valor en el siguiente paso evolutivo, concretamente, autmatas celulares de dos dimensiones. Esta misma clase de autmatas se utilizaron para la modelizacin de sistemas biolgicos basados en accin-reaccin, respondiendo a estados de excitacin. A pesar de todas estas investigaciones, en los aos 70 los sistemas basados en los conceptos de autmatas celulares fueron abandonados de forma progresiva. Sin embargo, en 1983 sus ideas volvieron a resurgir, incrementndose el nmero de artculos publicados que trataban este tema, siendo recogidos en el ndice de Citas Cientficas.[2]

Componentes
Un autmata celular viene definido, entonces, por: 1. Una red o espacio celular: un nmero N de celdas idnticas (mquina de estados finitos) que pueden tomar valores finitos conectados entre s para tomar entradas de valores y obtener una determinada salida. Los valores del prximo estado dependen de los valores actuales de los vecinos para una determinada celda. El decidir qu celdas son vecinas viene dado por dos modelos diferentes 1. Modelo de von Neumann: considera las celdas situadas en las posiciones inmediatamente superior, inferior y laterales.

2. Modelo de Moore: considera los del modelo de von Neumann ms las celdas situadas en las diagonales.

2. Conjunto de reglas de transicin. Actualiza el valor de una determinada celda en funcin de los valores actuales de sus vecinos. Suele haber un reloj global que enva la seal de actualizacin a todas las celdas que constituyen el espacio celular, manteniendo la sincronizacin necesaria para que en el mismo perodo todas las celdas estn en el mismo paso evolutivo. Los autmatas celulares ms sencillos se denominan ECAs (Elementary Cellular Automaton). Es una arquitectura bsica que puede ser modificada de diferentes maneras como mediante el aumento del nmero de dimensiones, de valores admitidos en cada celda (esto es, el nmero de estados posibles) y la cantidad de vecinos considerados en cada paso de la evolucin de la red, cambiando el conjunto de reglas de transicin, etc. Vase un

ejemplo de lo anterior. Sea un autmata celular en el que los puntos de la red pueden tomar dos valores: 0 1. Si consideramos el punto i en el intervalo de tiempo t, su valor a en el intervalo t+1 vendr determinado por la siguiente regla, la cual es aplicable a todos los puntos que conforman la red:

Los dos sumandos hacen referencia a los valores de los puntos vecinos izquierdo y derecho de i en la red en el tiempo actual t, realizndose el mdulo 2 para obtener un valor de los permitidos en este ejemplo (0 1).

Representacin grfica de un autmata celular


El comportamiento de los autmatas celulares a menudo se muestra mediante diagramas espacio-temporales, en los que la configuracin de los estados en la red n-dimensional es representada mediante funcin del tiempo, ya que el estado de la red vara conforme se dan los pasos evolutivos.

Patrones en un autmata celular


De acuerdo con las reglas que definen el comportamiento del autmata celular, se pueden definir en este lo que se denomina patrones, es decir, la ocurrencia de una serie de valores a lo largo del tiempo segn una determinada configuracin inicial o semilla. Por ejemplo, en el autmata del ejemplo mostrado en el apartado Componentes, los pasos de evolucin pueden dar lugar a una estructura triangular, similar a la siguiente:

Tambin puede darse la situacin de que los estados iniciales no sigan a priori una estructura determinada, pero que la evolucin en base a las reglas d lugar a estructuras claramente definidas, es el concepto de autoorganizacin. Estos patrones muestran la similitud entre autmatas celulares y los sistemas naturales, puesto que patrones dados en la naturaleza pueden ser simulados mediante la evolucin de los estados de este tipo de autmatas. Patrones y reglas definirn el comportamiento del sistema.

El autmata celular de Von Neumann


Como se indica en el apartado concerniente a la historia de esta clase de autmatas, von Neumann tena un profundo inters en la conexin entre la biologa y la ciencia de la

computacin-teora de autmatas. Advirtiendo el proceso de auto-reproduccin/replicacin existente en la naturaleza, se pregunt qu tipo de organizacin lgica debe darse para que un autmata sea capaz de reproducirse por si mismo (pregunta presente en su libro Theory of Self-Reproducing Automata, completado por Burks tras la muerte de von Neumann). Stanislaw Ulam aconsej a von Neumann el uso de los autmatas celulares como un marco de trabajo que permitiera responder a esta cuestin. John von Neumann tena la conviccin de que una teora general de la computacin basada en redes complejas constituidas por autmatas como los celulares sera esencial tanto como para la comprensin de los sistemas naturales como para el diseo de sistemas artificiales complejos. Se precisaba que los autmatas que fundamentasen esta teora fueran equivalentes en trminos computables a la mquina de Turing universal. Von Neumann desarroll un autmata con capacidad de auto-replicacin, formado por un espacio celular de dos dimensiones, considerado infinito, con una regla y configuracin inicial particular de los estados (un conjunto de las celdas comenzaba con un estado inactivo). Con 29 posibles estados por celda y una vecindad segn el modelo von Neumann, el autmata diseado consiste en una configuracin de estados que puede ser agrupado en dos unidades funcionales: 1. Unidad de construccin, da lugar al nuevo autmata de la replicacin. Est constituida por una unidad de control y un brazo constructor (vector de celdas con los valores de los estados a construir en las posiciones asignadas en la red segn las indicaciones de la unidad de control). 2. Unidad de cinta, almacena y permite la lectura de la informacin necesaria para la unidad de construccin. La cinta es un vector lineal de celdas que contienen la informacin sobre el autmata a construir, concretamente las coordenadas x e y de la esquina inferior izquierda de la red en que se construir el nuevo autmata, la anchura y altura de la red y los estados de cada una de las celdas (el final de la cinta se indica mediante el carcter *).

La construccin del nuevo autmata se lleva a cabo mediante el envo de seales a travs de la propagacin de los valores del estado actual de los nodos de la red entre la unidad de cinta y la unidad constructora. El autmata inicial comienza su tarea mediante la recepcin de una seal procedente de la unidad de control de construccin. Esta unidad de control enva una nueva seal a la unidad de cinta, que comienza a leer los valores de x, y, anchura, altura y estados, devolvindolas en forma de seales a la unidad de control. Entonces esta unidad activa el brazo de construccin, movindose de su posicin inicial a la esquina superior izquierda del rea de construccin. Seguidamente, mediante la lectura de los estados de la cinta, la unidad de control va posicionando el brazo en las diferentes posiciones del rea de construccin del nuevo autmata. Al terminar la lectura de la cinta (carcter *), el control posiciona el brazo en la esquina inferior izquierda del autmata inicial y enva la seal de inicio, que da lugar al comienzo

del proceso de autorreplicacin del autmata. Al finalizar, el brazo es trasladado a su posicin original. En este sistema, la configuracin inicial de estados es interpretado por el autmata para implementar el mtodo de copia y mantiene la cinta con una configuracin inicial de estados que conforman el autmata replicado. Este principio es equivalente al usado en biologa molecular para explicar las bases de la auto-replicacin. Segn von Neumann, su autmata celular presentaba un nmero pequeo de estados por celda, por lo que cuestiones como computacin universal mediante autmatas celulares podran ser resueltas mediante la implementacin de un mayor nmero de estados que conducen a capacidades de un ms alto nivel.

Anlisis matemtico de autmatas celulares.


Una aproximacin algebraica puede determinar la estructura de los patrones y de los valores obtenidos a travs de las distintas transiciones de estados. Esto puede llevarse a cabo mediante definicin de polinomios caractersticos. Por ejemplo, la regla definida para el autmata celular del ejemplo responde a la siguiente ecuacin: A(t + 1)(x) = (x + x 1)A(t)(x)mod(xn 1) El mdulo permite restringir el dominio a los valores deseados y las propiedades algebraicas de (x + inversa de x) permiten deducir la estructura definida por las transiciones entre estados. Ya que un autmata celular evoluciona de forma determinista dentro de un nmero finito de estados, puede entrar en ciclos en los que se repitan dichos estados, que se manifiestan en los diagramas de transicin asociados al autmata como bucles. La longitud de estos ciclos viene dado por el valor de N, de tal manera que:

Lo anteriormente dicho para el caso del ejemplo visto puede ser generalizado a diversos tipos de autmatas celulares. Se pueden definir varias familias de acuerdo a las ecuaciones que definen el valor del estado siguiente. Un ejemplo es aquella que define el valor siguiente como una funcin de los valores del estado en s y sus dos vecinos ms prximos:

Ecuacin que se puede generalizar, tomando los 2r elementos situados a la izquierda y a la derecha del punto de la red actual:

Segn estas ecuaciones, se puede establecer la siguiente clasificacin: 1. Autmatas cuya evolucin da lugar a un estado homogneo, en el que todos los puntos tienen el mismo valor. 2. Autmatas cuya evolucin conduce a un conjunto finito de estructuras (conjuntos de valores no siguiendo un patrn). 3. Autmatas cuya evolucin sigue un determinado patrn. 4. Autmatas cuya evolucin conlleva la aparicin de estructuras complejas que se mantienen en el tiempo. Una manera de definir estas clases es considerando la medida en que se podr predecir la salida de un determinado paso de evolucin conociendo el estado inicial. Para la clase 1 sera obvio, puesto que sea cual sea el estado inicial, el autmata evolucionar hacia un estado homogneo. En el caso de la clase 2, se debe considerar que los efectos de los valores concretos se propagan nicamente hasta una distancia mxima finita (dada por sus vecinos). Esto implica que la prediccin de una estado final concreto precisa conocer un conjunto finito de valores iniciales. Su evolucin es tal que da lugar a estructuras persistentes en periodos pequeos. Los autmatas celulares pertenecientes a esta clase pueden ser vistos como filtros que seleccionan caractersticas concretas del estado inicial, siendo tiles en aplicaciones como procesamiento digital de imgenes. La clase 3, en cambio, se caracteriza por que los cambios en los valores iniciales a menudo se propagan siempre a una determinada velocidad, afectando a ms puntos de la red a medida que pasa el tiempo. El valor de un punto depende adems de cmo va evolucionando los valores del estado inicial, por lo que la prediccin del valor de un punto en un tiempo infinito precisar conocer un nmero infinito de valores iniciales. Esta clase presenta un comportamiento ms catico con respecto a las clases anteriores, aunque no es un comportamiento completamente aleatorio ya que pueden presentar autoorganizacin. Las propiedades de los estados generados por una gran cantidad de pasos evolutivos en esta clase son las mismas para la gran mayora de posibles estados iniciales, determinando el comportamiento a largo plazo del autmata. Finalmente, la clase 4 tiene asociada un mayor grado de confusin en este sentido. Esta clasificacin universaliza el comportamiento de este tipo de autmatas, de tal manera que determinadas caractersticas de los mismos dependen nica y exclusivamente de la clase a la que pertenecen, apareciendo de nuevo similitudes con el entorno natural que se pretende modelar.

Las configuraciones de un autmata celular infinito constituyen una secuencia infinita de valores, de tal manera que estas configuraciones forman un conjunto de Cantor, que pueden tener varias construcciones, por ejemplo: 1. Comenzar con un el conjunto de nmeros reales en el intervalo 0-1 excluyendo en una serie de pasos el centro del intervalo, llegando a constituir una serie de infinitos puntos desconectados.

2. Construccin formada por los nodos hojas de un rbol binario infinito. Cada punto del conjunto solo es accesible desde un nico camino que comience por la raz. Este camino se representa mediante una secuencia infinita de dgitos 0/1, segn la rama del rbol que tome el camino en cada nivel.

Estos conjuntos vienen caracterizados por sus dimensiones. La dimensin del conjunto de Cantor que contiene todas las posibles configuraciones para un autmata celular de una sola dimensin en su red es 1. Diferentes configuraciones del autmata dan lugar a diferentes probabilidades asociadas al comportamiento del mismo en su evolucin, y las probabilidades para ciertas configuraciones concretas se van decrementando hasta cero. El conjunto de configuraciones que se mantienen con probabilidades mayores que cero tras varios pasos en la evolucin del autmata dan lugar a un nuevo conjunto de Cantor, el cual es ms pequeo a medida que aumenta la irreversibilidad del comportamiento del autmata. Si este conjunto tiene dimensin 1, entonces todas las diferentes configuraciones del autmata pueden ocurrir a lo largo del tiempo. En cambio, si es menor que 1, solo se producirn una pequea parte de las posibles configuraciones. Cuando ms regular sea el patrn, ms pequeo ser el conjunto de Cantor asociado a los puntos con probabilidad mayor que cero. La dimensin proporciona una medida de la estructura del conjunto de configuraciones alcanzadas por el sistema a lo largo de su evolucin.

Autmatas y computabilidad
La complejidad que presenta el comportamiento de determinadas clases de autmatas celulares da a entender que estos sistemas pueden soportar clculos universales. Se define el concepto de computador universal como aquel sistema en el que, dado un programa de entrada, sus pasos evolutivos pueden implementar cualquier algoritmo. Un ordenador puede ser considerado como un sistema en el que ciertas reglas son utilizadas para convertir una entrada formada por, por ejemplo, unos y ceros en una secuencia, diferente o no, de unos y ceros. La entrada puede ser vista como un programa+datos y la secuencia final es el resultado de llevar a cabo los clculos. En el caso de autmatas celulares, la configuracin inicial representa programas y datos de entrada y su configuracin tras una serie de pasos de evolucin como el resultado de aplicar los clculos consecuentes. Si un autmata celular fuera un computador universal entonces diferentes configuraciones iniciales deben codificar todos los posibles programas mediante la definicin de reglas evolutivas. Para poder demostrar que un sistema puede ser considerado como un computador universal, se precisa comparar las caractersticas computacionales del mismo con los de un sistema computador universal conocido. La tesis de Church-Turing da a entender que ningn sistema tendr una capacidad computacional mayor que estos computadores universales, lo cual puede ser probado mostrando que todos los sistemas fsicos pueden ser simulados mediante un computador universal. Por definicin cualquier computador universal podra ser simulado por cualquier computador universal, mapeando las operaciones bsicas del primero en el repertorio de operaciones del segundo. El comportamiento del computador universal dada una determinada entrada solo puede ser conocido mediante la observacin, puesto que no puede ser predicho a priori. Los autmatas celulares pueden presentar caractersticas propias de estos sistemas mediante la definicin de una serie de estructuras que acten como los componentes bsicos de los computadores digitales. (pulsos de reloj, puertas lgicas, memorias, etc.).

Se ha demostrado que ciertos autmatas celulares tienen capacidades computacionales universales. Un autmata de una dimensin con un rango de valores para cada uno de los puntos de la red con cardinalidad igual a dieciocho y con reglas basadas en los valores del vecino ms prximo es equivalente a una mquina de Turing universal. Lo mismo puede ser aplicado para autmatas de dos dimensiones con dos valores para cada punto de la red y reglas basadas en los valores de los vecinos ms prximos en los lados izquierdo, derecho, superior, inferior y diagonales (un ejemplo de esta configuracin de autmata celular es el denominado Juego de la Vida de Conway, en el que la regla fundamental indica que cada nodo tendr un valor igual a uno si y solo si exactamente tres de sus vecinos ms prximos tienen valor 1). Si un autmata celular de clase 4 es considerado como un computador universal, entonces el comportamiento que definen es impredecible. Para esta clase, en la que dependencia de valores se calcula mediante un algoritmo complejo, los valores de los puntos solo pueden obtenerse mediante la observacin de la evolucin del autmata. No se puede deducir si un estado inicial concreto puede evolucionar a una determinada configuracin, como que todos los puntos tengan valor 0 o generen estructuras estables que se mantengan a lo largo del tiempo. Calcular la probabilidad de que una serie de configuraciones iniciales evolucionen a una configuracin concreta no es computable en general, aunque hay casos particulares en los que se puede llevar a cabo aproximaciones (por ejemplo, una configuracin inicial con patrones de pequeo tamao). Si cada una de estas secuencias de valores que conforman una configuracin es representada como un programa entonces un autmata celular de clase 4 puede ejecutar todos los posibles programas en paralelo. Tras una serie de pasos de evolucin las configuraciones pueden darse mltiples veces, de tal manera que definen el comportamiento del autmata. Aunque la probabilidad a priori de que se de una determinada configuracin a partir de un estado inicial concreto sea pequea, la probabilidad a posteriori tras los consecuentes pasos de evolucin puede aproximarse a 1. Esta posibilidad de que se de un comportamiento arbitrario a partir de la semilla inicial permite que sistemas fsicos complejos encontrados en la naturaleza puedan ser caracterizados por el autmata. La posibilidad de la existencia de una computacin universal asociada a los autmatas celulares conlleva que clculos arbitrarios pueden ser llevados a cabo por estos autmatas, pudiendo ser usados como computadores de procesamiento paralelo. Los fundamentos lgicos que se pueden encontrar en los sistemas naturales parecen estar ms ligados a los autmatas celulares que a las clsicas mquinas de Turing. Se puede suponer entonces que estos sistemas pueden ser simulados de una forma ms eficiente por estos autmatas que por computadores tradicionales, siendo la programacin tradicional de poca utilidad en este tipo de sistemas, por lo que se precisa una nueva metodologa que saque provecho de las caractersticas de los autmatas celulares.

Anda mungkin juga menyukai