Fenómeno de sincronización con autómatas celulares

En la naturaleza se dan lo que se conoce como fenómenos de sincronización, elementos que se sincronizan solos a partir de un pequeño intercambio de información local.

Si colocas varios metrónomos, cada uno marcando un tiempo, en una superficie que permita la transferencia de movimiento entre ellos acaban sincronizándose.

Las luciérnagas también sincronizan sus destellos hasta terminar destellando al unisono, este proceso tiene una complicación más ya que cada luciérnaga solo percibe a sus vecinas más cercanas por lo que el procesos de intercambio de información ocurre a escala local, pero acaba afectando de forma global.

Como vemos lo que tiene en común es el intercambio de información.

Vamos a simular esto mismo de una forma simple. Para ellos tendremos un autómata celular donde cada celda empieza en un estado de N posibles (4 en nuestro caso: rojo, azul, lima y amarillo) elegido al azar, cada uno de ellos con igual probabilidad. No cuesta mucho imaginar que en un autómata celular con C celdas habrá aproximadamente C/N celdas en cada estado distribuidas uniformemente.

En cada iteración cada celda mirará a sus 8 vecinos, elegirá uno al azar y copiará su estado.

El ejemplo está aquí y el código aquí.

El autómata durante su ejecución

En podríamos pensar que si dejamos funcionar este sistema durante mucho tiempo lo único que ocurrirá es que los individuos irán intercambiando sus estados en un confuso baile de colores. Sin embargo si se deja el tiempo suficiente los estados empiezan a agruparse y a crecer como si compitieran entre ellos hasta que uno a uno comienzan a desaparecer hasta que al final solo queda uno. Todas la celdas han sincronizado su color.

Resultado final con todas las celdas sincronizadas

Si el autómata es pequeño el resultado se alcanza antes, cuando es muy grande tarda mas tiempo en llegar a el, pero al final el resultado es el mismo todas se sincronizan (aunque el color final sea diferente cada vez)

¿Como es esto posible? En teoría no debería cambiar demasiado el estado global, cambiamos aleatoriamente el valor de cada celda copiando el de un vecino que a su vez es aleatorio. Fijaos que ni siquiera es un intercambio inteligente ni muy organizado. Lo que ocurre es que en el azar hay pequeñas desviaciones, pequeñas zonas locales donde un color se vuelve mayoritario esto es posible por el intercambio de información entre vecinos. Cuantos más individuos de ese color existan más probable es que ese estado sea copiado por otros. Cuando un individuo queda rodeado de vecinos en su mismo estado se ha creado un núcleo estable que será difícil de cambiar y que ira creciendo. Solo en la frontera de ese núcleo puede darse el cambio. Basta un pequeño desequilibrio para que el intercambio de información entre vecinos lo realimente y crezca. Al ser un proceso aleatorio hay vaivenes, un color que es mayoritario puede descender bruscamente y otro ocupa su lugar hasta llegado a un punto en que un color es tan mayoritario que acaba imponiéndose.

Debajo puede verse una gráfica con lo % de cada color en la ejecución del autómata.

La evolución en % de los cuatro colores hasta que uno se impone (el 2º)