Project description:
- collect, prioritize, implement human strategies for making progress in sudoku puzzle
- identifying and abstracting re-usable search patterns(exploiting symmetry of rows and columns for example)
- rate complexity of strategies, hence of problems which require them(evaluate against problem sample)
- figure out what makes a good explanation of a move, hint towards a move or a criticism of a move
- reflect on what is sudoku specific and what transfers (what strategies could be used for kakuro for example)
- make it fun (evaluation criteria)
- an analysis of human strategies for solving sudoku
- a presentation of explanation for progress in sudoku
- development of library components separating strategy-specific aspects, sudoku specific aspects, general constraint problem kit
- delivery as web-based tutor (probably in Java)
- evaluation(with respect to graded problem sample, user experience
- grab a graded problem sample e.g. from www.websudoku.com
- implement a basic model of board and solver
- develop strategy framework and add basic explanation and guessing strategies
- add more sophisticated strategies refactoring library kit
- evaluate against sample
- build basic web app
- develop graphical representation of explanation, hints, criticisms
- user experience evaluation
- finish report
Okay so that's what was written down on the board. Now for me to emphasise some things.
First of all this system is for Humans! so human strategies must be employed. No silly brute forcing of the problem. It's just not possible for humans to work through every iteration of a sudoku puzzle.
What is progress? Progress may not mean filling in a number, but rather eliminating certain numbers from certain squares thereby allowing you to continue and find a space where a number will fit.
Translating strategies into code will be difficult.
I need to get large library of sudoku puzzles that are graded and keep a track of them. Then use them as a basis for grading them using my own program. (will have some way of seeing what strategies were needed to solve the problem and therefore how difficult it is)
So lets leave this here for now, I'll post more when I am not on my way to class.
No comments:
Post a Comment