Inden for datalogi er Jump Point Search ( JPS ) en optimering af A* -søgealgoritmen for ensartede omkostningsnet. Reducerer symmetri i søgeproceduren ved at reducere grafen [1] ved at fjerne bestemte noder i gitteret baseret på antagelser, der kan gøres om den aktuelle nodes naboer, hvis visse netrelaterede betingelser er opfyldt. Som et resultat kan algoritmen tage højde for lange hop langs lige (vandrette, lodrette og diagonale) linjer i gitteret i stedet for små skridt fra en gitterposition til en anden, som almindelig A* gør [2] .
At finde et overgangspunkt holder A* optimal , hvilket potentielt reducerer dets udførelsestid med en størrelsesorden [1] .
Den originale publikation af Harabor og Grastien præsenterer nabobeskærings- og efterfølgerdetekteringsalgoritmer [1] . Den originale naboklipningsalgoritme tillod hjørneskæring, hvilket betød, at algoritmen kun kunne bruges til at flytte agenter med nul bredde, hvilket begrænsede dens brug til enten rigtige agenter (f.eks. robotteknologi) eller simuleringer (f.eks. mange spil).
Forfatterne har indsendt ændrede klipperegler for applikationer, hvor hjørneklipning er deaktiveret næste år [3] . Denne artikel introducerer også en mesh-forbehandlingsalgoritme for at minimere internetsøgningstiden.
I 2014 offentliggjorde forfatterne en række yderligere optimeringer [4] . Disse optimeringer omfatter undersøgelse af kolonner eller rækker af noder i stedet for individuelle noder, forudberegning af overgange i mesh og strengere klipperegler.
Selvom overgangspunktsøgningen er begrænset til grids med ensartede omkostninger og agenter med ensartet størrelse, planlægger forfatterne i fremtiden at bruge PTP'er med eksisterende grid-baserede accelerationsmetoder såsom hierarkiske grids [4] [5] .
Algoritmer til grafsøgning | ||
---|---|---|
Uoplyste metoder | ||
Informerede metoder | ||
Genveje | ||
Minimumspændende træ | ||
Andet |