Programming Assignment 4: Slider Puzzle /* ***************************************************************************** * Explain briefly how you represented the Board data type. **************************************************************************** */ /* ***************************************************************************** * Explain briefly how you represented a search node * (board + number of moves + previous search node). **************************************************************************** */ /* ***************************************************************************** * Explain briefly how you detected unsolvable puzzles. * * What is the order of growth of the running time of your isSolvable() * method in the worst case as function of the board size n? Use big Theta * notation to simplify your answer, e.g., Theta(n log n) or Theta(n^3). **************************************************************************** */ Description: Order of growth of running time: Theta( ) /* ***************************************************************************** * For each of the following instances, give the minimum number of moves to * solve the instance (as reported by your program). Also, give the amount * of time your program takes with both the Hamming and Manhattan priority * functions. If your program can't solve the instance in a reasonable * amount of time (say, 5 minutes) or memory, indicate that instead. Note * that your program may be able to solve puzzle[xx].txt even if it can't * solve puzzle[yy].txt and xx > yy. **************************************************************************** */ min number seconds instance of moves Hamming Manhattan ------------ ---------- ---------- ---------- puzzle28.txt puzzle30.txt puzzle32.txt puzzle34.txt puzzle36.txt puzzle38.txt puzzle40.txt puzzle42.txt /* ***************************************************************************** * If you wanted to solve random 4-by-4 or 5-by-5 puzzles, which * would you prefer: a faster computer (say, 2x as fast), more memory * (say 2x as much), a better priority queue (say, 2x as fast), * or a better priority function (say, one on the order of improvement * from Hamming to Manhattan)? Why? **************************************************************************** */ /* ***************************************************************************** * Known bugs / limitations. **************************************************************************** */ /* ***************************************************************************** * Describe any serious problems you encountered. **************************************************************************** */ /* ***************************************************************************** * List any other comments here. Feel free to provide any feedback * on how much you learned from doing the assignment, and whether * you enjoyed doing it. **************************************************************************** */