I created this project for my university’s undergraduate research symposium. I wanted to create a practical application of the Astar search algorithm which I had been using in my Artificial Intelligence class. First, I ported over an AI library from Java to Objective-C. It can be found on GitHub. I worked with a partner, Brian Howell, who used Python scripts to create test maps in the GeoJSON spec. The end result was a path finding algorithm which finds the optimal route for complex maps in little time at all.
The Astar algorithm works by evaluating two variables. The algorithm first evaluates the path cost: the distance between the current node and another possible travel node. Then it estimates the straight-line distance between the possible node and the final destination node. This last evaluation is the heuristic.