Path Search Algorithms: A * Vs Jump Point Search

I know that A * is better than Dijkstra's algorithm, since it takes into account heuristic values, but from the search for A * and Jump Point, which is the most efficient algorithm for finding the shortest path in an environment with obstacles? and what are the differences?

+7
algorithm a-star path-finding
source share
1 answer

Jump Point Search - Improved A *, based on some conditions on the chart. Thus, if you comply with these conditions (basically a grid with a total cost), JPS is strictly better than A * (the same optimality, the best cases can be orders of magnitude better and worse, probably the same complexity, but with a little worse), but if you do not meet the conditions, you cannot use it.

Improving JPS over A * is basically, if you have a chart with a single cost function (it costs the same to go from A to B and from B to C, in the same direction), you can skip some steps in some cases and go directly from A to C without expanding nodes in B.

JPS is a cropping method over A *, you delete cases that you do not need to evaluate because you know that they will be suboptimal. You know this because of the state of the grid with uniform cost.
Conceptually, this is equivalent to using A * on a non-uniform grid, where neighboring nodes represent how far you can go in this direction, without encountering an obstacle, with the cost of the jump that you performed. So, if you can go 10 nodes to the right without encountering obstacles, you can reduce this (or go directly) to one node with a cost of 10 * c, where c is the (constant) cost of switching from one node to another on the right.

Original paper can be found here.

+1
source share

All Articles