next up previous contents
Next: Diagramas de subconjuntos Up: Autómatas Celulares Lineales con Previous: Cálculo de preimágenes


Diagramas de Bruijn

Para un AC lineal (k,r) donde n=2r+1, el diagrama de Bruijn es una gráfica dirigida y etiquetada, con 2n-1 vértices y 2n aristas. Los vértices se etiquetan con los dígitos binarios de los enteros desde 0 hasta

Un vértice está dirigido desde el vértice

al vértice

si y sólo si

tal que

Lo que quiere decir que las secuencias de caracteres que definen los vértices i y j se traslapan en los dígitos s, y éste hecho lo denotaremos como

Cuando existe esta arista, se etiqueta con el resultado de aplicar la regla de evolución a

como se muestra en la figura 2.

 
Figura 2: Diagrama de Bruijn genérico para AC lineales (2,1)

Una aplicación inmediata para éste tipo de diagramas, es dada una secuencia de dígitos, encontrar otra secuencia que es preimagen de la primera.

Si es una secuencia binaria de m dígitos, se puede encontrar un ancestro para esta secuencia buscando todos los caminos de longitud m que se pueden encontrar a través de las aristas etiquetadas con

y construyendo las secuencias que se generan por el traslape de los n-1 vértices. Si no se puede hallar un camino, entonces esa secuencia no tiene preimagen y constituye un ``jardín de edén''. Los diagramas de Bruijn nos indican todos los posibles ancestros para una cadena de longitud n.

Para mostrar lo anterior, sea st = 1001010101011 la secuencia de dígitos de la cual deseamos conocer un ancestro, sea

la cadena buscada y

la regla de evolución clasificada con 60 bajo el criterio de Wolfram (siguiendo con la regla expuesta en el ejemplo anterior).

Recordemos que en este diagrama, dos nodos que son conectados por una arista forman una secuencia y la etiqueta de la arista es el dígito que se genera, de esta manera para generar el primer dígito de la secuencia inicial s hay 4 posibilidades:

Para generar el segundo dígito en st que es un 0, de cualquier camino escogido anteriormente debemos seguir por una arista que esté etiquetada con 0. Esto elimina las posibilidades 1 y 2 ya que con estas no podemos seguir por una arista que esté etiquetada con un 0. Así que hasta ahora hemos generado 2 cadenas que son candidato para ser ancestro de st, la 100 y la 011, que llamaremos a y b respectivamente. Siguiendo por una arista etiquetada con 0 agregamos a la cadena s^(t-1) un 0 en el caso de a y un 1 en el caso de b, quedando formadas 1000 y 0111 respectivamente, Observamos que los nodos visitados son para el caso a:

En el paso 1 se genera la cadena 100, en el paso 2 la cadena 000 pero los 2 primeros 0's de esta cadena corresponden al traslape de las vecindades generadas en el paso 1 y el paso 2, así es de que sólo se agrega un dígito en cada paso, formando la cadena 1000; continuando hasta el paso 10 cuando se genera la cadena

El paso 11 también puede ser

de manera que

en el caso a puede ser a= 100011001100101 o bien a = 100011001100100. Para el caso b se procede de la misma manera, y los ancestros son b = 011100110011010 o bien b = 011100110011011. En los AC con propiedades en la frontera tanto en la izquierda como en la derecha, se observan algunas características interesantes enunciadas en el siguiente teorema.
 

Teorema 2. En los AC(2,1) de izquierda con regla de evolución f definida como en (7), si

entonces a cada uno de los nodos del diagrama de Bruijn B , le llegan dos aristas una está etiquetada con e y la otra está etiquetada con 1-e . En los AC(2,1) de derecha con regla de evolución f definida como en (8), de cada uno de los nodos del diagrama de Bruijn B , salen 2 aristas una etiquetada con e y la otra etiquetada con 1-e.

Demostración.- Si

es como en (7), entonces

n=2r+1 . Pero cada vértice

en B recibe aristas de aquellos vértices etiquetados con

y

traslapándose para formar las vecindades

y

que producen símbolos diferentes bajo la regla de evolución f .

De manera similar, si

es como se definió en (8), entonces

cuando

De cada vértice

salen aristas a vértices etiquetados con

y

traslapándose para formar las vecindades

y

y por la definición de la función, estas vecindades generan símbolos diferentes q.e.d. Ver figura 4.

Los diagramas de Bruijn para AC (k,r) tienen asociadas k matrices. En el caso (2,1) estas matrices se llaman matrices A y matriz B denotadas por B0 y B1 . En esta matriz, las filas y las columnas están etiquetadas con los símbolos de los nodos del diagrama de Bruijn y si i y j son nodos en el diagrama de Bruijn, entonces las entradas en la matriz serán un 1 si el nodo i se traslapa con el nodo j y además

formando así la matriz de Bruijn A.

La matriz de Bruijn B se forma de manera similar, las entradas en la matriz B serán un 1 si el nodo i se traslapa con el nodo j y además

formando de esta manera la matriz de Bruijn B.

La suma de las k matrices (una para cada estado) genera la matriz topológica B del diagrama de Bruijn. La cual podemos definir de la siguiente manera:


Matriz topológica de un AC(2,1)

Teorema 3.   Si los elementos en las columnas de la matriz topológica definen una permutación de los estados y las entradas

donde

es un elemento de B ; entonces la regla de evolución tiene propiedades de izquierda.

Demostración.-Supongamos que los elementos de cualquier columna en la matriz no son una permutación de los estados, lo cual significa que hay más de un renglón que en esa columna tiene la misma entrada. Supongamos ahora que la segunda condición tampoco se cumple, eso significa que la vecindad

puede tener el mismo mapeo en la función que la vecindad

lo que contradice el enunciado. q.e.d.

Teorema 4.   Si los elementos en las filas de la matriz topológica definen una permutación de los estados y

donde

es un elemento de B ; entonces la regla de evolución tiene propiedades de derecha.

Demostración.-Supongamos que los elementos de cualquier fila en la matriz no son una permutación de los estados, lo cual significa que hay más de una columna que en ese renglón tiene la misma entrada. Supongamos ahora que la segunda condición tampoco se cumple, eso significa que la vecindad

puede tener el mismo mapeo en la función que la vecindad

lo que de nuevo contradice el enunciado. q.e.d.

Teorema 5. El número de ancestros [10] de una secuencia

bajo un AC (k,r) está dado por la suma de los elementos en el producto:

 

En el caso de que el producto de (110) es igual a la matriz O la secuencia

no tiene ancestros en la regla f .



next up previous contents
Next: Diagramas de subconjuntos Up: Autómatas Celulares Lineales con Previous: Cálculo de preimágenes




A. Cáceres González
E-mail:acaceres@alpha.cs.cinvestav.mx