Mentre provavo l'applet sottostante, ho visto che questo algoritmo di ricerca dei percorsi chiamato Jump Point Search fornisce risultati significativamente più veloci di A * e Dijkstra.
A *: 46 secondi
Dijkstra:1minuto39secondi
Ricerca punto di salto: meno di 3 secondi
Inutile dire che sono abbastanza sbalordito dal risultato. Dalla rappresentazione visiva, Jump Point Search sembra fare molte ipotesi casuali (probabilmente molto intelligenti) nel trovare il percorso (dalla selezione del blocco almeno), ma non ho ancora trovato un caso di test in cui questo algoritmo ha prodotto risultati peggiori risultati di A * e Dijkstra.
Come funziona questo algoritmo? Com'è così efficiente in confronto a A * e Dijkstra?