At most you might want to use some machine learning to improve efficiency
Yeah no, efficiency and planning map routes aren't the hard parts of self-driving. The hard parts come from dealing with all of the unpredictable situations that happen on the road - flat tire on a busy highway, deer in the headlights, power steering failure while crossing a major intersection, aggressive drivers, poor visibility due to weather conditions, a child running into the road... you can't pre-program for situations like these because they're contextual, dependent on local conditions in that exact moment. All of the choices that might be made are different depending on whether there is another car in the lane next to you, or in front of or behind you, or oncoming, or if it's a bus or a dump truck or a motorcycle or a bicycle, or a ditch or a forest or the edge of a cliff, or if there's rain or fog or ice or smoke or debris or burning gasoline on the road... and the choice needs to be made right now, in less than a second, or you run over a 4 year old.
The real world is far too complex for a fixed set of predetermined rules to handle.