comparison of 4 search algorithms: depth first search, breadth first search, uniform cost search and A*