mikedewar.org
Traffic Jams As Life
Traffic Jams are life. Not "like" life, rather traffic jams constitute a living entity and, as such, provide an allegorical vehicle to talk about complexity. This isn't going to help you remain calm & happy in a jam, or relieve your frustration. What I'm going to try and do is show you that the reasons a traffic jam form are very simple and hopefully the allegory will suggest itself.
So to begin with I'm going to skirt around the 'what is life' question because in the end I'm sure that's a semantics argument. The easy, lyrical answers abound: froth, swirls, texture. Equally vague systems theoretic phrases work too: chaos, complexity, infinite recursion. Instead I'm going to start with a fairly cumbersome phrase: emergent properties of coupled, nonlinear agents. In other words: a traffic jam. I'm going to try and guide you through the mental modeling and simulation process and build a small, idealised traffic jam that will illustrate the point. There will be numbers involved, but only easy ones...
The situation starts with a whole load of cars moving along a single lane, at a constant speed with the same distance between each car. The agent controlling the car possesses two simple desires: 1) to go forward and 2) to keep the distance between themselves and the car in front.
The first of these desires is simple. The second desire needs a bit more explanation and a ratio. Think of two cars - the front car is travelling at, say, 60mph and the second car is travelling at 60mph. If the car in front slows to 50mph, in order to keep the constant distance between the two cars the car behind also has to slow down to 50mph. The ratio between the speeds of the car in front and the car behind must, therefore try and stay at 1. When this ratio, which I'm going to call the speed-ratio, is equal to 1, then the cars are travelling at the same speed. If the speed-ratio is less than one, then car in front is travelling faster, and so the car behind won't keep up. When the speed-ratio is greater than 1, the car behind is travelling faster than the car in front and they will crash.
The final two, important ingredients in our mental simulation concern the behavior of the agent - it has a reaction time and it is cautious. Firstly, then: when the car in front slows down, the agent takes a small amount of time to realise the need to brake, to press the pedal and for the car to actually slow down. You can imagine that for a very aware driver this reaction time is small, for a driver that's fiddling with the CD player this reaction time is a lot longer. Secondly, the desire to keep up is not as strong as the desire to avoid crashing. So our cautious agent will brake just a little bit more than is totally necessary - again you can imagine a confident salesperson in a BMW only touches the brake if it looks like there will be a massive pile up and a worried, tense driver will stop if he sees a pheasant on the road a kilometer away. All our agents have the same delay and the same overcompensation in the braking. So the agent will actually decrease their speed-ratio to just a little bit less than 1 to avoid a crash, before speeding up to restore the ratio to 1.
So! All our cars are moving along at 60mph with good gaps between each car and everything's hunky dory. Now, for some reason, the car in the front of the group of cars slows down, from 60mph to 50mph. Maybe there's a gory accident to look at, maybe there's a child in the back seat being distractive, maybe there's a difficult lane change or a bend or whatever. Let's take a look at how this affects the string of cars that are unfortunate enough to be behind it.
The agent controlling the second car, after a small delay, notices that the car in front has slowed down. Now, because of the small delay, the second agent has slightly less space to slow down to 50mph. This means that it has to slow down slightly quicker than the first car to maintain a speed-ratio of just under 1. It performs the necessary braking manouever and slows down to, say, a cautious 49.5mph before speeding up and continuing the journey at 50mph, albeit stuck behind this car who's going a bit slower.
The agent controlling the third car, after a small delay, notices that the car infront has slowed down. The second car, remember, actually slowed down slightly quicker than the first car, because of the delay. So, in the same way, the third car has to slow down slightly quicker than the second car because the delay mean that they have less space in which to slow down to 49mph, a speed that's just a bit slower than the car infront. The car infront then reaches the steady 50mph meaning the third car can also speed up a bit to reach 50mph and continue on in this way.
At a certain point, down this chain, there will have to be some aggressive braking as the necessary drop in speed gets large and the space in which to slow down becomes smaller and smaller. Eventually, if there are enough cars on the road, one of them will have to come to a halt. As soon as one car comes to a halt in this way, then all the cars that follow it in the queue will also have to come to a halt and our traffic jam emerges.
So the combination of just three simple things - the reaction time of each agent, the slight caution of each agent and the coupling of a large number agents together - given the right conditions will cause a traffic jam. If the cars are dense enough, then even a small slowing down of the first car will be amplified throughout the queue of cars enough to cause a traffic jam somewhere down the line.
I've only shown a simple example, but our mental-simulation has shown that a very simple system: agents who only want to go forward and maintain a constant distance between themselves and the car infront become a complex beast capable of displaying the emergent behavior of a traffic jam when coupled together. Now imagine three lanes of traffic, 1000s of cars, entrances and exits. Even with our very simple agents the maths becomes hideously complicated; introduce ego into the mix and we see a complex pattern of amplification of stops and starts travelling down the line of cars - imagine it at night, pulses of red lights transmitting and amplifying signals like some deep sea creature on heat. An angry, breathing, defecating electromechanical snake, thrashing and killing and shitting.
How would we explain that a traffic jam isn't a creature unto itself to someone who had never seen one before? It is born through mistake and shrivels away with the passing of time. It consumes, respirates and reproduces. It howls and moans and grumbles. I want to (at least allegorically) argue that it is alive - an emergent property of a set of unaware, nonlinear agents coupled together and given the correct initial conditions for it to come into being.
So my conclusion: the next time you take yourself into the very existence of such a beast, be aware of your part. Then you can claim to be that bit more evolved - what before us was capable of being a conscious component of life? Then you can return to the raging and howling and polluting and know that you are forming life.