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