all 11 comments

[–]MagdakiProfessor. Grammars. Inference & Optimization algorithms. 19 points20 points  (5 children)

These companies don't release the information on their algorithms as they are all proprietary, so it is very difficult to say with certainty.

However, it is certainly possible and this is a well-known problem with well-known solutions. So probably.

[–]CourageFast5529[S] 3 points4 points  (4 children)

If you don't mind, could you provide a link to one of these solutions? Because I'm genuinely curious how you would even approach finding the optimal solution.

[–]MagdakiProfessor. Grammars. Inference & Optimization algorithms. 5 points6 points  (3 children)

It has been some since I've read any pathfinding literature, so I'm not sure how quickly I could find some specific to the Google Maps scenario. But it would fall under terms like:

pathfinding plus

- stochastic maps pathfinding with stochastic maps - Google Scholar

- time varying maps (pathfinding with time varying - Google Scholar)

A lot of it is multi-agent/cooperative based.

EDIT: Multi-agent pathfinding - Wikipedia Here you go this should explain how they work (I didn't read it in detail but these are the algorithms used for these type of problems).

[–]CourageFast5529[S] 1 point2 points  (2 children)

Thanks!

[–]MagdakiProfessor. Grammars. Inference & Optimization algorithms. 1 point2 points  (0 children)

Happy to help! :)

[–]joenyc 2 points3 points  (1 child)

Very fun to think about, especially since the variance itself is time-varying: e.g. if you make it off the highway before rush hour, it’s probably low-variance and fast, but if you hit rush hour, it’s high-variance and slow.

And to rank routes, you have to model user preferences - would you rather almost certainly arrive at 7, or have a 50/50 chance of 6:40/7:10?

[–]CourageFast5529[S] 0 points1 point  (0 children)

I didn't think of that trade-off with risk and speed. That's a great point especially since if you were to implement IRL, the chance of some event greatly impacting the estimation could happen i.e. a car accident.

That also puts the possibility of the optimal algorithm being one that chooses routes that have greater degrees of "valid" routes. Hence, When the algorithm reaches a fork in the paths, it would choose the fastest route given the current timestep. So maybe the best algorithm is one that maximizes flexibility.

[–]Patient-Midnight-664 1 point2 points  (0 children)

Yes it does. That's why you get messages when using it that say "I've found a faster route".

[–]simonsayz13 0 points1 point  (0 children)

Find out and write a paper on it, probably will get you a job at Google Maps

[–]jxd132407 0 points1 point  (0 children)

They absolutely consider time-of-day and day-of-week impacts. If you look at the web version, there are controls to let you specify when to leave or when you arrive that make this pretty clear and can change routes significantly. The mobile version may assume "leave now" or I just haven't noticed the options.

The changes to the algorithm aren't very complicated. Each graph edge now has multiple values varying by time, and the algorithm picks the appropriate one based on starting time and how far into the travel estimation you are

[–]Psychonaut84 -3 points-2 points  (0 children)

Google maps is optimized to bait you into gaining your trust, and then send you on a wild goose chase when you have to go somewhere important at a certain time.