You will be solving the N-Puzzle Problem using one of the following search strategies:   1. A* search   2. Hill-Climb  3. Simulated Annealing  4. Genetic Algorithm   5. Your Own (Optional, if you can derive a better one than 1, 2, 3, and 4)