In this paper we propose an algorithm for enumerating diagonal Latin squares of small order. It relies on specific properties of diagonal Latin squares to employ symmetry breaking techniques, and on several heuristic optimizations and bit arithmetic techniques to make use of computational power of state-of-the-art CPUs. Using this approach we enumerated diagonal Latin squares of order at most 9, and vertically symmetric diagonal Latin squares of order at most 10.
Quite similar approach to the one used in our paper was employed in @cite_9 . In that paper the hypothesis about the minimal number of clues in Sudoku was proven. The authors developed the fast algorithm to enumerate and check all possible Sudoku variants. The algorithm was implemented and launched on a modern computing cluster. It took about 11 months for this cluster to check all variants. The volunteer computing project Sudoku@vtaiwan @cite_20 was used to confirm the solution of this problem.
@cite_9 @cite_20
2542767359 2099112283 2049458772 1578190862
It is known that solving the minimum Sudoku problem can be done by checking 5,472,730,538 essentially different Sudoku grids, which can be checked independently or in parallel. However, the program Checker, written by McGuire, requires about 311 thousand years on one-core CPU to check these grids completely, according to our experimental analysis. This paper proposes a new algorithm, named a disjoint minimal unavoidable set (DMUS) algorithm, to help solve the minimum Sudoku problem. Then, incorporate the algorithm into the program and further tuning the program code. In our experiment, the performance was greatly improved by a factor of 128.67. Hence, the improved program by us requires about 2417.4 years only. Thus, it becomes feasible and optimistic to solve this program using a volunteer computing system, such as BOINC. The sudoku minimum number of clues problem is the following question: what is the smallest number of clues that a sudoku puzzle can have? For several years it had been conjectured that the answer is 17. We have performed an exhaustive computer search for 16-clue sudoku puzzles and did not find any, thus proving that the answer is indeed 17. In this article we describe our method and the actual search. As a part of this project, we developed a novel way to enumerate hitting sets. The hitting set problem is computationally hard; it is one of Karp’s 21 classic NP-complete problems. A standard backtracking algorithm for finding hitting sets would not be fast enough to search for a 16-clue sudoku puzzle exhaustively, even at today’s supercomputer speeds. To make an exhaustive search possible, we designed an algorithm that allowed us to efficiently enumerate hitting sets of a suitable size. Sudoku puzzle is a popular logic game since 2005. This puzzle is an NP-Complete problem which means that a very hard problem that is required deep and efficient algorithm to be solved. So it also draws attention of the scientists to develop methods and algorithm in order to solve Sudoku puzzles. In this study I tried to develop a hybrid algorithm which consist both analytical and heuristic steps to solve the Sudoku puzzle. The developed hybrid algorithm includes two analytical steps and one heuristically step. In the first analytical step, basic manual Sudoku solving methods are used to solve the puzzle. If puzzle is not solved completely than improvement analytical step is applied to solve the puzzle. If still puzzle is not solved completely then heuristic step applied to solve the puzzle completely. In the heuristic step ant colony optimization algorithm (ACO) will be applied to the puzzle. Experiments show that this hybrid ACO algorithm can solve the hardest Sudoku puzzles less than one second. As a result, this study shows that ACO is an effective method that can be applied to solve Sudoku puzzles. In this paper we introduce our new improved version of ant colony optimization genetic algorithm hybrid for Sudoku puzzle solving. Sudoku is combinatorial number puzzle that had become worldwide phenomenon in the last decade. It has also become popular mathematical test problem in order to test new optimization ideas and algorithms for combinatorial problems. In this paper we present our new ideas for populations sorting and elitism rules in order to improve our earlier evolutionary algorithm based Sudoku solvers. Experimental results show that the new ideas significantly improved the speed of Sudoku solving.