* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Project specification
Survey
Document related concepts
Transcript
Project specification • Introduction Sudoku is a popular game which consists of puzzles being solved in order to complete it. Given the huge popularity with puzzles present in common papers and other places, it motivates an mathematical analysis and algorithms that are capable of solving it efficiently. Typically an instance is given as a grid of numbers ranging from 1-9, with nine subsquares satisfying that all numbers in subsquares and every row and column are unique. Instances usually contain a subset of the complete solution with only some parts of the grid given. A solution consists of a fully populated grid that satisfies all the given requirements. An algorithm that solves the problem will have certain characteristics and might do better or worse on different instances. In order to determine the actual performance it is required to benchmarks on multiple instances. There are also puzzles with varying difficulty, promoting a more deep study of available algorithms. • Problem statement Sudoku have under recent years been a very popular game. Because of this it has also been studied by many mathematicians and computer scientists. Of of the primary goals for computer scientists have been to actually solve the puzzle and various algorithms have therefore been developed. The goal of this project can be summarised as to compare different sudoku solving algorithms and develop our own algorithm depending on which ideas and construction methods that seems to work well for. There should however be a clarification concerning which algorithms that will be considered. There are hundreds of different sudoku solving algorithms and variations of these so an study of all of these would be both impractical and beyond the possible scope of this project due to time limitations. Instead only some algorithms will be chosen for the study. The algorithms that are chosen for the study shall have some unique idea and they shall also be possible effecient algorithms. Variation of these algorithms might also be studied if those seems to be able to change the result considerable. At this state we know of some interesting algorithms, but as we have not done extensive research about this yet, it is impossible to know or even to guess which algorithms that will be in the study. The conclusion will as a result of this limitation not be which algorithm is most suited for solving sudoko, but rather how the studied algorithms measure against each other. The goal of the project will as mentioned also be to develop our own algorithm and this will be done by studying the comparison and trying to identify which ideas and construction methods that seems to work well. The resulting algorithm will also be measured against the collected algorithms. • Approach The project will as already hinted, with collection of different sudoku solving algorithms as well as some research concerning sudoku in general and the mathematical and computer science aspects of sudoku to improve our chances to select good candidate algorithms as well as construct a good comparison. After that the actual comparison will be carried out and the manner this will be done in is not entirely decided yet, but there are numerous aspects to consider for this. To fully apprieciate the problematics, some mathematical properties of sudoku shall be presented first. The number of possible sudoku puzzle are in the order of 6*10^21 and if only unique solutions are considered (considering relabelling, reflections, rotations etc), there are approximately 5*10^9 solutions. Since the problem that will be studied is an unfinished sudoku puzzle with a unique solution it is more intresting to know how many such puzzles exist. These however far exceeds the number of unique solutions since it is possible to construct multiple different puzzles from every solution. The number of sudoku puzzles are in fact not even known. As a result of this, one can conclude that it would be infeasible to try every puzzle for each algorithm and we could therefore say at this point that the comparison will rather rely on a number of chosen puzzles. Those could for example include the 48000 puzzles known with 17 clues (that is 17 numbers already filled in). It is however at this point required more research to conclude which comparison methods should be used and which data the algorithms should be tested on. When the algorithms have been compared, the results should be analysed to be able to go into the next phase of the project which will be to construct our own algorithm with regard to which type of algorithms that seems to be most effiecent. There might be multiple attempts for this and finally the resulting algorithm/algorithms will be compared to the previously analysed algorithms. • References Enumerating possible Sudoku grids http://www.afjarvis.staff.shef.ac.uk/sudoku/sudoku.pdf B Felgenhauer, 2005 A Search Based Soduku Solver http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.64.459&rep=rep1&type=pdf T Cazenave - Labo IA Dept. Informatique Universite Paris, 2006 - Citeseer Sudoku Solving with Cultural Swarms http://www.stes.fi/step2008/proceedings/step2008proceedings.pdf#page=60 T Mantere - AI and Machine Consciousness, 2008 - stes.fi Sudokusat—a tool for analyzing difficult sudoku puzzles http://www.springerlink.com/index/w42642162243523g.pdf M Henz - Tools and Applications with Artificial Intelligence, 2009 - Springer • Time plan The essay will be written during the whole process in order to distribute the workload across the weeks available. Time plan for every week: 7-8: Study of sudoku in order to fully understand the problem with all the properties. 9-10: Study of available algorithms, with focus on what makes them unique and selection of candidates. 11-12: Implementation of the chosen algorithms and creation of benchmarks. 13-14: Design of our own sudoku solver based on the knowledge gathered so far. Comparison of results. 15: Completion of the written essay.