Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Shortest path using A∗ Algorithm
Phaneendhar Reddy Vanam
December 7, 2011
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
1 Introduction
2 History
3 Components of A∗ Algorithm
4 Steps Involved in A∗ Algorithm
5 Example showing A∗ Search
6 Applications
7 Time Complexity
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Introduction
The A∗ Algorithm is a best-first search algorithm thatfinds the least cost path from an initial configuration to afinal configuration.
The most essential part of the A∗ Algorithm is a goodheuristic estimate.
This Heuristic estimate function can improve the efficiencyand performance of the algorithm.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
History of A∗ Algorithm
In 1964 Nils Nilson invented a heuristic based approach toincrease the speed of Dijkstra’s algorithm.This algorithm iscalled A1.
In 1967 Bertram Rapheal made dramatic improvementsupon this algorithm, but failed to show optimatility.Hecalled this algorithm as A2.
Then in 1968 Peter E.Hart introduced an argument thatproved A2 was optimal when using a consistent heuristic.
Finally, He named new algorithm in Kleene star syntax tobe the algorithm that starts with A called A∗.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Components of A∗ Algorithm
A∗ Algorithm mainly uses the function f(n)=g(n)+h(n).
g(n) is path-cost function, which is the cost from thestarting node to the current node.
h(n) is the heuristic estimate of the distance to the goal.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Contd
A search algorithm is said to be complete, if it isguaranteed to find a goal state if one exits.
A search algorithm is said to be optimal, if the first goalstate it finds is the least cost.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Steps Involved in A∗ Algorithm
Let’s characterize a class of admissible heuristic searchstrategies, using the evaluation function:f ′(n) = g(n) + h(n).
A∗ can be implemented more efficiently roughly speaking,no node needs to be processed more than once.
As A∗ traverses the graph, it follows a path of the lowestknown cost, keeping a sorted priority queue of alternatepath segments along the way.
If, at any point, a segment of the path being traversed hasa higher cost than another encountered path segment, itabandons the higher-cost path segment and traverses thelower-cost path segment.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Steps Contd.
Starting with the initial node, it maintains a priority queueof nodes to be traversed, known as the open set.
The lower f(x) for a given node x, the higher its priority.
At each step of the A∗ algorithm, the node with thelowest f(x) value is removed from the queue, the f and hvalues of its neighbors are updated accordingly, and theseneighbors are added to the queue.
The A∗ algorithm continues until a goal node has a lowerf value than any node in the queue.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Steps Contd.
The f value of the goal is then the length of the shortestpath, since h at the goal is zero in an admissibleheuristic.If the actual shortest path is desired, thealgorithm may also update each neighbor with itsimmediate predecessor in the best path found.
A closed set of nodes already traversed may be used tomake the search more efficient.This process continues untilthe goal is reached.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example
Values of Heuristic i.e straight line distance to Bucharest
City Hueristic value City Heuristicvalue
Arad 366 Mehadia 241
Bucharest 0 Neamt 234
Craiova 160 Oradea 380
Eforie 161 Pitesti 100
Fagaras 176 Rimnicu Vilcea 193
Dobreta 242 Timisoara 329
Hirsova 151 Urziceni 80
Iasi 226 Vaslui 199
Lugoj 244 Zerind 374
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example Contd.
Steps in Map of Romania with Arad as start state
Figure: Example1
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example Contd.
After expanding Arad
Figure: Example2
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example Contd.
After expanding Sibiu
Figure: Example3
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example Contd.
After expanding Rimnicu
Figure: Example4
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example Contd.
After expanding Fagaras
Figure: Example5
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example Contd.
After expanding Pitesti
Figure: Example6
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Example Contd.
Finally, the shortest path between Arad and Bucharest
Figure: Example7
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Applications
The A∗ algorithm for heuristic search is applied toconstruct a Neural Network structure (NS).
This algorithm mostly used in Computer Gaming, Roboticsand Google Maps.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
Time Complexity
The time complexity of A∗ depends on the heuristic.In theworst case, the number of nodes expanded is exponential in thelength of the solution.
|h(x) − h∗(x)| = O(log(h)∗(x))
where h∗ is the optimal heuristic and it is also defined as truecost of getting from n to the goal.
Shortest path
using A∗
Algorithm
Phaneendhar
Reddy Vanam
Introduction
History
Components
of A∗
Algorithm
Steps Involved
in A∗
Algorithm
Example
showing A∗
Search
Applications
Time
Complexity
References
Stuart Russell,Peter Norvig Artificial intelligence a modern
approach
David L.Poole and Alan K.Mackworth Foundations of
computational agents Cambridge University Press, 2010
Ben Coppin Artificial Intelligence Illuminated
wikipedia A∗ search algorithmhttp://en.wikipedia.org/wiki/A* algorithm
A∗ algorithm for beginnershttp://www.policyalmanac.org/games/aStarTutorial.htm
Top Related