Finding solutions to sudoku puzzles using human intuitive heuristics

Sudoku is a logical puzzle that has achieved international popularity. Given this, there have been a number of computer solvers developed for this puzzle. Various methods including genetic algorithms, simulated annealing, particle swarm optimization and harmony search have been evaluated for this purpose. The approach described in this paper combines human intuition and optimization to solve Sudoku problems. The main contribution of this paper is a set of heuristic moves, incorporating human expertise, to solve Sudoku puzzles. The paper investigates the use of genetic programming to optimize a space of programs composed of these heuristics moves, with the aim of evolving a program that can produce a solution to the Sudoku problem instance. Each program is a combination of randomly selected moves. The approach was tested on 1800 Sudoku puzzles of differing difficulty. The approach presented was able to solve all 1800 problems, with a majority of these problems being solved in under a second. For a majority of the puzzles evolution was not needed and random combinations of the moves created during the initial population produced solutions. For the more difficult problems at least one generation of evolution was needed to find a solution. Further analysis revealed that solution programs for the more difficult problems could be found by enumerating random combinations of the move operators, however at a cost of higher runtimes. The performance of the approach presented was found to be comparable to other methods used to solve Sudoku problems and in a number of cases produced better results.

[1]  Martin Henz,et al.  SudokuSat-A Tool for Analyzing Difficult Sudoku Puzzles , 2009, Tools and Applications with Artificial Intelligence.

[2]  Christopher James Thornton,et al.  Artificial Intelligence Through Search , 1992, Springer Netherlands.

[3]  Michael O'Neill,et al.  On the effects of locality in a permutation problem: The Sudoku Puzzle , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[4]  Timo Mantere,et al.  Solving and analyzing Sudokus with cultural algorithms , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[5]  Radek Pelánek,et al.  Difficulty Rating of Sudoku Puzzles by a Computational Model , 2011, FLAIRS.

[6]  Julian Togelius,et al.  Product Geometric Crossover for the Sudoku Puzzle , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[7]  Luiz Chaimowicz,et al.  Combining Metaheuristics and CSP Algorithms to Solve Sudoku , 2011, 2011 Brazilian Symposium on Games and Digital Entertainment.

[8]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[9]  Jaysonne A. Pacurib,et al.  Solving Sudoku Puzzles Using Improved Artificial Bee Colony Algorithm , 2009, 2009 Fourth International Conference on Innovative Computing, Information and Control (ICICIC).

[10]  Sheehan Khan,et al.  Solving Sudoku Using Probabilistic Graphical Models , 2008 .

[11]  Rhyd Lewis,et al.  Metaheuristics can solve sudoku puzzles , 2007, J. Heuristics.

[12]  Yuji Sato,et al.  GPU acceleration for Sudoku solution with genetic operations , 2011, 2011 IEEE Congress of Evolutionary Computation (CEC).

[13]  Timo Mantere,et al.  Solving, rating and generating Sudoku puzzles with GA , 2007, 2007 IEEE Congress on Evolutionary Computation.

[14]  Arvinder Kaur,et al.  A Survey on the Applications of Bee Colony Optimization Techniques , 2011 .

[15]  David Mullaney Using Ant Systems to Solve Sudoku Problems , 2022 .

[16]  Önder Halis Bettemir,et al.  A hybrid genetic algorithm for the discrete time-cost trade-off problem , 2012, Expert Syst. Appl..

[17]  S. Bhatia,et al.  A Retrievable GA for Solving Sudoku Puzzles , 2011 .

[18]  Bryant A. Julstrom,et al.  Iterated mutation in an evolutionary algorithm for Sudoku , 2008 .

[19]  Jean-Paul Delahaye The science behind Sudoku. , 2006, Scientific American.

[20]  Xiu Qin Deng,et al.  A novel hybrid genetic algorithm for solving Sudoku puzzles , 2013, Optim. Lett..

[21]  Yuji Sato,et al.  Solving Sudoku with genetic operations that preserve building blocks , 2010, Proceedings of the 2010 IEEE Conference on Computational Intelligence and Games.

[22]  Sanja Petrovic,et al.  HyFlex: A Benchmark Framework for Cross-Domain Heuristic Search , 2011, EvoCOP.

[23]  Yuji Sato,et al.  Acceleration of Genetic Algorithms for Sudoku Solution on Many-Core Processors , 2013, Massively Parallel Evolutionary Computation on GPGPUs.

[24]  Radek Pelánek Human Problem Solving : Sudoku Case Study ∗ , 2010 .

[25]  Julian Togelius,et al.  Geometric particle swarm optimization for the sudoku puzzle , 2007, GECCO '07.

[26]  Zong Woo Geem,et al.  Harmony Search Algorithm for Solving Sudoku , 2007, KES.

[27]  Timo Mantere,et al.  Solving and Rating Sudoku Puzzles with Genetic Algorithms , 2006 .

[28]  Conor Ryan,et al.  Solving Sudoku with the GAuGE System , 2006, EuroGP.

[29]  Andries E. Brouwer Sudoku puzzles and how to solve them , 2006 .

[30]  Peter Nordin,et al.  Genetic programming - An Introduction: On the Automatic Evolution of Computer Programs and Its Applications , 1998 .

[31]  Tim Kovacs Artificial Intelligence through Search: Solving Sudoku Puzzles , 2008 .