Simulación Basada en Agentes · Tema 33

Modelos de tráfico

Autos-agentes, frenos y embotellamientos: frenar de más y contagiar la frenada.

01 · Punto de partida

El atasco sin choque

En el Tema 32 las personas se contagiaban al cruzarse. Ahora los autos se frenan al acercarse: nadie choca, nadie corta la calle, y igual aparece el embotellamiento. El tráfico con agentes une percepción (Tema 11), brecha (Tema 9) y no linealidad (Tema 24) en una fila que se frena sola.

Por eso la autopista es laboratorio de emergencia: cada conductor mira solo al de adelante, y la cola entera oscila, se corta y forma ondas que viajan hacia atrás sin causa visible.

  • ¿Qué distancia al de adelante deja cada auto?
  • ¿Cuánto acelera cuando ve hueco?
  • ¿Cuánto frena de más por susto o distracción?
  • ¿Cuántos autos entran antes de que la vía se congele?

02 · Definición

Vehículo, brecha y velocidad

Todo auto-agente combina cuerpo, ojo y pie:

🚙

Vehículo

Posición más velocidad: dónde estoy y a cuánto voy. Sin memoria larga, solo estado de esta ronda.

📏

Brecha

Celdas libres hasta el de adelante: lo único que mira. Si la brecha es menor que mi velocidad, freno.

⏱

Velocidad

Entero entre 0 y máxima: acelera de a 1, frena en seco si hace falta. El pie que la ecuación no tiene.

La misma frenada en cada dominio.
MundoBrechaFrenada típica
Autopistametros al paragolpes de adelantetoco freno y contagio atrás
Peatonespasos al de adelantefreno y formo tapón (Tema 34)
Internetpaquetes en cola del routerespero y la cola crece
Fábricapiezas en cinta antes que yoparo y freno la línea

03 · Flujo

Ralo que fluye frente a denso que se congela

La vía decide más que el motor: pocos autos corren a máxima, muchos autos se frenan entre todos.

Baja densidad

Todos a máxima

Brechas grandes: v = vmax siempre. Sumar un auto suma flujo: la vía rinde.

Alta densidad

Todos frenados

Brechas chicas: v = brecha. Sumar un auto resta flujo: la vía se congela.

Tráfico
Autos que aceleran con hueco y frenan sin hueco en vía compartida. Se mide con velocidad media y flujo.
Densidad
Autos sobre celdas: rala fluye, densa frena. La perilla que cruza el quiebre del Tema 24.
Flujo
Autos que pasan por punto por ronda: densidad × velocidad media. Sube, toca techo y cae.
Onda fantasma
Frenada que viaja hacia atrás sin obstáculo: un susto que se contagia cola arriba. Stop-and-go sin causa.

04 · Ciclo

La ronda que acelera, frena y mueve

Cada tick aplica Nagel-Schreckenberg en este orden síncrono sobre pista circular:

acelerar→frenar→avanzar
  1. 1
    Acelerar con ganas.

    Cada auto suma 1 hasta su máxima: todos quieren correr si hay hueco.

  2. 2
    Frenar por brecha y por azar.

    Recortar a brecha libre y, si quedó en marcha, restar 1 con probabilidad p de distracción.

  3. 3
    Avanzar parejo.

    Todos mueven su v junta con buffer: sin choques por orden de turno.

05 · Representación en Python

Brecha que manda, azar que ondula

La velocidad es mínimo entre ganas y hueco. El azar resta lo que la prudencia sumó.

Python en tu navegador. Achicá la brecha y observá cómo la máxima deja de mandar.

def actualiza(v, brecha, vmax=3):
    v = min(v + 1, vmax)
    v = min(v, brecha)
    return v

print(actualiza(2, 10), actualiza(2, 0))

Con hueco acelera a 3 y sin hueco frena a 0: la brecha manda sobre las ganas.

Freno distraído que siembra ondas

Aun con hueco, a veces se frena de más: ese 1 de menos viaja hacia atrás.

import random
def freno_azar(v, p=0.2):
    if v > 0 and random.random() < p:
        return v - 1
    return v

