IDS.py Iterative deepening depth-first search to solve 8 puzzle IDA*.py Iterative deepening A* to solve 8 puzzle