Módulo 25. Autómatas celulares y modelos basados en agentes
244.1. El calendario también es una regla
Un modelo de interacción debe indicar qué hace cada entidad al recibir información, cuándo actúa, qué versión de los estados observa y cuándo sus cambios quedan disponibles para las demás. Estas decisiones temporales forman el calendario de actualización. Modificarlo puede cambiar la dinámica aunque las instrucciones individuales no cambien.
En la actualización sincrónica, todas las entidades calculan sus estados nuevos a partir de una configuración compartida y los cambios se hacen efectivos juntos al terminar el paso. En la asincrónica, distintas entidades actúan en momentos diferentes; esta segunda familia reúne muchos procedimientos, con propiedades que no deben confundirse.
La misma operación computacional puede tener un significado justificado o ser un artefacto. En un modelo de decisiones semanales, una actualización sincrónica podría representar una reunión o un cierre común de información. En un programa mal implementado, un recorrido de izquierda a derecha podría introducir una prioridad espacial que nadie pretendía modelar.
Schönfisch y de Roos estudiaron las diferencias entre actualización sincrónica y diversos esquemas asincrónicos en autómatas celulares [1]. Huberman y Glance examinaron cómo supuestos temporales de simulación podían alterar resultados en juegos evolutivos [2]. Estos trabajos plantean qué parte de un resultado depende de las interacciones y qué parte de cómo se organizan en el tiempo.
Lo asincrónico no es siempre más realista. Algunos procesos tienen coordinación temporal efectiva, mientras que otros funcionan mediante oportunidades dispersas. También podemos necesitar una aproximación que conserve ciertas medidas aunque no reproduzca cada evento. La elección debe justificarse por el sistema y la pregunta.
Trabajaremos con dos agentes que copian el estado del otro. Con ellos demostraremos que la sincronía puede producir un ciclo y que dos órdenes secuenciales pueden conducir a estados finales opuestos. Después distinguiremos selección aleatoria, barridos y relojes continuos.
Para comparar estas variantes de manera interpretable debemos mantener constantes las reglas relevantes, declarar las unidades de tiempo y separar el número de operaciones computacionales de las oportunidades de acción representadas.
Una auditoría del calendario puede descubrir errores de implementación y revelar mecanismos. Si una conclusión depende de que todos reaccionen exactamente al mismo tiempo, esa dependencia merece aparecer en la explicación final; ocultarla bajo la palabra «iteración» dificulta evaluar su alcance.
244.2. Leer un estado y escribir otro
Imaginemos N agentes con estados reunidos en un vector. Cada agente tiene una función que calcula su estado nuevo a partir de la configuración que observa. En una actualización sincrónica, todas esas funciones reciben el mismo vector anterior. El resultado conjunto se almacena en otro vector y reemplaza al primero cuando termina el cálculo.
La ecuación impone una condición fuerte, pues exige que ninguna función use valores calculados para el tiempo siguiente. Si conserva esa separación entre lectura y escritura, un programa sincrónico puede recorrer los agentes en cualquier orden sin que cambie la salida.
En un esquema secuencial, una operación actualiza un agente y deja los demás como estaban. Llamemos U subíndice i a esa transformación de la configuración completa. Si después actúa otro agente, puede observar el cambio ya realizado, de modo que una secuencia de operaciones produce una composición de transformaciones.
Cambiar el orden produce U subíndice i aplicado después de U subíndice j. Ambas composiciones coinciden solo bajo condiciones particulares; cuando cada operación altera información que la otra usa, no hay razón general para esperar igualdad. Esta dependencia puede ocurrir aunque cada función individual sea determinista.
Lo que distingue ambos esquemas es la información disponible en cada cálculo, cualquiera que sea el número de bucles del programa. Una actualización sincrónica puede implementarse en paralelo o secuencialmente con una copia inmutable; una asincrónica, mediante una cola de eventos.
En una tercera posibilidad frecuente, los agentes calculan propuestas sobre el estado anterior y luego un procedimiento resuelve los conflictos entre ellas. Si dos agentes quieren ocupar la misma posición, necesitamos una regla adicional. Esa resolución puede introducir prioridades o azar aunque la fase de decisión haya sido simultánea.
Por tanto, conviene describir por separado la observación, la decisión y la ejecución. Un agente puede observar al inicio de un intervalo, decidir más tarde y actuar con retraso; otro puede reaccionar de inmediato. Agrupar todas esas etapas en una sola actualización puede ser una simplificación válida, pero sus consecuencias deben examinarse.
Una prueba de implementación sincrónica consiste en cambiar el orden del recorrido interno y exigir la misma configuración final. Si aparece una diferencia, alguna lectura está usando un valor ya modificado o existe otra dependencia no declarada. La prueba localiza un riesgo concreto sin exigir una simulación extensa.
244.3. Dos agentes que copian al otro
Sean A y B dos agentes binarios. Cuando A actúa, copia el estado actual de B; cuando B actúa, copia el de A. La configuración inicial es cero para A y uno para B. No hay ruido, memoria ni preferencias adicionales.
En actualización sincrónica, A lee uno y B lee cero, de modo que la configuración siguiente es uno cero. En el paso posterior ambos vuelven a copiar el estado anterior del otro y recuperan cero uno. La trayectoria alterna indefinidamente entre dos configuraciones.
Actualicemos ahora primero A y después B, con cambios que se hacen efectivos de inmediato. A copia el uno de B y la configuración se convierte en uno uno. Después B copia el uno de A, por lo que nada cambia. Ambos quedan activos y cualquier actualización posterior conserva ese estado.
Si invertimos el orden, B copia primero el cero de A y la configuración pasa a cero cero. A copia después ese cero y ambos permanecen inactivos. Hemos obtenido tres comportamientos distintos (un ciclo y dos consensos opuestos) a partir de la misma condición inicial y de las mismas instrucciones individuales.
La mala suerte de una simulación no explica la diferencia, porque los tres resultados son deterministas. Lo que cambió fue la información disponible cuando actuó el segundo agente. En el calendario sincrónico ambos reaccionan a una diferencia pasada; en el secuencial, la primera acción elimina esa diferencia antes de la segunda.
El número de agentes activos también ilustra una pérdida de información. En el ciclo sincrónico siempre hay uno activo. Si en el esquema secuencial elegimos al azar, con probabilidades iguales, qué agente actúa primero, el promedio final entre realizaciones también será uno, porque la mitad terminará con dos y la otra mitad con ninguno.
Una media poblacional igual no implica, por tanto, una dinámica igual. El sistema sincrónico conserva el desacuerdo y oscila; el secuencial llega al consenso. La distribución final, la actividad temporal y la correlación entre agentes separan ambos casos, aunque un promedio aislado no lo haga.
El ejemplo demuestra una dependencia concreta y verificable, pero no implica que la sincronía produzca siempre oscilaciones ni que la asincronía produzca siempre consenso. Su valor metodológico está en mostrar por qué el calendario debe incluirse entre los supuestos sometidos a contraste.
244.4. Los esquemas asincrónicos no son equivalentes
Un barrido secuencial fijo actualiza a todos los agentes una vez en el mismo orden. Si las posiciones tienen una organización espacial, ese recorrido puede introducir una dirección privilegiada. Un cambio realizado al inicio puede propagarse por varias posiciones durante una sola pasada, mientras que un cambio al final debe esperar hasta la siguiente.
Un barrido con permutación aleatoria elige un orden nuevo y actualiza a cada agente exactamente una vez. Elimina la prioridad permanente de un índice, pero conserva la restricción de que, dentro del barrido, nadie actúa dos veces ni queda sin actuar. Esa restricción produce dependencias entre las oportunidades de distintos agentes.
La selección aleatoria con reemplazo elige un agente en cada evento, de manera independiente, según probabilidades especificadas. Un mismo agente puede actuar varias veces seguidas y otro puede no actuar durante muchos eventos. Agrupar N selecciones como un barrido equivalente iguala el número de intentos, pero no garantiza una oportunidad para cada agente.
Para N agentes equiprobables, la probabilidad de que un agente concreto no sea elegido en N selecciones es uno menos uno sobre N, elevado a N. Por linealidad de la esperanza, el número esperado de agentes distintos que actúan es
Con diez agentes y diez selecciones, el valor es aproximadamente seis coma cincuenta y uno. Cuando N crece, la fracción esperada de agentes visitados se aproxima a uno menos el inverso de e, aproximadamente cero coma sesenta y tres.
En nuestro sistema de dos agentes, la primera selección ya produce consenso. Si A y B son equiprobables, cada consenso tiene probabilidad un medio y las selecciones posteriores no cambian nada. Aquí una permutación aleatoria y la selección con reemplazo coinciden en la distribución del estado final, aunque sus calendarios no sean idénticos.
Esa coincidencia es propia de este ejemplo. En otros modelos, las actualizaciones repetidas o la ausencia temporal de ciertos agentes pueden cambiar la velocidad y el resultado final, así que la propiedad de interés debe comprobarse bajo cada calendario.
También hay actualizaciones por bloques, en las que las decisiones pueden ser simultáneas dentro de cada bloque y los bloques pueden actuar secuencialmente. Con este esquema se representan procesos con coordinación local o etapas diferenciadas. Para especificarlo hay que indicar cómo se forman los bloques y qué información reciben de los que ya actuaron.
La palabra «asincrónico», usada sin detalles, deja abiertas todas estas posibilidades. Un informe reproducible debe nombrar el procedimiento concreto, la distribución de selección, el tratamiento de repeticiones y la relación entre eventos elementales y tiempo reportado.
244.5. Relojes continuos y tasas de eventos
Podemos representar las oportunidades de acción mediante relojes aleatorios en tiempo continuo. Supongamos que cada agente tiene un reloj exponencial independiente con tasa constante y que aplica su regla cuando su reloj suena. En estas condiciones, la probabilidad de dos eventos exactamente simultáneos es cero.
Si todos los N agentes tienen tasa lambda, la espera hasta el siguiente evento del sistema es exponencial con tasa N por lambda y cada agente tiene probabilidad uno sobre N de ser el siguiente. El tiempo medio entre eventos globales es uno dividido por N por lambda.
La derivación usa la independencia de los relojes. La probabilidad de que ningún reloj suene antes de un tiempo s es el producto de N probabilidades de supervivencia exponencial. Ese producto es la exponencial negativa de N por lambda por s, que identifica la distribución de la espera mínima.
Si las tasas son diferentes, la tasa total es su suma y la probabilidad de elegir al agente i es su tasa dividida por esa suma. Un agente con una tasa mayor tiene oportunidades más frecuentes; esa diferencia es un supuesto del modelo.
En el ejemplo de copia, asignemos tasa dos a A y tasa uno a B, en una misma unidad temporal. Desde cero uno, el primer evento decide el consenso. A actúa primero con probabilidad dos tercios y produce uno uno; B actúa primero con probabilidad un tercio y produce cero cero. El tiempo medio hasta ese consenso es un tercio de unidad.
Este cálculo separa dos efectos de las tasas. Multiplicar ambas por diez acorta diez veces el tiempo medio sin cambiar las probabilidades finales, mientras que modificar solo una altera también esas probabilidades. Una aceleración global del reloj y una ventaja temporal de cierto agente son intervenciones distintas, aunque ambas puedan describirse informalmente como hacer que el sistema responda más rápido.
Los métodos de simulación de eventos, como el que Gillespie desarrolló para sistemas de reacciones [3], usan la relación entre tasas, tiempos de espera y selección del evento. El principio puede aplicarse a un proceso de agentes cuyas transiciones se hayan definido como eventos con tasas apropiadas, pero no convierte cualquier regla discreta en un modelo continuo equivalente.
Si las tasas dependen del estado, hay que recalcular las que cambian después de cada evento. Si dependen explícitamente del tiempo, la espera ya no se obtiene necesariamente con una exponencial de tasa constante. Si hay memoria o períodos refractarios, puede ser necesario ampliar el estado o usar distribuciones de espera distintas.
También debemos distinguir un intento de actualización de un cambio efectivo, porque un reloj puede sonar cuando la regla deja al agente igual. Contar solo los cambios y contar todas las oportunidades producen escalas temporales diferentes. En el sistema de copia, tras el consenso sigue habiendo oportunidades, pero ninguna modifica los estados.
Expresar resultados en horas o días exige una justificación empírica de las tasas. Sin ella, el tiempo continuo es una construcción matemática útil con una unidad convencional. Ajustar una tasa para hacer coincidir una duración no garantiza que el orden de los eventos o la distribución de esperas sean adecuados.
244.6. Cuándo importa el orden y cuándo puede desaparecer
La dependencia del orden surge cuando una actualización modifica información que otra usa. En términos de operadores, preguntamos si aplicar primero una transformación y luego la otra produce el mismo resultado que invertirlas. Cuando las composiciones coinciden, decimos que esas operaciones conmutan sobre los estados considerados.
Dos agentes que actualizan componentes independientes y no leen información modificada por el otro pueden conmutar. Esa independencia es una condición suficiente en muchos casos sencillos, aunque no la única posible. Hay que verificar tanto qué escribe cada operación como qué lee.
En el ejemplo de copia, las operaciones no conmutan desde una configuración de desacuerdo. Actualizar A y luego B produce uno uno; invertir el orden produce cero cero. Desde un consenso, en cambio, ambas operaciones dejan todo igual. La dependencia del orden puede variar según la región del espacio de estados.
Los puntos fijos comunes permiten otra distinción. Una configuración es un punto fijo de la actualización sincrónica si cada regla individual devuelve el estado que el agente ya tiene. En ese caso, cualquier actualización individual también la conserva. Para estas reglas locales deterministas, los puntos fijos comunes no dependen del calendario.
Lo que sí puede cambiar son las trayectorias, los ciclos y las probabilidades de alcanzar cada punto fijo. En nuestro ejemplo, cero cero y uno uno son puntos fijos para ambos esquemas. La sincronía mantiene además un ciclo entre los estados de desacuerdo, mientras que la actualización de un solo agente lo destruye de inmediato.
El capítulo anterior sobre umbrales mostró una situación diferente. Cuando la activación es irreversible y añadir agentes activos nunca impide nuevas activaciones, un calendario justo alcanza el mismo cierre que la actualización sincrónica, aunque los tiempos puedan cambiar. Esa invariancia se apoya en propiedades específicas del mecanismo.
Un calendario justo da a todos los agentes oportunidades repetidas y evita excluir indefinidamente a alguno. Sin esa condición, incluso un proceso monótono puede quedar detenido artificialmente porque nunca se actualiza un agente habilitado. La justicia temporal es una hipótesis sobre la secuencia de operaciones.
No debemos trasladar ese resultado a modelos con recuperación, recursos consumibles o decisiones que se revierten. Si una oportunidad puede desaparecer después de que otro actúe, el orden puede decidir quién la aprovecha. En la competencia por una vacante, por ejemplo, dos agentes pueden cumplir las mismas condiciones y solo el primero conseguirla.
El análisis debe buscar propiedades que expliquen la invariancia o la dependencia observada. Una comparación de simulaciones muestra diferencias en los casos examinados; una demostración puede establecer condiciones más amplias. Ambas formas de evidencia son útiles si se declara con precisión qué abarcan.
244.7. Comparar tiempos sin cambiar varias cosas a la vez
Supongamos que queremos comparar una versión sincrónica y otra asincrónica de un modelo con mil agentes. Un paso sincrónico evalúa mil reglas; un evento asincrónico, una. Si comparamos cien pasos con cien eventos, hemos cambiado el número de oportunidades además del calendario.
Una normalización frecuente agrupa mil eventos asincrónicos como una unidad de tiempo por agente. Esa elección iguala el número esperado de oportunidades bajo selección uniforme, pero no su distribución. La comparación debe mantener explícita esa diferencia.
En tiempo continuo podemos fijar una tasa por agente para que cada uno tenga una oportunidad esperada por unidad temporal, aunque el número de eventos sigue siendo aleatorio. Igualar los valores esperados ayuda a construir la comparación, pero no hace equivalentes las trayectorias ni sus duraciones.
Otro riesgo aparece al cambiar a la vez el calendario y la información disponible. Si la versión sincrónica usa estados actuales y la asincrónica añade memoria o ruido, una diferencia no puede atribuirse únicamente al orden. Conviene modificar una dimensión cada vez o usar un diseño que permita separar sus efectos e interacciones.
Debemos definir qué resultado se comparará, sea una probabilidad de absorción, un tiempo de llegada, una distribución estacionaria o una medida de actividad. Algunos resultados pueden ser invariantes ante cambios de escala temporal, mientras que otros dependen directamente de ella. Comparar solo figuras sin identificar observables dificulta interpretar las discrepancias.
También importa el horizonte. Dos calendarios pueden alcanzar el mismo estado final a velocidades diferentes. Una comparación a tiempo fijo puede mostrar una diferencia que desaparece al llegar a la absorción; a la inversa, comparar solo el estado final puede ocultar retrasos relevantes para una aplicación.
La incertidumbre debe estimarse sobre realizaciones independientes del componente aleatorio que se estudia. Si la única aleatoriedad está en el orden, hay que generar órdenes independientes. Repetir la misma secuencia con la misma condición inicial no informa sobre la variabilidad entre calendarios.
Podemos usar secuencias relacionadas para reducir el ruido al comparar intervenciones, siempre que el acoplamiento esté documentado. Sin embargo, dos esquemas con números diferentes de eventos pueden consumir la aleatoriedad de maneras distintas. Usar la misma semilla en ambas versiones no garantiza que sus oportunidades se correspondan.
Una comparación clara declara las reglas compartidas, las diferencias temporales, las unidades, los observables y los criterios de detención. Esa estructura permite decidir si un contraste refleja una dependencia real del modelo, un cambio en la pregunta o una desigualdad accidental en el esfuerzo de simulación.
244.8. Calendarios como hipótesis sobre instituciones y procesos
En sistemas sociales, la actualización sincrónica puede aproximar decisiones tomadas a partir de un mismo cierre de información. Una convocatoria con fecha límite, una ronda de asignación o una votación pueden generar coordinación temporal. Aun así, la preparación de las decisiones y su ejecución pueden ocurrir en momentos diferentes.
En otros contextos, los agentes reaccionan conforme reciben información; cada acción modifica las oportunidades del siguiente y el orden tiene significado sustantivo. La prioridad puede depender de una fila, una jerarquía, una localización o una tasa de llegada. Sustituir ese orden por una permutación uniforme introduce una hipótesis sobre acceso y oportunidad.
El calendario también puede estar correlacionado con los atributos de los agentes. Quienes tienen más recursos pueden actuar más rápido o recibir información antes. Si damos a todos la misma tasa, eliminamos esa fuente de heterogeneidad; si asignamos tasas distintas, debemos justificar su relación con las características representadas.
En sistemas biológicos, ciertos procesos están coordinados por ciclos, mientras que otros ocurren como eventos dispersos. Una representación por generaciones puede ser apropiada para una pregunta y ocultar solapamientos importantes para otra. La elección no se resuelve mediante una preferencia general por tiempo discreto o continuo.
Los datos disponibles pueden limitar la resolución temporal. Observar estados una vez al día no significa que todos cambien simultáneamente cada día. Muchas secuencias de eventos distintas pueden producir la misma observación agregada. Un modelo debe distinguir el tiempo del proceso del tiempo del registro.
La asincronía tampoco elimina automáticamente los artefactos. Un orden aleatorio uniforme puede ser tan poco realista como uno fijo si existen prioridades fuertes. Un reloj exponencial supone una estructura de espera específica. Una actualización por bloques puede introducir límites administrativos inexistentes. Cada alternativa debe tratarse como una hipótesis evaluable.
Podemos buscar observaciones que discriminen entre calendarios, como distribuciones de espera, correlaciones temporales, secuencias de respuesta o efectos de fechas comunes. Si varios esquemas reproducen las medidas disponibles, debemos conservar esa incertidumbre en las conclusiones; elegir el que genera la figura más atractiva no resuelve la identificación.
Cuando el calendario sea una intervención real, modificarlo puede ser parte de la pregunta. Cambiar una asignación continua por rondas o introducir una prioridad altera las oportunidades y la información. El modelo puede explorar esas consecuencias, siempre que represente las restricciones pertinentes y no interprete una diferencia puramente algorítmica como una recomendación empírica.
244.9. Una auditoría práctica del orden
La auditoría comienza leyendo la implementación de observación y escritura. Hay que averiguar si cada agente accede al estado anterior, al estado parcialmente actualizado o a una memoria con retraso. Un nombre de función como actualizar_todos puede ocultar procedimientos distintos.
Después comprobamos el caso de dos agentes. Una implementación sincrónica debe alternar entre cero uno y uno cero, un barrido de A seguido de B debe terminar en uno uno y el orden inverso, en cero cero. Estos resultados son exactos y no requieren tolerancias estadísticas.
Para la selección uniforme de un agente, podemos enumerar los dos primeros eventos posibles y obtener la probabilidad de cada consenso. Si usamos simulación, la proporción observada fluctuará alrededor de un medio. La enumeración da una referencia para comprobar tanto la regla como la selección.
Una prueba adicional intercambia etiquetas. Si el modelo pretende tratar a los agentes simétricamente, renombrar A y B junto con sus estados iniciales debe transformar los resultados de la manera correspondiente. Un orden fijo determinado por el índice puede romper esa simetría y revelar una prioridad que debe declararse.
En modelos espaciales podemos invertir el recorrido o rotar el tablero. Una diferencia bajo un cambio que debería ser una simetría indica dependencia del calendario o de la implementación. No toda diferencia es un error; puede ser la consecuencia legítima de una dirección preferente explícita.
También debemos registrar las oportunidades de cada agente, aunque no produzcan cambios. Si un agente nunca actúa durante el intervalo observado, su inmovilidad no informa necesariamente sobre su regla. Contar selecciones por agente permite detectar exclusiones accidentales y estudiar la heterogeneidad temporal que introduce el calendario.
Los criterios de detención deben adaptarse al esquema. En actualización sincrónica, una configuración idéntica después de un paso es un punto fijo. En la selección de un agente, un evento sin cambios no garantiza que otros agentes no puedan cambiar. Para declarar absorción hay que comprobar todas las reglas habilitadas o usar una condición equivalente.
Al comparar versiones, conviene guardar la secuencia de eventos en ejemplos pequeños; así, una discrepancia puede reconstruirse hasta la primera operación en que divergen los estados. Esa localización distingue un desacuerdo científico sobre el calendario de un error en el cálculo de la regla.
La auditoría termina con una afirmación concreta sobre sensibilidad. Podemos decir que una conclusión persiste bajo ciertos calendarios, que cambia bajo otros o que falta evidencia para elegir entre ellos. La palabra «robusto» debe acompañarse del conjunto de alternativas efectivamente examinadas.
244.10. Incorporar el tiempo a la explicación
El orden de actualización determina qué información encuentra cada entidad y qué oportunidades siguen disponibles cuando actúa. Por eso forma parte del mecanismo. El ejemplo de copia mostró que una misma instrucción individual puede sostener un ciclo, consenso en uno o consenso en cero según el calendario.
La actualización asincrónica reúne procedimientos diferentes. Un barrido fijo, una permutación aleatoria, selecciones con reemplazo y relojes continuos no son intercambiables; pueden compartir ciertas medidas y diferir en otras. La comparación requiere describir oportunidades, dependencias y unidades de tiempo.
También identificamos condiciones que limitan la dependencia del orden. Las operaciones independientes pueden conmutar, los puntos fijos comunes pueden conservarse y ciertos procesos irreversibles y monótonos alcanzan el mismo cierre bajo calendarios justos. Estas propiedades permiten explicar las invariancias que, sin ellas, habría que asumir.
La práctica central consiste en tratar el calendario como una hipótesis explícita y comprobar sus consecuencias. Un resultado que desaparece al modificarlo no es necesariamente inútil, pero su explicación debe incluir la coordinación temporal de la que depende. Esa precisión ayuda a decidir qué datos o intervenciones serían relevantes.
En el siguiente capítulo estudiaremos la segregación de Schelling, donde las oportunidades de movimiento, las vacantes y el orden de las decisiones interactúan con preferencias locales. Allí aplicaremos estas distinciones a un modelo cuyo patrón colectivo puede parecer evidente en una imagen, aunque dependa de elecciones concretas sobre vecindad, satisfacción y desplazamiento.
Referencias
- Schönfisch, B. y de Roos, A. (1999). Synchronous and asynchronous updating in cellular automata. BioSystems, 51(3), 123–143. https://doi.org/10.1016/S0303-2647(99)00025-8
- Huberman, B. A. y Glance, N. S. (1993). Evolutionary games and computer simulations. Proceedings of the National Academy of Sciences, 90(16), 7716–7718. https://doi.org/10.1073/pnas.90.16.7716
- Gillespie, D. T. (1977). Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry, 81(25), 2340–2361. https://doi.org/10.1021/j100540a008