Simulación Basada en Agentes · Tema 31

Modelos de propagación

Incendios, rumores y ondas en el espacio: combustible, chispa y frente que avanza.

01 · Punto de partida

Lo que avanza y se agota

En el Tema 30 las ideas se sumaban sin gastarse. Ahora el combustible se quema: árbol que arde termina en ceniza, rumor que pasa deja escépticos, ola que avanza deja calma atrás. La propagación espacial es un frente que come mapa y muere sin combustible.

Por eso hay densidad crítica: bosque ralo frena el fuego aunque sople viento, y bosque denso arde con una chispa. La onda vive del mapa, no solo de la chispa.

  • ¿Hay combustible continuo o cortafuegos?
  • ¿Dónde cae la chispa inicial?
  • ¿Qué tan probable es el salto a la vecina?
  • ¿El viento empuja el frente hacia un lado?

02 · Definición

Combustible, chispa y frente

Toda onda espacial combina qué arde, quién enciende y dónde va el borde:

🌲

Combustible

Lo que puede arder: árboles, ingenuos, susceptibles. Sin continuidad no hay camino para el frente.

⚡

Chispa

La ignición inicial: rayo en el borde, primer rumor. Poca chispa con mucho bosque alcanza.

〰

Frente

El borde vivo entre lo quemado y lo verde: lo único que avanza. Detrás ceniza, adelante futuro.

La misma onda en cada dominio.
MundoCombustibleFrente típico
Incendioárboles densosllamas que avanzan con viento
Rumoringenuos que no oyeronboca en boca que se apaga en escépticos
Epidemiasusceptibles juntosola que deja inmunes atrás
Novedadno adoptadosadopción que satura el mapa

03 · Umbral

Ralo que frena frente a denso que incendia

El bosque decide más que la chispa: bajo cierta densidad el fuego no cruza aunque sople.

Bosque ralo

Cortafuegos natural

Huecos que cortan: densidad < crítica → se apaga. La chispa muere rodeada de vacío.

Bosque denso

Autopista de llamas

Continuidad que lleva: densidad > crítica → cruza. Una chispa en el borde quema hasta el otro.

Propagación
Onda con consumo: el frente avanza y deja estado final atrás. Se mide con quemado y alcance.
Percolación
Umbral de densidad que conecta el mapa: ralo frena, denso deja pasar. El quiebre del Tema 24 en espacio.
Viento
Sesgo direccional del salto: empuja al este y frena al oeste. Convierte círculo en lengua.
Ceniza
Estado final que no vuelve: quemado, inmune, escéptico. Sin ceniza es difusión (Tema 30), no propagación.

04 · Ciclo

La ronda que quema el frente

Cada tick enciende vecinas y apaga llamas, en este orden síncrono:

encender→arder→apagar
  1. 1
    Encender vecinas.

    Cada verde con vecina en llamas arde con probabilidad p (más viento a favor).

  2. 2
    Arder el frente.

    Las llamas de esta ronda son el borde vivo que se dibuja.

  3. 3
    Apagar a ceniza.

    Toda llama vieja muere a ceniza junta: el frente avanza y no vuelve.

05 · Representación en Python

Verde que mira llamas vecinas

Los estados son 0 vacío, 1 verde, 2 llamas, 3 ceniza. Solo el verde con llamas lindera sortea encenderse.

Python en tu navegador. Subí el viento y observá cómo el este arde más que el oeste.

import random
def enciende(vecinas_llamas, p=0.5, viento=0.0, a favor=True):
    prob = min(1.0, p + (viento if a favor else -viento))
    return vecinas_llamas > 0 and random.random() < max(0.0, prob)

print(enciende(2), enciende(0))

Con vecinas en llamas sortea y sin ellas ni sortea: el frente necesita contacto.

Llamas que mueren parejo

El tick es síncrono con buffer: las que ardían mueren juntas.

