It is said that the number of possible sequences of game play in the game Go is greater than the number of atoms in the universe. Whether or not that is true, imagine the number of possible sequences of risks, starts, stops, turns, or other events or actions that can occur when driving to the store.
If one shops at a 24-hour store at 3 AM, the number of conditions are small. If one shops in a city at 5 PM, the driving sequence set may be far larger than the Go game sequence set. More importantly, when Go is misplayed, no dog is run over, no child is killed, and no passenger is carted away in an ambulance.
We have, for automated vehicle control systems, the goal of recognizing risk and responding appropriately in action. The moves are not timed. A wide array of unpredictable circumstances can emerge at any time.
When AI designers first approach this situation, a basic design choice must be made between two polar opposite approaches or some midpoint.
A sequence of serially arranged system components and layers that recognize all the elements of these astronomically varied conditions, recognizes the combinations of the elements that present risk, and decide what to do with horn, breaks, steering, clutch, transmission, and fuel rate. (Fuel rate is what the accelerator pedal approximately controls.)
An array of system components that read the same sensor input and each optimally detect a particular class of risks. Each parallel detector would then need to provide to a central system a set of system responses intended to avoid those risks based on each component's learned responses. Prioritization would follow in a more centralized component so that the correct decisions can be regarding horn, breaks, and the others.
Here are a few important external events for an automated vehicle system to recognize. Each is given a letters which, if the second choice above is chosen, may or may not be a reasonable division of responsibility for separate independent parallel detector components.
- Trajectories of the vehicle being controlled — A
- Trajectories of pedestrians — B
- Trajectories of dogs and cats — B
- Trajectories of wheeled vehicles — C
- Trajectories of trains — C
- Trajectories of balls — C
- Trajectories of UTOs (unidentified terrestrial objects — D
- Locations of stationary objects in the road — E
- Locations of road endings — E
- Locations of curbs — E
- Locations of bridge abutments — E
- Locations of rocks of size greater than 2 cm — E
- Traffic signs — F
- Traffic lights — F
- Train signals — F
- Locations of wire gates — G
- States of horizontal raise-able gates — H
- Indications of many pedestrians — I
Is it best to train for trajectories of type B with the same system as training for signal recognition of type F? Will the saving of additional components be more important than specialization? Will such generalizations work well for the full array of surprises that may occur during real routes of vehicles? Or is the diversity in system architecture a better a better choice for an AV embedded AI system?
In support of either position, why?