While there are exogenous factors that contribute to traffic congestion, e.g. volume and lane closures, a great deal of traffic congestion is caused by factors endogenous to the system of cars and drivers. Traffic flow is a mostly non-cooperative game involving a few to thousands of players. Each player subverts socially optimal outcomes by choosing strategies which benefit or appear to benefit himself over the socially optimal outcome. Players choose strategies which cause cascading traffic flow disruptions (e.g. stop and go).

I can think of at least a few possible solutions:
<ul><li>a central traffic management system which sees the entire system and manages individual automobiles, which is a technical solution
</li><li>a peer-to-peer communications system in which automobiles coordinate their strategies, another technical solution, but one that simply structures the game as a cooperative one
</li><li>discovery, creation, and enforcement of laws that manage individual behavior/strategies, e.g. passing on the right, minimum and maximum speeds</li></ul>The last of the three is the only strategy currently employed, and through various tests its efficacy can be shown to equal a value of “suck”.

The second solution is by far the most interesting to me. It would involve studying various driver behavior models and decision systems and then optimizing them. How should cars be spaced? Do certain cars get different priorities? This is all starting to sound a bit like network engineering.