Usando los conceptos anteriores hemos podido representar la evolución de un autómata celular lineal reversible; sin embargo, la pregunta que se presenta es: ¿este proceso funciona para representar a todo tipo de sistemas de esta clase?. En esta sección trataremos de dar respuesta a dicha cuestión.
Una de las primeras preguntas que surgen es: ¿qué sucede cuando el tamaño de vecindad es par, o sea si el valor de no es entero?. En el proceso de Kari, se definen las biyecciones
y
, las cuales son fundamentales para definir la permutación en bloque.
Tomemos el siguiente ejemplo, un autómata reversible , es decir de
estados y
, con la regla de evolución
el cual es un corrimiento a la derecha, y cuya regla inversa es la
un corrimiento a la izquierda.
En este caso en que ; el conjunto de
estará formado por todas las posibles secuencias de longitud
, es decir, secuencias de célula y media de longitud, lo que trae consigo el problema de partir las células. Para solventar este problema, lo que se puede hacer es que en vez de tomar el valor de
para el cual ambas reglas son reversibles, utilizaremos el valor
, en donde
es la función techo de
, el menor entero mayor o igual a
. Este paso es válido ya que con esto se tomará un valor que es mayor o igual al mínimo
para el cual el autómata es reversible y por lo tanto seguirá cumpliendo con serlo con la ventaja de que
ya tendrá siempre un valor entero.
En el ejemplo, aplicando
, entonces llevemos al autómata reversible
a un autómata
, agregando una célula más a cada vecindad y siguiendo con el comportamiento de corrimiento a la derecha para
y de corrimiento a la izquierda para
que corresponden a las reglas
y
repectivamente.
|
Con este cambio, tenemos ahora que el tamaño de las secuencias de el conjunto
siempre será entero; pero, observemos las nuevas reglas generadas. La regla original tiene como característica que los valores de sus índice de Welch son
y
, lo cual nos lleva a una segunda pregunta con respecto a la definición de Kari: ¿qué sucede si los índices de Welch son distintos entre sí ?.
Veamos una vez mas como definimos las permutaciones en bloque; cada permutación de un bloque de longitud consiste en aplicar a los
elementos izquierdos la composición
y aplicar a los
elementos derechos la composición
. Sabemos que tanto
como
mapean de manera biyectiva los elementos de los conjuntos
y
al mismo conjunto
, es decir, ambos conjuntos
y
tienen la misma cardinalidad, ya que
y
, esto indica que
, o que ambos índices de Welch son iguales.
Tomemos el caso en que esto no ocurra, tendremos que
, y las biyecciones
y
no podrán aplicarse, pongamos como ejemplo el autómata
anteriormente presentado, el valor de
y
, sabemos también que
. Tenemos que el conjunto
tiene
elementos, el conjunto
tiene
elementos y el conjunto
tiene
elementos; si deseáramos aplicar los mapeos
y
, en el primer caso tenemos que mapear de un conjunto de
elementos a uno de
, es decir, nos sobran elementos a mapear en
, lo cual no puede ser muy importante, pero en el segundo caso, debemos mapear
elementos de un conjunto a otro con sólo
elementos, aquí nos faltan elementos y por lo tanto las permutaciones no se pueden definir.
En la demostración de su teorema, Kari toma el valor del índice como base para definir las biyecciones
y
. El que
indica que a la vez
ya que
, recordando que
y
.
Entonces, podemos redefinir a los índices y
, haciendo un uso explícito de los índices de Welch
y
, quedando entonces:
![]() |
(4.10) |
Esta pequeña redefinición provoca que tanto como
siempre valgan
y por lo tanto, se puedan definir las biyecciones
y
, ahora bien, dichas biyecciones ya no serán hacia el conjunto
, sino que quedarán definidas como sigue:
![]() |
(4.11) | ||
![]() |
(4.12) |
Debemos señalar con cuidado algo, la definición de y
parece ser muy sencilla, sin embargo tienen mucha más relevancia de lo que uno podría suponer a primera vista, el que estas biyecciones vayan al conjunto
indica, primero, que la longitud de cada secuencia en este conjunto es de
, y en segunda, indica de que longitud debe ser el corrimiento a realizar entre la primera y la segunda permutación en bloque. Hemos visto que esto funciona muy bien en el caso en donde los índices de Welch
y
son iguales, pero cuando no lo son,
y
ya no pueden mapear al conjunto
, sino deben mapear a otros conjuntos de secuencias de
cuyas cardinalidades deben ser
y
respectivamente para definir una biyección con
y
. En principio, la pregunta que planteamos es: ¿qué longitud deben tener entonces las secuencias en ambos conjuntos?.
Tomemos primero el caso izquierdo, para conocer esto debemos poner a la expresión en forma de un exponente de
, aplicando logaritmos
![]() |
(4.13) |
resultando
![]() |
(4.14) |
Procediendo de la misma forma para el lado derecho
![]() |
(4.15) |
De lo anterior se desprende que la longitud de las secuencias en y
son:
respectivamente.
Además, el corrimiento debe tener una longitud de entre la primera y la segunda permutación en bloque.
Retomando nuestro ejemplo del autómata , vemos que los índices de Welch son
y
, con cardinalidades
,
. De las ecuaciones 4.16 y 4.17 tenemos
![]() |
(4.18) |
entonces
![]() |
(4.19) |
Por consecuencia las biyecciones
y
están bien definidas al igual que las longitudes de las secuencias tanto para
como para
, siendo
y
respectivamente. Por último, el corrimiento entre la primera y la segunda permutación en bloque debe ser de longitud
.
Asignemos el mapeo de la siguiente manera:
Ahora asignemos el mapeo .
Sabemos que
y que
, es decir, podemos obtener a
y a
por medio de
y
respectivamente, esto se hace intercambiando la posición de los bloques en cada elemento de
y de
, por supuesto, se deben conservar los mismos mapeos
y
; basándonos en la biyección
en
, asignemos ésta misma al conjunto
.
Por último, asignemos en
a
.
El proceso funcionará de la siguiente manera, tomemos una secuencia de estados y veamos como evoluciona bajo la regla .
Observamos el típico comportamiento de un corrimiento a la derecha, ya tenemos una configuración inicial y conocemos su evolución, veamos si llegamos al mismo resultado utilizando la nueva definición de las biyecciones, apliquemos a la configuiración inicial la permutación en bloque .
Así hemos obtenido una nueva secuencia de estados, a continuación apliquemos a esta secuencia la permutación con un corrimiento de tamaño 2.
En la Figura 4.14 se observa que al aplicar los bloques de tamaño
generan construcciones de longitud
ocurriendo lo mismo para los bloques de tamaño
. Por consecuencia las biyecciones se tienen que realinear para conservar la simetría con las permutaciones en bloque de
.
Al final se ha obtenido una secuencia la cual concuerda con la evolución de la configuración inicial bajo la regla ; entonces el resultado de este proceso ha sido poder representar la evolución de este autómata
como la composición de dos permutaciones en bloque
, pero redefiniendo
y
y con un corrimiento entre ambas permutaciones de tamaño
.
En la Figura 4.15 se observa de manera simplificada este proceso en donde las permutaciones aparece de color negro y las permutaciones
en color gris.
Las redefiniciones hechas anteriormente han brindado al proceso de Kari una generalidad mayor, sin embargo, propongamos el siguiente escenario; tomemos un autómata celular lineal reversible , en el cual se cumple que
; por lo tanto, valores factibles de los índices de Welch pueden ser
y
, hemos dicho que la expresión
define tanto la longitud de las secuencias en que se van a mapear los elementos de
bajo
así como el tamaño del corrimiento entre las permutaciones en bloque, retomando el ejemplo, si sustituimos
,
y
en la expresión obtenemos que el resultado es
.
El valor obtenido es correcto, el conjunto tendrá tantos elementos como
, si no exite ninguna equivocación esto debe ser igual a
, sustituyamos los valores, encontramos que
, sin embargo,
no podemos representar secuencias de longitud
ni podemos hacer un corrimiento de ese tamaño en un espacio discreto donde el autómata celular se desenvuelve, entonces, aunque analíticamente no hay error, es imposible representar todos los autómatas celulares lineales reversibles con estas redefiniciones.
Se podría pensar en utilizar nuevamente
para hacer entero este valor, sin embargo, en algunos casos tendríamos el problema de que las permutaciones serían de bloques de tamaño
a bloques de una longitud mayor, trayendo consigo problemas de realineación entre las permutaciones en bloque para representar correctamente la evolución del autómata.
Otra posible solución entonces sería llevar a todo autómata reversible a una forma en donde sus índices de Welch sean iguales, y el valor de sea entero para poder utilizar el proceso descrito por Kari sin modificación alguna, esto podría hacerse tomando valores de
más grandes que el inicial de ser necesario, o haciendo productos cartesiano de la regla de evolución original con su reflexión para igualar los índices de Welch, por supuesto, esto trae los inconvenientes de manejar un mayor tamaño de vecindad y/o un mayor número de estados, pero es factible en teoría.
El problema que se ha visto con las redefiniciones es que, ni la longitud de las secuencias ni el corrimiento son siempre representables. Esto se debe por una parte a que las biyecciones y
mapean
y
al conjunto
y
respectivamente, los cuales no siempre pueden formar secuencias de longitud exactamente igual a
o
según corresponda. Tampoco es posible aplicar siempre un corrimiento entre las permutaciones en bloque de tamaño
. Si es así entonces surge la pregunta: ¿por qué no tomar otros conjuntos a donde mapear
y
?.
La importancia de este proceso radica en las diferencias de los ancestros que guardan y
en un autómata reversible; es decir, contabilizan de alguna forma los índices de Welch, y las biyecciones
y
solo enumeran dichos conjuntos, pero hemos visto que hasta ahora la manera de enumerarlos no siempre es factible por medio de secuencias del conjunto
, entonces busquemos enumerarlos de alguna otra forma que siempre sea factible.
Definamos los siguientes conjuntos:
![]() |
(4.20) | ||
![]() |
(4.21) |
claramente, y
; tomemos nuevamente las definiciones de
y
como:
![]() |
(4.22) |
Volvamos al resultado de Kari y reescribamos su prueba.
Prueba: Considere a tal que representa a las vecinades de
y
. Debido a que
y
, las biyecciones
![]() |
(4.23) | ||
![]() |
|||
![]() |
(4.24) |
existen, el mapeo puede ser cualquiera siempre y cuando cumpla con ser biyectivo.
Ahora bien, si consideramos
como ya han definido en la sección 4.2 y sean
las funciones correspondientes para la regla inversa .
Tanto con las funciones para como para
nosotros podemos encontrar las permutaciones
y
de
dados por:
![]() |
(4.25) | ||
![]() |
(4.26) |
Obteniendo una evolución de un autómata reversible.
![]() |
Cada elemento en y
representa a una longitud
.
resulta ser la permutación en bloque definida para un bloque de tamaño
en la primera configuración de estados, aplicándole a este bloque la permutación
.
es la permutación en bloque definida para un bloque de tamaño
en la segunda configuración y haciendo un corrimiento de longitud
en la secuencia
correspondiente a un corrimiento de longitud
en la segunda configuración.
Entonces tenemos que
.