A* Search Path Visualization

Summary

I implemented the A* path search algorithm in Python and used Tkinter to visualize the algorithms decisions.

Tools used: Python, Tkinter


An Introduction

After finishing my algorithms class, I felt that the algorithms I learned about had too many shortcomings in pathfinding. Afterall, I just wanted to know the fastest way to get from A to B in real life scenario. After a quick google search, I learned that A* was the top result. Referred to as A-star, it is one of the best search algorithms because it uses information about it's paths and heuristics during it's path finding process to find the optimal solution.

It's baby AI. Pretty cool if you ask me.


What's next?

My implementation of this algorithm uses the Manhattan distance which is the distance between two points measured along the axes at right angles. The next version will include options to select different methods of calculating heuristics. There is also no option to turn on or off cutting corners as the current algorithm does not corners. For example, if you started at point (0, 0) and had an obstacle at (0, 1) and (1, 0), it's next move can not include (1, 1).


Demo