print([freno_azar(3, 0.0), freno_azar(3, 1.0)])

06 · Exploración

Laboratorio: autopista que se frena sola

Pista circular de 60 celdas con autos repartidos, velocidad máxima vmax y freno distraído p. Corren 120 rondas síncronas. Verde a máxima, naranja a media, rojo detenido. ¿Cuántos autos entran antes de que el flujo caiga?

EXPERIMENTO 33

La cola sin choque

acelera → brecha → azar → avanza

Los resultados numéricos aparecen debajo.
Vel. media0,0
Flujo0,00
Detenidos0 %
LecturaFluido

Con 20 autos y p 0,20, la vía fluye.

Cada bloque es un auto sobre el anillo estirado: el color es su velocidad final tras 120 rondas. Más autos es más densidad con la misma calle. Pulsá Nueva réplica para otro reparto con los mismos parámetros.

Preguntas para explorar

  1. Con pocos autos y p = 0, ¿hay detenidos? ¿Por qué sin densidad no hay onda aunque haya vía?
  2. Subí los autos al máximo con vmax alta. ¿El flujo sube o cae? ¿Qué manda: motor o brecha?
  3. Repetí 3 veces con densidad media y freno medio. ¿Los detenidos son idénticos? ¿Qué parte es azar que se contagia?
Ver respuestas sugeridas
  1. No: brechas grandes dejan correr a máxima. Sin vecinos cerca no hay a quién frenarle.
  2. Cae: todos quieren correr pero nadie tiene hueco. La brecha manda sobre vmax en denso.
  3. No: el mismo freno cae en lugares distintos y arma tapones distintos. La regla es fija; dónde pica el azar no.

07 · Comprensión

Confusiones frecuentes

«Más autos es más flujo»

Solo en ralo. Pasada la densidad crítica, cada auto extra frena a varios y el flujo cae: el techo es quiebre, no suma.

«El atasco pide un choque»

La onda fantasma nace de frenar de más sin obstáculo. Un susto basta si la densidad lo contagia hacia atrás.

«Más vmax siempre rinde»

En denso la vmax no se usa: la brecha recorta antes. Más motor sin hueco es frenada más brusca.

«Mover en orden da igual»

Mover de a uno con posiciones frescas deja pasar a través del de adelante. Todo avanza junto con buffer o hay choques por turno.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: brecha que recorta

Ejecutá y compará hueco grande contra hueco cero. Luego probá con v = 0.

def actualiza(v, brecha, vmax=3):
    return min(min(v + 1, vmax), brecha)

print(actualiza(2, 10), actualiza(2, 0), actualiza(0, 5))
Ver solución razonada

Da 3, 0 y 1: con hueco acelera, sin hueco frena en seco y detenido arranca de a 1. Ganas contra hueco en una línea.

Ejercicio 2: predecir el flujo

Sin ejecutar primero: 60 celdas, 20 autos a velocidad media 2. ¿Densidad y flujo? Comprobalo después.

print(20 / 60, (20 / 60) * 2)
Ver solución

Da 0,33 y 0,67: un tercio ocupado rinde dos tercios de flujo. En denso la media cae y arrastra al flujo.

Ejercicio 3: susto que se contagia

Si p sube de 0 a 0,5 con la misma densidad, ¿qué pasa con las ondas? Escribilo en una línea.

Ver una posible respuesta
print("más frenos azar, más ondas hacia atrás")

Cada freno de más obliga al de atrás a frenar: el azar siembra y la brecha contagia. Ruido local, cola global.

09 · Síntesis

Ideas para recordar

  • Tráfico con agentes es acelerar, frenar por brecha y por azar, y avanzar parejo.
  • La densidad manda: ralo fluye a máxima, denso frena aunque sobre motor.
  • El flujo sube, toca techo y cae: más autos no es más rinde.
  • El freno distraído siembra ondas fantasma que viajan hacia atrás sin choque.
  • En Python, velocidad como mínimo entre ganas y brecha más freno azar, en anillo con buffer.

En el próximo tema estudiaremos los modelos de multitudes: evacuaciones, pánico y flujos peatonales.