; The functions should be implemented so that the following ; interface will work ; depth first ; example: (dfs '(1 2 3 4 5 6 7 8 0)) (dfs state) ; breadth first ; example: (bfs '(1 2 3 4 5 6 7 8 0)) (bfs state) ; iterative deepening search ; example: (ids '(1 2 3 4 5 6 7 8 0)) (ids state) ; heuristic search ; heuristic-function should be either 'h1 (# tiles out of place) ; or 'h2 (sum of manhattan distance) ; example: (heuristic '(1 2 3 4 5 6 7 8 0) 'h1) (heuristic state heuristic-function) ; a* ; heuristic-function should be either 'h1 (# tiles out of place) ; or 'h2 (sum of manhattan distance) ; example: (astar '(1 2 3 4 5 6 7 8 0) 'h1) (astar state heuristic-function) ; ida* ; heuristic-function should be either 'h1 (# tiles out of place) ; or 'h2 (sum of manhattan distance) ; example: (idastar '(1 2 3 4 5 6 7 8 0) 'h1) (idastar state heuristic-function)