A cellular automaton for single-lane highway traffic, introduced by Kai Nagel and Michael Schreckenberg in 1992. Despite its simplicity, it reproduces realistic phenomena: free flow, synchronized traffic, and spontaneous jam formation (stop-and-go waves).
The road is a 1D ring of cells, each either empty or occupied by one car with integer velocity v ∈ [0, vmax]. Every timestep, all cars update in parallel:
Accelerate — v → min(v+1, vmax)
Brake — if the car ahead is closer than v, slow down to gap
Randomize — with probability p, reduce speed by 1 (the crucial noise)
Road view: cars colored by speed (red = stopped, blue = vmax). Space–time diagram: time increases downward, each row shows the full road at one timestep.