El código Wolfram es un sistema de nombres que se utiliza a menudo para las reglas de autómatas celulares unidimensionales , introducido por Stephen Wolfram en un artículo de 1983 [1] y utilizado en su libro A New Kind of Science . [2]
El código se basa en la observación de que una tabla que especifica el nuevo estado de cada celda en el autómata, en función de los estados en su vecindad, puede interpretarse como un número de k dígitos en el sistema numérico posicional S , donde S es el número de estados que puede tener cada celda del autómata, k = S 2 n + 1 es el número de configuraciones de vecindad y n es el radio de vecindad. Por lo tanto, el código de Wolfram para una regla en particular es un número en el rango de 0 a S S 2 n + 1 - 1, convertido de S -ary a decimalnotación. Puede calcularse de la siguiente manera:
- Enumere todas las configuraciones de estado posibles S 2 n + 1 de la vecindad de una celda dada.
- Interpretando cada configuración como un número como se describe arriba, ordénelas en orden numérico descendente.
- Para cada configuración, enumere el estado que tendrá la celda dada, de acuerdo con esta regla, en la próxima iteración.
- Interprete la lista de estados resultante nuevamente como un número S -ary y convierta este número en decimal. El número decimal resultante es el código Wolfram.
El código de Wolfram no especifica el tamaño (ni la forma) del vecindario, ni el número de estados; se supone que se conocen por el contexto. Cuando se usan solos sin ese contexto, a menudo se supone que los códigos se refieren a la clase de autómatas celulares elementales , autómatas celulares unidimensionales de dos estados con un vecindario (contiguo) de tres celdas, que Wolfram investiga extensamente en su libro. Las reglas notables en esta clase incluyen la regla 30 , la regla 110 y la regla 184 . La regla 90 también es interesante porque crea el módulo Triángulo 2 de Pascal . Un código de este tipo con el sufijo R, como "Regla 37R", indica un autómata celular de segundo orden con la misma estructura de vecindad.
Si bien, en un sentido estricto, cada código de Wolfram en el rango válido define una regla diferente, algunas de estas reglas son isomórficas y, por lo general, se consideran equivalentes. Por ejemplo, la regla 110 anterior es isomórfica con las reglas 124, 137 y 193, que se pueden obtener del original mediante la reflexión de izquierda a derecha y al volver a numerar los estados. Por convención, cada clase de isomorfismo está representada por la regla con el número de código más bajo. Una desventaja de la notación Wolfram, y el uso de la notación decimal en particular, es que hace que tales isomorfismos sean más difíciles de ver que algunas notaciones alternativas. A pesar de esto, se ha convertido en la forma estándar de facto de referirse a los autómatas celulares unidimensionales.
Autómatas celulares generalizados
El número de reglas posibles, R , para un autómata celular generalizado en el que cada celda puede asumir uno de los estados S determinado por un tamaño de vecindad de n , en un espacio D -dimensional está dado por: R = S S (2n + 1 ) D
El ejemplo más común tiene S = 2 , n = 1 y D = 1 , dando R = 256 . El número de reglas posibles tiene una dependencia extrema de la dimensionalidad del sistema. Por ejemplo, aumentar el número de dimensiones ( D ) de 1 a 2 aumenta el número de posibles reglas 256 a a partir de 2 512 (que es ~ 1.341 × 10 154 ).
Referencias
- ^ Wolfram, Stephen (julio de 1983). "Mecánica estadística de autómatas celulares". Reseñas de Física Moderna . 55 : 601–644. Código Bibliográfico : 1983RvMP ... 55..601W . doi : 10.1103 / RevModPhys.55.601 .
- ^ Wolfram, Stephen, Un nuevo tipo de ciencia . Wolfram Media, Inc., 14 de mayo de 2002. ISBN 1-57955-008-8