Modified A* - A Working Model

Introduction In this article, we will be going over the implementation of Modified A* algorithm using Python to solve the 8Puzzle problem, while also giving a generalized idea on how this can potentially be used for other problems as well. In case you are not sure about A* algorithm, or what the modification is, I recommend going through the topic here . Prerequisites: Python(Jupyter notebook), A* Algorithm, understanding copy/deep copy also helps. Algorithms This is going to be the algorithm for modified A* Algorithm, you will find it to be very similar to the algorithm for A* Algorithm, though this is expected as the main modification we have made is the added component of depth. Further it would help to note, depth of 1 is equivalent to the normal A* Algorithm. mod_A( state, depth ) : root_node = initialiseRootNode( state ) iterated_node = root_node fringe = PriorityQueue() while not isGoalStat...