How to Program a Self-Driving Car

Having a central system that controls all of the cars doesn't make any sense from a technical perspective. There will always be latency issues, or dropped signals, or interference. If the central system goes down, do all the cars just stop? Accelerate wildly off the road? What? There are some advantages to having a central system that can coordinate vehicles, but it would probably act in a manner similar to a game server in lockstep. Every now and then the server would attempt to sync the vehicle's 'game' state. The vehicle makes micro decisions autonomously (change lane, break for deer, avoid pedestrian), but may rely on macro decisions from the server (take alternate route due to traffic).

The questions you ask ARE interesting and something we'll have to deal with eventually. There are two perspectives which I think are favorable, one of which I think is best.

1) Minimize life lost through a combination of macro and micro decisions. The issue here is that speed and sheer complexity of the situation may rule out a central server making decisions in time for them to matter. It may also rule out each car acting independently because they would somehow need to coordinate (e.g. if two cars swerve off the road in an attempt to minimize lost lives, killing both parties, this can't be seen as a 'good' decision making process). Trying to encode things like an age coefficient for the passengers will add even more complexity to an already complex decision. What else should we add? Psych coefficients? Crime coefficients? There is also another big issue here: would you be willing to get into a vehicle that states it may kill you in an attempt to save the lives of others? People like autonomy and control. Even if it is rational from a societal perspective, if people don't adopt the technology because of its moral heuristics, it may end up dead before it gets off the ground.

2) Each vehicle attempts to save its own passengers. This may not be ideal from a societal perspective, but has two big advantages. The first advantage is that people are more willing to hop in a vehicle that is programmed to protect them, not sacrifice them. The second advantage is that the vehicle can make this decision without serious input from any sort of central server. It's possible that situations arise where we could've saved more lives by following something like [1], but generally I lean towards this option.

/r/philosophy Thread