This assignment does not count toward the final grade.
PA1: n-puzzle
- Due No Due Date
- Points 1
- Submitting a file upload
- File Types zip
See this document Links to an external site.for the PA instructions. Upload your code files as a zip.
Rubric
Keep in mind that 5 students have already been assessed using this rubric. Changing it will affect their evaluations.
Criteria | Ratings | ||
---|---|---|---|
program compiles and/or runs without error
|
|
||
the source code is well organized and commented
|
|
||
greedy search is implemented correctly
|
|
||
A* search is implemented correctly
|
|
||
all algorithms produce a correct solution
|
|
||
BFS, ID, UCS, and A* (with all implemented heuristics) produce optimal solutions
|
|
||
source code headers
each source code file includes a header indicating who wrote or contributed to the code
|
|
||
outside code cited
code from any outside sources, or code that relied on outside influence, includes a citation in a comment just above the corresponding code
|
|
||
README.md
the code includes an updated README.md file that explains how to run your code to solve the n-puzzle problem
|
|
||
the readme includes a section that states who worked on the project
|
|
||
heuristics described in README.md
the readme includes a section that describes three heuristics and an evaluation of those heuristics (how well each one worked with A*) over a number of trials of different board sizes
|
|
||
n-puzzle input file
an n-puzzle starting state is represented in a text file, the format of which should be clear from the README.md file
|
|
||
program options
the user has the option to specify the starting state, the algorithm (BFS, DFS, ID, UCS, greedy, and A*), the heuristic (if applicable), spot sizes, margin sizes, and the animation frames per second (FPS) when running the program
|
|
||
solution statistics
once a solution is found, stats (size, space, solution length) are displayed to the terminal in a clear and readable format
|
|
||
solution animation
after solving the problem, the program displays a window animating the solution found by the specified algorithm, that is, the sequence of moves required to put the tiles into the correct order
|
|
||
solution animation
each frame of the animation shows the next move; you don't need to worry about animating sliding transitions or anything fancy
|
|
||
solution animation
the spot sizes, their margin sizes, and the animation's frame rate (FPS) use the user-specified values from the command line argument, or a reasonable default for any option not provided
|
|
||
solution animation
in the solution animation, the board is of the size of the starting state and tiles are numbered (or the number corresponding to each tiles is communicated visually somehow)
|
|
||
|