Traffic Programming

Five-way intersection Franklin East River Road 27th - 05
Traffic Programmers will write algorithms control cars interactions with each others

Today we talk about traffic engineering, designing infrastructure, timing traffic signals, identifying where signs and markings go, and so on to improve the efficiency of moving cars (and ideally people) through the system (where the network itself is a given). This is distinct from transport planning, which identifies where infrastructure should go and what policies should be in place. This also differs from highway engineering, which looks at the geometric design of facilities, ensuring the horizontal and vertical curvature are safe (for human drivers at a given speed).  There are other related professions as well: urban designer, bridge engineer, pavement engineer, and so on.

One that we don’t have today, not really, is something we will need as a profession of the future: Traffic Programming. This will not be simply (or not simply) modeling human traffic, or re-arranging infrastructure, but instead will be design algorithms to control vehicles in real-time. This grows out of computer science, electrical engineering, industrial and systems engineering, and mechanical engineering, but will need to fully consider the environment around the vehicle and how to react to it. The early stages of this already exists, there are engineers and programmers designing autonomous vehicles. But they are doing so in a way that is autonomous — recognizing the existence of neighboring objects, people, and vehicles, but only optimizing for itself.

The Traffic Programmer of the future will design vehicles to do that but also communicate with neighboring vehicles, and coordinate with the system at a routing level as well. I firmly believe that effective Connected Vehicles will come after effective Autonomous Vehicles.

With appropriate price signals, we can do things now like aligning the system optimal interests of the network as a whole with the user optimal desires of the individual (autonomous or not) vehicle. Whether pricing can work to provide the right incentives on the give-and-take of traffic merging and lane changing is less clear. Drivers today negotiate that through eye contact and the actions behind the wheels. Finding protocols to do this automatically, and to negotiate directly between cars in real-time will be the task of the traffic programmer.