13 de diciembre de 2013 1. Introduccin La Computacin Celular abarca varios modelos de cmputo entre los cuales puedo mencionar a los autmatas celulares, redes neuronales celulares, compu- tacin ADN, estructuras autorreproductoras, etc. La Computacin Celular uti- liza unidades de proceso simple las cuales se les denomina clulas. Cada clula slo se comunica con un reducido nmero de clulas ms o menos cercanas a ellas, y estas lneas de conexin a su vez son portadoras de una pequea can- tidad de informacin. Para este tema de estudio me enfoco al estudio de los autmatas celulares los cuales describo a continuacin. Los autmatas celulares fueron concebidos a nales de los aos 40 por Stanis- law Ulam y Jonh von Neumann. La construccin original consta de un arreglo ce- lular (autmata celular) auto-reproductivo requera que cada clula de un espa- cio celular representado por una cuadrcula bi-dimensional soportara un conjun- to de 29 estados. Adems, el valor del estado en que se encuentra cada clula del arreglo localizada en una posicin (i, j) (donde i es la columna y j el rengl on) en un tiempo t estar determinado por los valores de los estados en que se en- cuentran las clulas localizadas en las posiciones (i 1, j), (i + 1, j), (i, j + 1) e (i, j 1) y el valor del estado en que se encuentra la clula central loca- lizada en la posicin (i, j) en el tiempo t 1; cada clula del arreglo en algn momento ser una clula central, la cual junto con las clulas ubicadas arriba, abajo, a la izquierda y a la derecha (ortogonalmente) de la misma forman lo que se conoce como vecindad von Neumann (Figura 1). Las interacciones locales de las vecindades en un tiempo determinan el estado global del arreglo (el cual es actualizado sincrnicamente) en el tiempo t + 1. Este grado de complejidad fue necesario debido a que von Neumann buscaba disear su autmata como un sistema de computacin universal o mquina de Turing. 1 Figura 1: Vecindad de Von Neumann En los siguientes apartados describir a detalle las clasicaciones, la de- nicin formal as como tambin la equivalencia con la Mquina de Turing, los problemas que puede resolver as como tambin los que no puede resolver. 2. Modelos de autmatas celulares Existen muchos trabajos de los cuales estn el modelo original de von Neu- mann el cual fue creado para hacer computacin universal al modelar una m- quina de Turing. El modelo de Alvi Ray Smith III que se desarrollo a principios de la dcada de 1970 quien se basa en las funciones parciales recursivas y de esa manera crea su modelo. El modelo life de Conway tambin en 1970, pero demostrado por Buckingham hacia 1978, este es el modelo que es ms sorprendente, porque no era el propsito original que tuviera capacidad de simular una mquina de Turing, ni simular la actividad de las compuertas lgicas fundamentales, sin embargo, mediante la interaccin de las clulas a travs del tiempo, se ha podido demostrar que es posible dar una conguracin inicial del modelo life que hace computacin universal. Los tres trabajos antes mencionados no son los nicos que relacionan aut- matas celulares con computacin universal. De los trabajos ms importantes sobre computabilidad y universalidad con autmatas celulares estn los estudios de Stephen Wolfram; Stephen Wolfram en la dcada de 1990 hizo un profundo estudio de las evoluciones de los autmatas 2 celulares, principalmente en el caso unidimensional, y propuso las cuatro clases de evoluciones que un autmata podra mostrar. Wolfram propuso que los autmatas celulares que muestran evoluciones com- plejas, podran ser capaces de hacer computacin universal. Esta sugerencia fue presentada en su libro A New Kind of Science; la de- mostracin fue hecha por Matthew Cook en 1994, utilizando un signicativo e ingenioso sistema gliders y de choques de gliders. Los gliders son patrones de- nidos en el espacio celular que aparentemente se desplazan por el espacio al transcurrir cierto intervalo de tiempo. Wolfram deni una terminologa bsica por medio de la cual los autmatas celulares en una dimensin pueden ser clasicados de acuerdo a su dinmica de evolucin. Para este trabajo me enfocare en los autmatas celulares en una dimensin para los cuales existen diferentes tipos de notacin que describen la estructu- ra por lo que se hace uso de la llamada notacin Wolfram que se describe a continuacin. 3. Estructura Un autmata celular uni-dimensional consta de un arreglo lineal nito de celdas o clulas (ver gura 2). Cada clula del arreglo puede tomar como valor un elemento de un conjunto nito de estados, el cual es denotado por la letra K. Los elementos del conjunto K pueden ser de diferentes tipos (nmeros, letras, smbolos, etc.) puesto que la naturaleza de los estados no es relevante. Figura 2: Arreglo de 10 clulas. El nmero de estados para un autmata celular lineal puede ser variable, por esta razn en la notacin Wolfram el nmero de estados se representa por medio de la variable k, es decir, la cardinalidad del conjuntoK es igual a k, lo cual se escribe como #(K) = k. Otro elemento importante en la notacin Wolfram es el que l denomina como radio de vecindad y que denota por medio de la variable r. El radio de vecindad indica el rango de interaccin a nivel local que van a tener las clulas entre s. Si r es igual a uno, entonces cada clula del arreglo ver afectado su estado durante la evolucin del autmata a partir de los estados de sus clulas vecinas ms prximas tanto del lado izquierdo como del lado derecho. Esto forma lo que se conoce como vecindad, donde el tamao total de una vecindad es igual 3 a 2r + 1 incluyendo a la clula central. Para el caso en el que r es igual a uno, el tamao total de la vecindad va a ser igual a tres (ver gura 3). Figura 3: Vecindad de tamao tres. Un punto importante a mencionar es que al ser nito el arreglo la primera y la ltima clula no tendrn vecinos del lado izquierdo y derecho respectivamente. Una manera de solucionar esto es tomar el arreglo como un anillo, es decir, cerrando el arreglo en forma circular para conservar la uniformidad en todas las vecindades (ver gura 4), adems, al tomar el arreglo como un anillo se establecen los lmites a la frontera o condiciones de lmites peridicos. Figura 4: Estructura de un autmata celular lineal estableciendo condiciones de lmites peridicos. 3.1. Denicin Formal Despus de ver la estructura que tiene un autmata celular lineal enseguida describo la denicin formal para un autmata celular. Un autmata celular es una estructura de la forma (d, r, Q, #,V, f) siendo: d: la dimensin del autmata d > 0. La dimensin indica la organizacin espacial de la clulas. La posicin de cada clula se expresa mediante un vector de Z d . Para d = 1: autmata unidimensional Posicin de la clulas: Z. Para d = 2: autmata bidimensional Posicin de las clulas:ZxZ. r: es el ndice de localidad que marca el tamao de la vecindad. 4 Indica el nmero de vecinas para cada clula. Q: es el conjunto de estados. El estado en el que se encuentra cada clula. Por ejemplo Q = 0, 1. #: es un estado de Q, llamado estado quiescente. Indica la ausencia de actividad. V: es un vector de vecindad que contiene r elementos distintos de Z d . V (Z d ) r . Indica las clulas vecinas. V = (z1, . . . , zr). Ejemplo: si d=2, V=((0,1),(0,-1)) y la clula es y=(1,1), su vecindad es: y+(0,1)=(1,2) y+(0,-1)=(1,0) f: Funcin de transicin o regla del autmata f :Q r+1 + 1 Q f(q ir (t 1), q ir+1 (t 1), ..., q i+r (t 1)) = q i (t) siendo q i (t) el estado de la clula i en el tiempo t. Para cada clula, f no se dice el estado que tendr en la siguiente unidad de tiempo, en funcin de su estado actual y del estado de sus celdas vecinas. 3.2. Conguracin de autmata Se dene la conguracin de un autmata celular C o palabra de C a cual- quier funcin : Z d Q. Se dene la conguracin siguiente de como la palabra que resulta de aplicar la regla del autmata a sus clulas, es decir f(). f(0) :es el conjunto de todas las posibles conguraciones f(1) :Resultado de aplicar la regla del autmata a palabras f(0). ... f(t) 4. Funcin de transiciones locales Lo que falta por denir es el estado al cual va a evolucionar cada clula del arreglo en el tiempo t +1 a partir de los estados de los vecinos y del suyo propio en el tiempo t. Esto va a constituir la funcin de transiciones locales, o dicho de manera ms general, la regla de evolucin del autmata. Por cuestiones prcticas, comnmente una regla de evolucin se expresa en trminos de su valor decimal, por ejemplo, regla 54 para un autmata celular lineal. Al denir una regla de evolucin lo que se hace es especicar los estados 5 a los que evolucionan las clulas que conforman el arreglo en base a todas las vecindades posibles. Sea C un autmata unidimensional, con Q = 0, 1 y r = 2. K = m odulo(Q). Una regla de este autmata posee tres argumentos binarios: f(q i1 (t 1), q i (t 1, q i+1 (t 1)) = q i (t) Teniendo en cuenta que: Hay 2 3 posibles valores para sus argumentos (k r+1 ) Para cada uno de ellos tenemos dos (k) salidas. Existe 2 2 3 = 2 8 reglas diferentes. k k (r+1) reglas diferentes para un caso general. 111 110 101 100 011 010 001 000 Regla 0 1 0 0 0 0 0 0 Regla 0 1 0 1 0 1 1 0 Cuadro 1: Numeracin de Reglas. Dado un autmata celular, el conjunto de todas las posibles reglas a tener en cuenta es numerable. Cada regla se puede especicar por su secuencia binaria (en base k) y por tanto por su nmero decimal equivalente. Ejemplo: 111 110 101 100 011 010 001 000 Regla 1 0 0 0 0 0 0 0 1 1 10 = 00000001 2 Regla 90 0 1 0 1 1 0 1 0 90 10 = 01011010 2 Regla 54 0 0 1 1 0 1 1 0 54 10 = 00000001 2 Cuadro 2: Ejemplo de Numeracin de Reglas. En el caso de la regla 54 la suma sera: 2 1 +2 2 +2 4 +2 5 = 2+4+16+32 = 54. Como se puede observar, a partir del contenido de la tabla 3.1 se puede denir la funcin de transiciones locales f : A B la cual se observa en la gura 5. 6 Figura 6: Diagrama de evoluciones de un autmata celular lineal (2,1) aplicando la regla 54. Figura 5: Funcin de transiciones locales de la regla 54. En la gura 3.11 se ilustra el comportamiento a nivel macroscpico de un autmata celular lineal (2,1) aplicando la regla 54 por medio del diagrama de evoluciones. Ejemplo de autmata unidimensional. C = (1, 2, {0, 1}, 0, v, f) siendo V = {1, 1} y la regla 7 Autmata1: f(q i1 (t 1), q i (t 1), q i+1 (t 1)) = (q i1 (t 1) +q i+1 (t 1))mod2. . Autmata2: f(q i1 (t1), q i (t1), q i+1 (t1)) = (q i1 (t1)+q i (t1)+q i+1 (t 1))mod2. . La evolucin de los autmatas unidimensionales es: Autmata1: 0 1 0 t = 0 0 1 0 1 0 t = 1 0 1 0 0 0 1 0 t = 2 0 1 0 1 0 1 0 1 0 t = 3 1 0 0 0 0 0 0 0 1 t = 4 Autmata 2: 0 1 0 t = 0 0 1 1 1 0 t = 1 0 1 0 1 0 1 0 t = 2 0 1 1 0 1 0 1 1 0 t = 3 1 0 0 0 1 0 0 0 1 t = 4 Cuadro 3: 5. Clasicacin de Wolfram Wolfram, a travs de su terminologa y observando la dinmica de evolucin deni cuatro clases de autmatas celulares lineales y son las siguientes: Clase I. Evolucin a un estado uniforme. Despus de transcurrido un cierto nmero de generaciones, todas las clulas del autmata convergen a un solo estado. En la gura 7 se observa el diagrama de evoluciones de un autmata celular lineal clase I. Este autmata celular es de orden (3,1) y su regla de evolucin es la 6J3J3B3B6. 8 Figura 7: Diagrama de evoluciones de un autmata celular lineal (3,1) aplicando la regla 6J3J3B3B6. Clase II. Evolucin a estados cclicos aislados. Durante la evolucin del autmata, existen ciertos patrones de comportamiento que se repiten de manera sistemtica a travs del tiempo. Estos patrones se pueden distin- guir claramente sobre un fondo representado por un solo estado el cual es opuesto al de las clulas que representan el patrn de comportamiento cclico (ver gura 8). 9 Figura 8: Diagrama de evoluciones de un autmata celular lineal (3,1) aplicando la regla B6B2B3M39. Clase III. Evolucin a estados cclicos amplios. Al igual que en un aut- mata celular clase II, en un autmata celular clase III existen patrones de comportamiento repetitivos, aunque no tan fcilmente identicables a simple vista debido a que el comportamiento de ste puede ser sumamente catico, lo que hace ms complicado el anlisis de este tipo de autmata (ver gura 9). 10 Figura 9: Diagrama de evoluciones de un autmata celular lineal (3,1) aplicando la regla 2OLCCMC2I. Clase IV. Evolucin a estados complejos aislados. Esta clase de autmata es una combinacin de las clases I, II y III. Al igual que en los autmatas clase II, existen comportamientos cclicos aislados, lo que hace distinguible un fondo uniforme el cual permite identicar dichos comportamientos los cuales son similares a los que se presentan en un autmata clase III (ver gura 10). 11 Figura 10: Diagrama de evoluciones de un autmata celular lineal (3,1) aplicando la regla 92727L7L9. 6. Equivalencia con la mquina de Turing Si un sistema es capaz de hacer computacin universal, entonces con las con- diciones iniciales apropiadas, su evolucin puede llevar a cabo cualquier proceso computacional nito. Varios autmatas celulares especcos son conocidos por ser capaces de hacer computacin universal. El vecino ms cercano de autmata celular bidimensional conocido como el juego de la vida se ha demostrado la computacin universal de manera que puedan implementar cualquier algoritmo. Algunos autmatas celulares unidimensionales con 18 estados han demostrado ser equivalente a la ms simple mquina universal de Turing conocida, y por lo tanto son capaces de realizar computacin universal. Se especula que los autmatas celulares identicados por motivos estadsticos como clase 4 son, de hecho, de forma genrica capaz de hacer computacin universal. Pero queda por demostrar la universalidad computacional de cualquier regla tal particular. Se pueden utilizar varios mtodos para tal demostracin. Uno de ellos sera una demostracin directa de que esta regla del autmata celular puede simular cualquier otra regla de autmata celular con una apropiada codicacin de los estados iniciales. El bloqueo de las transformaciones puede proporcionar las codicaciones necesarias: por lo que uno debe encontrar si una regla de autmata celular esta conectado a todos los otros en las redes de simulacin construidas a partir de las transformaciones de bloqueo. 12 7. Indecidibilidad en los autmatas celulares Los autmatas celulares presentan problemas indecidibles al igual que el problema de parada de la mquina de Turing, de los cuales menciono dos a continuacin: Se puede considerar la pregunta de si los patrones generados a partir de semillas iniciales particulares nitas nunca mueren en la evolucin del autmata celular. Se podra simular la evolucin explcitamente para ave- riguar si un patrn muere despus de decir mil pasos de tiempo, pero para determinar su destino nal, en general, requiere de un clculo de la longitud ilimitada. Por tanto, la pregunta es formalmente indecidible. El conjunto de conguraciones nitas que evolucionan a la conguracin nula despus de un determinado tiempo nito se puede especicar median- te un lenguaje formal regular. Pero all no est tal especicacin nita para el conjunto de conguraciones nitas que se desarrollan despus de cual- quier tiempo a la conguracin nula. Incluso la fraccin de conguraciones en este conjunto es, en general, un nmero no computable. Referencias [1] The Emergence of Cellular Computing, Moshe Sipper Swiss Federal Institute of Technology, Lausanne. [2] Mquina celular de computacin basada en mosaicos regla 110, Abdiel Emi- lio Cceres Gonzlez, CINVESTAV-IPN. [3] Modelacin de ujo de trnsito de autos utilizando autmatas celulares, Ren Rodrguez Zamora, CINVESTAV-IPN. [4] http://www.stephenwolfram.com/publications/cellular-automata- complexity/pdfs/problems-theory-cellular-automata.pdf 13