Mi sono imbattuto nello Jump Point Search e mi sembra piuttosto carino. Tuttavia, non sono sicuro di come le loro regole di potatura funzionano davvero. Più in particolare, nella figura 1, si afferma cheA * Ricerca punto di salto - come funziona davvero la potatura?
possiamo potare subito tutti i vicini di grigio in quanto questi possono essere raggiunti in modo ottimale dal genitore di x, senza mai passare per il nodo x
Tuttavia, questo sembra un po 'in disaccordo Nella seconda immagine, il nodo 5 potrebbe essere raggiunto passando prima attraverso il nodo 7 e saltando x
interamente attraverso un percorso simmetrico, ovvero, 6 -> x -> 5
sembra essere simmetrico a 6 -> 7 -> 5
. Questo sarebbe lo stesso di come il nodo 3 può essere raggiunto senza passare attraverso x
nella prima immagine. In quanto tale, non capisco come queste due immagini non siano del tutto equivalenti, e non solo le versioni ruotate l'una dell'altra.
In secondo luogo, mi piacerebbe capire come questo algoritmo possa essere generalizzato a un volume di ricerca tridimensionale.
Ho studiato lo stesso algoritmo la settimana scorsa e ho trovato anche le immagini confuse. Hai preso in considerazione l'invio a Daniel Harabor di questo? –
@larsmans: ho un'idea a riguardo. Vieni alla chat C++ e ne parlerò. – Puppy
La prima immagine ha senso perché considera solo il movimento orizzontale e verticale, non le diagonali. Quindi, dato questo vincolo, la potatura ha senso. Ma la seconda immagine, come hai detto tu, non ha senso per me. – Magnus