Dijkstra`s Algorithm vs A* Algorithm

In order to find the shortest path, the two well-known algorithms that are used widely in the field of robotics are the Dijkstra`s Algorithm and the A* Algorithm.

In Dijkstra's algorithm, we calculate the weight of the adjacent nodes and then visit the node that has the least weight. This process is continued until the goal node is reached. Djikstra`s algorithm becomes very similar to the Grassfire Algorithm in case of grids where the weight of each iteration is equal to 1. In such cases, we end up visiting all the nodes until the goal node is reached. This makes it very difficult to use it on larger grids because we visit all the unnecessary nodes. 


Whereas the A* algorithm uses the concept of a Heuristic function. In this algorithm, we visit only the nodes that can be on the shortest path by finding the distance of the adjacent nodes to the goal node and choosing the node that is the closest.


Comments

Popular posts from this blog

The move_base ROS node

Three Wheeled Omnidirectional Robot : Motion Analysis