Quote Originally Posted by Grey_Wolf_c View Post
You are grossly overestimating the capabilities of single-system control. You've just described a far more complex version of the global flight management system. There are about 100,000 flights per day across the entire world. Los Angeles alone, it seems, has four times that many cars per day in a single one of its roads. The global flight system is run by some of the best, most reliable computer systems we've ever built, and is still heavily dependent on human beings doing the heavy lifting. And unlike cars, it can avoid vehicle intersection in three dimensions, with far greater margins of error you find in any road.

The idea you could control all cars in a city with a single computer, with little enough delay in communication to make safe decisions (where decisions need to be made and applied in fractions of a second) is at this point sci-fi.

ETA: To illustrate the issue, what exactly do you think this computer would do if a child in a bike swerved into traffic? How would the computer 1) identify the problem, 2) calculate the rerouting for every car in the vicinity, avoiding them crashing into other already-calculated paths and 3) transmit the corrections to all vehicles that might be involved in the approximately second and a half it takes for that kid to be run over?

AI cars deal with this by each carrying a computer of their own, processing it's own visual data in real time, and driving defensively when it is called for it, and aggressively when it must. Centralizing the problem would require a computer that would dwarf google's entire operation, and it'd still be incapable of dealing with the sheer raw data from billions of vehicles all needing second-to-second decisions.
Yeah, centralizing approaches is a much more complicated subject than it looks like. On one hand, having all a system's decisions done in one place allows for really fast decisions. On the other hand, having to get that decision communicated out across a large system can be really slow. On the other hand (tentacle?); having components in the system detect something out of the ordinary, communicate that up to the central point, have the central point make a decision, and then getting that decision communicated out....well, that can be inordinately slow. Centralization gets economies of scale, along with diseconomies of scale...so they suffer as systems get bigger.

Not that decentralization is automatically better, of course....A decentralized component can react quickly, but a decentralized component isn't always going to have all the information it would need to make the best decision...and the effects of that decision propagating through the system (like, if one car swerves to avoid a child suddenly on the road, other cars on the road will need to react to the car swerving...possibly by swerving themselves) can take a lot of time to resolve, and/or cause new situations to react to. Like most things, there's a trade-off.

And it's not like it's a binary decision, either....Hybrid approaches (with some aspects decentralized, some centralized...and/or some decentralized decisions being communicated up to a central location for review and possibly distribution), and/or breaking a large systems into a set of smaller systems connected with a new system (so the size-based overhead that causes the delays/problems is more manageable), are options as well.