Mark, a long-time reader of the blog, and fellow blogger, put up an interesting post about his experiences using Waze (link). He describes a gradual realization that when Waze sends him down some strange, indirect paths using side roads, it may simply be messing with him.
Not surprisingly, his first reaction was that Waze knows something he doesn't. This is the obvious value proposition of any navigation assistant: we think such a product should be utilizing information about road conditions that a driver inside a vehicle doesn't have. An assistant with better information can do better than a human driver. Therefore, if the traffic around Mark looks light, and yet Waze directs him to exit the highway and get on a side road, it must know something Mark doesn't. Perhaps there is a crash up front that resulted in a pile-up.
Eventually, he tried ignoring those impromptu diversions, and stuck to the main highway. He said: "I discovered that in pretty much every case, there was no slowdown, my original time to arrival remained more or less accurate, and I almost certainly would have lost time doing what I was told."
Mark wondered what the algos are doing.
***
I don't have inside information about Waze's algo. However, we can still try to understand the possible causes of such inaccuracy.
The first possible cause is poor data quality. If Waze has bad data, such as road closures, traffic jams, and so on, it will make the wrong decisions.
Another cause may be bad prediction. It may not be obvious but any observed data (about congestion) are about the present. The routing problem is dynamic. The algo has to predict what might happen when the vehicle reaches some road segment up ahead in the future. It has to make decisions based on not just one vehicle but also all other vehicles in the vicinity. If these predictions are inaccurate, then the algo will suggest the wrong thing to do.
Not only must the algo predict the future trajectories of vehicles it knows about, it must also predict the appearance of new vehicles of which it has no present knowledge. It also must predict the timing of disappearance of existing vehicles from the road. In other words, the algo is making a ton of predictions, many of which may be inaccurate.
Another source of uncertainty is driver actions. The trajectory prediction problem transcends modeling the physics. A vehicle on the highway is not like a bottle floating down a river. Drivers make decisions that change their trajectories, perhaps drastically. These decisions may have been recommended by other navigation assistants. So a good trajectory prediction algo has to anticipate what other drivers might do.
I'm describing a rather complex model. But the modeler faces another challenge, the limited amount of time during which all computations must be completed and an action is suggested. Any workaround to reduce computational time is likely going to make the solution worse.
***
See also my prior posts about validating Waze's predicted time of arrival, from another friend who ran an experiment.
Could Waze be sending vehicles on alternate routes to sample the traffic conditions on these routes? 1 in 10 or even 1 in 100 would be enough to detect an unexpected slowdown, which may benefit the other 9 in 10 or 99 in 100 drivers.
Posted by: Jon Peltier | 05/08/2024 at 12:30 PM
From a modeling standpoint, perhaps the most interesting thing about these weird detours is that they almost invariably divert drivers from high information roads to low information roads, which is the opposite of how you'd expect an optimization algorithm to work.
My best guess is that while highways and major streets have enough users on their phones to provide decent real time data on things like traffic speed and density, the algorithm has to resort to very basic city and county information (speed limit, number of stop signs, etc.) when navigating largely empty residential streets. The algorithm is stitching together data rich segments that are highly complex with data poor segments it treated as simple.
Posted by: Mark | 05/08/2024 at 03:42 PM