L'algoritmo Dijkstra è utilizzato nei moderni sistemi di ricerca di percorsi come Google Maps o il navigatore satellitare nella tua auto? In caso contrario, che cos'è?
L'algoritmo Dijkstra è utilizzato nei moderni sistemi di ricerca di percorsi come Google Maps o il navigatore satellitare nella tua auto? In caso contrario, che cos'è?
Risposte:
Sì, l'algoritmo di Dijkstra viene utilizzato nei moderni sistemi di mappe. Una lunga e istruttiva discussione può essere trovata nella seguente domanda da StackOverflow: Quali algoritmi calcolano le direzioni dal punto A al punto B su una mappa?
Google Maps nel 2009 ha utilizzato le gerarchie di contrazioni : vedi questo discorso tecnico .
Da allora, sono stati scoperti alcuni metodi strabilianti, in grado di eseguire il routing attraverso paesi in millisecondi frazionari - i cosiddetti "oracoli della distanza di etichettatura a due hop". Vedi qui o cerca "Etichettatura hub" o "Percorsi più brevi per le masse". Penso di aver sentito che Bing usa questo. Ha anche applicazioni come la capacità di trovare il punto di interesse più vicino (ad esempio la stazione di servizio più vicina) con una complessità indipendente dal numero di stazioni di servizio.