This assignment does not count toward the final grade.
PA2: CSP solver
- 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 1 student has already been assessed using this rubric. Changing it will affect their evaluation.
Criteria | Ratings | ||
---|---|---|---|
program compiles and/or runs without error
|
|
||
the source code is well organized and commented
|
|
||
source code headers
each source code file includes a header indicating who wrote or contributed to the code
|
|
||
external code cited
code from any external sources, or code that relied on outside influence, includes a citation in a comment just above the corresponding code
|
|
||
problem-specific driver
There is an implemented, working problem-specific driver class (must be one of the identification problems specified in the PA instructions)
|
|
||
iterative improvement class
There is an implemented, working iterative improvement class
|
|
||
forward checking
The CSP class has been updated to correctly support forward checking
|
|
||
constraint propagation
The CSP class has been updated to correctly support constraint propagation
|
|
||
MRV
The CSP class has been updated to correctly support minimum remaining values (MRV)
|
|
||
LCV
The CSP class has been updated to correctly support least constraining value (LCV)
|
|
||
README.md file
Explains which identification problem you implemented and how to run it
|
|
||
README.md file
Includes a section that states who worked on the project
|
|
||
README.md file
Clear formatting instructions for any input files required by your code
|
|
||
README.md file
Includes an analysis of the stats returned for running three differently sized initializations of the problem you selected (e.g., n=8, 100, 1000 for the n-queens problem) using each of the following configurations of algorithms:
* backtracking * backtracking + forward checking * backtracking + forward checking + MRV + LCV * backtracking + constraint propagation * backtracking + constraint propagation + MRV + LCV * iterative improvement |
|
||
command line options
The user has the option to specify problem-specific parameters
|
|
||
command line options
The user has the option to specify their choice of primary algorithm: backtracking or iterative improvement
|
|
||
command line options
In combination with backtracking, the user has the option to specify a filtering method: none, forward checking, or constraint propagation
|
|
||
command line options
In combination with backtracking, the user has the option to specify an ordering method: none, MRV, LCV, or MRV+LCV
|
|
||
command line options
In combination with iterative improvement, the user has the option to specify the maximum number of runs AND the maximum number of reassignments per run
|
|
||
program output
Once the program finishes, if a solution was found, the solution is displayed in a clear, readable format
|
|
||
program output
Once the program finishes, if a solution was not found, a notice saying so is displayed in a clear, readable format
|
|
||
program output
Once the program finishes, stats (as described in the PA instructions) are displayed to the terminal in a clear and readable format (this is regardless of whether a solution was found or not)
|
|
||
|