Sudoku Solver

28 December 2016

Sudoku solver with Genetic Algorithms

Area: Evolutionary Computation; Technologies: Java, multi-threading.

Sudoku can be considered as a constraint satisfaction problem and difficult to solve a problem in limited time, in a few seconds. Genetic Algorithms (GA) are useful to solve such problems by treating them as optimization problems. For solving a Sudoku problem, a GA is used with adaptive recombinations and mutations approach, for controlling the optimization pace. Also, the utilization of the informed operators has helped in resolving a lack of population diversity during the end times effectively and efficiently. For reducing optimization time, a version of the island model, a parallel optimization approach, is incorporated in this GA which has improved performance significantly. As a result, the algorithm is able to solve easy Sudoku puzzles with ease. Still, for solving difficult puzzles, it requires more time and attempts.