frente = ["verde", "llamas", "verde"]
siguiente = ["ceniza" if c == "llamas" else c for c in frente]
print(siguiente)

06 · Exploración

Laboratorio: bosque que decide si arde

Grilla de 18 × 12 con densidad de árboles y chispa en la columna izquierda. Cada ronda el verde con vecina Moore en llamas arde con p = 0,55 más viento al este, y toda llama muere a ceniza. Verde árbol, naranja llamas, oscuro ceniza, claro vacío.

EXPERIMENTO 31

El bosque vota con densidad

verde + llamas → arde → ceniza

Los resultados numéricos aparecen debajo.
Quemado0 %
Frente0
CruzaNo
LecturaChispa

Con densidad 0,65, el frente cruza con viento.

La chispa arranca a la izquierda. El viento empuja al este: lengua hacia la derecha. Pulsá Nueva réplica para otro bosque con la misma densidad.

Preguntas para explorar

  1. Con densidad mínima y 0 rondas, ¿cuánto quemado hay? ¿Por qué sin rondas no hay onda aunque haya chispa?
  2. Bajá la densidad al mínimo con viento máximo. ¿Cruza? ¿Qué manda más: mapa o soplido?
  3. Repetí 3 veces con densidad media. ¿Cruza siempre? ¿Qué parte es percolación y qué parte es sorteo?
Ver respuestas sugeridas
  1. Cero: la chispa sin ticks es punto. La onda exige rondas de encender y apagar.
  2. No: el ralo corta aunque sople. El viento alarga lenguas pero no cose huecos.
  3. No: al borde crítico a veces percola y a veces no. La densidad pone el filo, el sorteo empuja.

07 · Comprensión

Confusiones frecuentes

«Propagación es difusión»

Difusión suma sin gastar; propagación quema y deja ceniza final. Sin estado que no vuelve es otro modelo.

«Más chispas garantizan incendio»

En ralo ni cien chispas cruzan: el mapa manda. La densidad crítica decide antes que la ignición.

«Viento solo acelera»

Viento dirige: alarga a favor y frena en contra. Sin sesgo direccional es solo probabilidad pareja.

«Ceniza puede reencenderse»

Solo con rebrote declarado (Tema 8). En propagación pura la ceniza es final: si revive sola, el frente es eterno por bug.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: frente que necesita contacto

Ejecutá y verificá cuándo sortea. Luego probá con 0 vecinas en llamas.

import random
random.seed(1)
def arde(v, p=0.5):
    return v > 0 and random.random() < p

print(arde(2), arde(0))
Ver solución razonada

Da True/False según sorteo y False: con llamas vecinas sortea, sin ellas ni juega. El contacto es condición.

Ejercicio 2: predecir la lengua

Sin ejecutar primero: p = 0,5 y viento 0,2 al este. ¿Probabilidad al este y al oeste?

p, v = 0.5, 0.2
print(min(1.0, p + v), max(0.0, p - v))
Ver solución

Da 0,7 y 0,3: el este duplica al oeste. El sesgo dibuja la lengua del frente.

Ejercicio 3: ralo que corta

Bosque 10 × 10 con densidad 0,3. ¿Árboles esperados? ¿Cruza fácil?

Ver una posible respuesta
print(100 * 0.3)

Unos 30 árboles sueltos: la onda se queda sin puente. Ralo es cortafuegos natural.

09 · Síntesis

Ideas para recordar

  • Propagación es chispa más frente más ceniza: la onda come y se apaga.
  • La densidad decide: ralo frena y denso deja cruzar (percolación).
  • El viento dirige, no solo acelera: lengua a favor, freno en contra.
  • Ceniza es final: sin vuelta no hay frente eterno por bug.
  • En Python, verde con llamas sortea con p más sesgo y llamas mueren parejo.

En el próximo tema estudiaremos los modelos epidemiológicos basados en agentes: contagios persona a persona.