Sudoku helper: -------------- * Brief description and AI targeted area: Game playing is a very important and attractive area of AI. This specific field is referred to as game playing, and also encompasses methods from the problem-solving area of AI, and/or natural language processing, and/or vision, graphics, etc. This is a very rich area of AI. The project you will have to work on is related to game playing but not in the sense of actually playing, but helping players. This game is the Sudoku puzzle to be played by a single player. You will have to get familiar with this puzzle, whose rules are very simple, as you will notice. The objective in this project is to implement a software for players to do Sudoku on a computer, which is providing them with a Sudoku board to be filled, and throughout there game, providing them with help when they request so. The first part of the project which consists in implementing a tool that enables to play Sudoku on a computer is quite straightforward (but yet includes a small procedure to check when the Sudoku rules are violated, and when the Sudoku is solved). The second part of the project consists in providing an expert help to the user. You may want to consider different levels of help. You will have to justify why each of your levels is actually consistent with the level of help you plan to provide. ---------- * Description of the objectives and tasks: By the end of the project, you will have: - written a short tutorial about your project: this tutorial will be handed out to all students in the class; this tutorial should be ready by the end of week 4 of the project timeline; - implemented software able to do what is described above; run experiments and report / analyze the results. You will also have to write a report in which you will include: - an introduction: presenting the problem you plan to address, and explain how you will tackle it; explain how it is related to AI and what specific area it is related to; - the description of your team: names of the students, tasks assignment (contribution of each one), timeline of your work; - the description of your system: * which method(s) you used and how you implemented it (justify your choice and make your descriptions clear) * what strategy(ies) you used to make your system efficient: explain why your system is expected to be more efficient than your challengers'; - the report of your testing your system: * with a sample of users; * does your system meet your expectations? why? - a discussion of what went wrong and why: self-criticism; - a conclusion: synthesis of your work, future work directions (what you would do if you were given more time on your project). ---------- * Names of the students, and respective responsabilities: ----------