Simulación Basada en Agentes · Tema 40

Inicialización de poblaciones

Crear agentes, ubicarlos y darles estado: el arranque que condiciona todo lo demás.

01 · Punto de partida

El minuto cero manda

En el Tema 39 la curva y los agentes corrían con el mismo arranque. Ahora el arranque es el tema: cuántos nacen, dónde caen y con qué estado. La inicialización une cantidad (Tema 22), espacio (Temas 14–15) y azar con semilla (Tema 42) en el minuto cero del modelo.

Por eso dos corridas con la misma regla divergen si arrancan distinto: amontonados se tocan, dispersos ni se ven. Poblar mal es sesgar antes de empezar.

  • ¿Cuántos agentes nacen y de qué tipos?
  • ¿Dónde cae cada uno: parejo o en grumos?
  • ¿Con qué estado arranca cada uno?
  • ¿Con qué semilla se puede repetir?

02 · Definición

Cantidad, ubicación y estado

Toda población inicial combina cuántos, dónde y cómo arrancan:

🔢

Cantidad

Cuántos agentes y de cada tipo: N total y mezcla. Sin N no hay densidad que valga.

📍

Ubicación

Dónde cae cada uno: uniforme que reparte o grumos que juntan. El mapa del minuto cero.

🏷

Estado

Con qué valor arranca: sano o enfermo, opinión, energía. El reparto que la regla hereda.

El mismo arranque en cada dominio.
MundoUbicaciónEstado inicial
Epidemiahogares por barrio1 infectado entre sanos (Tema 32)
Bosqueárboles por densidadchispa en el borde (Tema 31)
Mercadopuestos en feriaplata y stock por agente (Tema 36)
Opiniónred de contactosopiniones al azar 0–1 (Tema 35)

03 · Reparto

Parejo que reparte frente a grumos que sesgan

El mapa inicial decide más que la regla: parejo mezcla, grumo encierra.

Uniforme

Todos mezclados

Azar parejo: pos = azar(). Vecinos variados: el contagio encuentra puentes.

Agrupado

Islas que no se hablan

Centros con ruido: pos = centro + ruido. Vecinos iguales: cada grumo vive su historia.

Inicialización
Crear N agentes con posición y estado antes del tick 0. Se mide con vecinos, aislados y cobertura.
Semilla
Número que fija el azar: misma semilla, mismo minuto cero. Sin semilla no hay réplica (Tema 42).
Densidad inicial
N sobre área: rala aísla, densa conecta. El quiebre del Tema 24 en el arranque.
Condición inicial
El reparto completo declarado: N, mapa y estados. Sensible: poco cambio, otro final (Tema 43).

04 · Ciclo

La ronda cero que puebla

Antes del tick 1, poblar en este orden declarado:

crear→ubicar→dotar
  1. 1
    Crear los N.

    Lista de N agentes vacíos con id: el censo antes que las caras.

  2. 2
    Ubicar en el mapa.

    Uniforme o por centros con ruido y recorte a bordes: dónde cae cada uno.

  3. 3
    Dotar de estado.

    Tipo, opinión o energía por sorteo con proporción declarada: cómo arranca cada uno.

05 · Representación en Python

Censo, mapa y reparto

Crear es lista, ubicar es azar y dotar es sorteo por proporción. Tres líneas, tres decisiones.

Python en tu navegador. Subí el agrupado y observá cómo los vecinos se vuelven iguales.

import random
def crear(n):
    return [{"id": i} for i in range(n)]

print(len(crear(60)), crear(3))

Con 60 nacen 60 con id: el censo existe antes que el mapa.

Ubicar y dotar con semilla

Semilla fija para repetir; proporción para mezclar tipos.

import random
random.seed(40)
def dotar(p_a=0.5):
    return "A" if random.random() < p_a else "B"

print([dotar() for _ in range(5)])

06 · Exploración

Laboratorio: minuto cero que sesga

Los agentes nacen con tipo A celeste o B naranja según tipo A %. Caen parejos o en 3 grumos según agrupado. Radio vecinal 0,12. ¿Cuánto agrupado hace falta para que cada uno solo vea iguales?

EXPERIMENTO 40

El arranque se hereda

crear → ubicar → dotar

Los resultados numéricos aparecen debajo.
Vecinos0,0
Aislados0 %
Celdas0 %
LecturaMezcla

Con 60 agentes y agrupado 0,50, el arranque mezcla.

Cada punto es un agente en el minuto cero: el color es su tipo inicial. El agrupado los junta en 3 centros; el tipo A % pinta la mezcla. Pulsá Nueva réplica para otro minuto cero con los mismos parámetros.

Preguntas para explorar

  1. Con pocos agentes y agrupado 0, ¿hay aislados? ¿Por qué sin densidad no hay vecinos aunque sobre mapa?
  2. Subí el agrupado al máximo. ¿La cobertura cae? ¿Qué manda: N o mapa?
  3. Repetí 3 veces con valores medios. ¿Los vecinos son idénticos? ¿Qué parte es reparto y qué parte es sorteo?
Ver respuestas sugeridas
  1. Sí: puntos sueltos sin nadie en el radio. Sin densidad el radio no alcanza a nadie.
  2. Sí: todos en 3 manchas y el resto vacío. El mapa concentra lo que N reparte.
  3. No: qué centro toca a cada uno arma grumos distintos. El agrupado pone el molde, el sorteo rellena.

07 · Comprensión

Confusiones frecuentes

«El arranque no importa»

Importa y se hereda: segregación, contagio y mercado arrancan del minuto cero. Cambiarlo es cambiar el modelo.

«Azar es no declarar»

Azar sin semilla ni proporción no se repite. Se declara generador, semilla y mezcla o no hay réplica.

«Más N siempre mezcla»

Solo en uniforme. En grumos más N espesa la isla sin abrir puentes: densidad local, no mezcla.

«Dotar es decorar»

Dotar es repartir estados que la regla lee: infectados, opiniones, plata. Sin reparto la regla no tiene qué mover.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: censo que existe

Ejecutá y verificá el largo. Luego creá 100 y contá el último id.

def crear(n): return [{"id": i} for i in range(n)]
pob = crear(60)
print(len(pob), pob[-1])
Ver solución razonada

Da 60 y {'id': 59}: censo con ids de 0 a 59. El mapa viene después del censo.

Ejercicio 2: predecir la mezcla

Sin ejecutar primero: 100 agentes con tipo A 50 %. ¿A esperados?

print(100 * 0.5)
Ver solución

Unos 50: la proporción manda en esperanza. El sorteo mueve единицы arriba o abajo.

Ejercicio 3: grumo que junta

Si el 80 % cae en 3 centros, ¿qué pasa con los vecinos? Escribilo en una línea.

Ver una posible respuesta
print("más vecinos, más iguales, menos puentes")

El grumo espesa adentro y vacía afuera: vecindario denso pero homogéneo. Local sobra, global falta.

09 · Síntesis

Ideas para recordar

  • Inicializar es crear N, ubicar en mapa y dotar de estado con semilla.
  • Uniforme mezcla y agrupa en islas: el mapa sesga antes que la regla.
  • Se mide con vecinos medios, aislados y cobertura de celdas.
  • Sin semilla y mezcla declaradas no hay réplica del minuto cero.
  • En Python, lista de agentes más azar ubicado más sorteo por proporción.

En el próximo tema estudiaremos la experimentación con parámetros: qué variar y cómo comparar escenarios.