http://robotics.bstu.by/mwiki/images/4/47/PathFinding.pdf