foundations of computational agents
The definition of a search problem assumes that you know what the goal and cost function are. Sometimes the goal or the cost provided by an application may not be what a user wants or there can be unintended side-effects. For example, consider route planning on maps, as in Example 3.1. It is typical for the applications to ask for the start point and one or more destinations, and sometimes whether one wants to avoid highways or tolls (providing some modification of the graph), however they do not usually ask what cost a user might want to optimize. For example, a user may want to take a scenic route, one that avoids side streets as much as possible, or one that stays away from a relative’s home. It is difficult to acquire these preferences and people may not even be able to articulate these preferences and trade-offs. But given the preferences, the problem reduces to one of searching, albeit with a complex cost function.
If a user wants to force a particular route in current apps, they can put them as intermediate destinations. However, it is difficult to determine what the user wants. If a user clicks on a town in a map, the system needs to decide whether they just want to go along the road that goes by the town, or they want to be directed to the exact location of the click. Misinterpreting the user’s intentions can mean the user is not directed to where they want to go.
Route planning may have unintended side-effects. If the route planner is advising many people, and advises them all to take the same route, that route may become more congested because of the advice. It may be better for users to then deliberately avoid the advice. The system could avoid this by telling different users different routes. This may make users suspicious of this advice. It would be good for the system to guarantee that the user will not do better by ignoring the advice, which means that the system needs to do some load balancing so that all suggested routes have the same cost. What seemed like a simple search problem then becomes much more complicated.
It is impossible in general to avoid side streets, because the start or destination might be on a side street. If a main road or highway has congestion, it might be quicker for a driver to go via side streets. A system that advises drivers to go the quickest way will then send drivers on side streets until all side streets are also congested. In order to save a few drivers a few minutes, many more people become impacted. It might be better overall for the system to not optimize for the drivers. Instead, perhaps the system should optimize for some global preferences, but that is difficult to define clearly. Different people will have different preferences.
A challenge in path planning is that a driver might not actually take the route suggested, by design, perhaps visiting a place off the suggested route, by accident, such as taking a wrong turn, or where a road is closed. A challenge for the driver is over-relying on the directions, which has led to numerous incidents of what is colloquially known as death by GPS [Lin et al., 2017].
Collecting real-time location information for the purposes of congestion avoidance, also has privacy concerns if this information is used for other purposes or passed to third parties, such as advertisers or governments.