318 research outputs found

    A Novel Evolutionary Algorithm with Column and Sub-Block Local Search for Sudoku Puzzles

    Get PDF
    Sudoku puzzles are not only popular intellectual games but also NP-hard combinatorial problems related to various real-world applications, which have attracted much attention worldwide. Although many efficient tools, such as evolutionary computation (EC) algorithms, have been proposed for solving Sudoku puzzles, they still face great challenges with regard to hard and large instances of Sudoku puzzles. Therefore, to efficiently solve Sudoku puzzles, this paper proposes a genetic algorithm (GA)-based method with a novel local search technology called local search-based GA (LSGA). The LSGA includes three novel design aspects. First, it adopts a matrix coding scheme to represent individuals and designs the corresponding crossover and mutation operations. Second, a novel local search strategy based on column search and sub-block search is proposed to increase the convergence speed of the GA. Third, an elite population learning mechanism is proposed to let the population evolve by learning the historical optimal solution. Based on the above technologies, LSGA can greatly improve the search ability for solving complex Sudoku puzzles. LSGA is compared with some state-of-the-art algorithms at Sudoku puzzles of different difficulty levels and the results show that LSGA performs well in terms of both convergence speed and success rates on the tested Sudoku puzzle instances

    Stochastic Optimization Approaches for Solving Sudoku

    Full text link
    In this paper the Sudoku problem is solved using stochastic search techniques and these are: Cultural Genetic Algorithm (CGA), Repulsive Particle Swarm Optimization (RPSO), Quantum Simulated Annealing (QSA) and the Hybrid method that combines Genetic Algorithm with Simulated Annealing (HGASA). The results obtained show that the CGA, QSA and HGASA are able to solve the Sudoku puzzle with CGA finding a solution in 28 seconds, while QSA finding a solution in 65 seconds and HGASA in 1.447 seconds. This is mainly because HGASA combines the parallel searching of GA with the flexibility of SA. The RPSO was found to be unable to solve the puzzle.Comment: 13 page

    Improving Performance of The Genetic Algorithm on NP-Complete Problem

    Get PDF
    Non-Deterministic Polynomial Complete Problem is the most challenging problem and also engaging in algorithm strategy. One representation of this problem is the sudoku numbers game. To fill an empty sudoku puzzle, a specific formula does not apply, but filling in sudoku is a matter of decision. So it takes a special algorithm and strategy to solve it. As such, the case of the sudoku numbers game has been widely praised as the topic of finding the best results. One of the methods used is a genetic algorithm. However, due to many processes and data used in the implementation of genetic algorithms, the results obtained are often not optimal. This research will introduce a special strategy in implementing genetic algorithms in NP-Complete problems, namely by optimizing the genetic algorithm in the process of population formation. From the test results, it is found that the application of the genetic algorithm with optimization results in smaller time data and test data compared to the algorithm without optimization

    Solving sudoku's by evolutionary algorithms with pre-processing

    Get PDF
    This paper handles the popular Sudoku puzzle and studies how to improve evolutionary algorithm solving by first pre-processing Sudoku solving with the most common known solving methods. We found that the pre-processing solves some of the easiest Sudoku’s so we do not even need other methods. With more difficult Sudoku’s the pre-processing reduce the positions needed to solve dramatically, which means that evolutionary algorithm finds the solution much faster than without the pre-processing.fi=vertaisarvioitu|en=peerReviewed

    Diversification and Intensification in Hybrid Metaheuristics for Constraint Satisfaction Problems

    Get PDF
    Metaheuristics are used to find feasible solutions to hard Combinatorial Optimization Problems (COPs). Constraint Satisfaction Problems (CSPs) may be formulated as COPs, where the objective is to reduce the number of violated constraints to zero. The popular puzzle Sudoku is an NP-complete problem that has been used to study the effectiveness of metaheuristics in solving CSPs. Applying the Simulated Annealing (SA) metaheuristic to Sudoku has been shown to be a successful method to solve CSPs. However, the ‘easy-hard-easy’ phase-transition behavior frequently attributed to a certain class of CSPs makes finding a solution extremely difficult in the hard phase because of the vast search space, the small number of solutions and a fitness landscape marked by many plateaus and local minima. Two key mechanisms that metaheuristics employ for searching are diversification and intensification. Diversification is the method of identifying diverse promising regions of the search space and is achieved through the process of heating/reheating. Intensification is the method of finding a solution in one of these promising regions and is achieved through the process of cooling. The hard phase area of the search terrain makes traversal without becoming trapped very challenging. Running the best available method - a Constraint Propagation/Depth-First Search algorithm - against 30,000 benchmark problem-instances, 20,240 remain unsolved after ten runs at one minute per run which we classify as very hard. This dissertation studies the delicate balance between diversification and intensification in the search process and offers a hybrid SA algorithm to solve very hard instances. The algorithm presents (a) a heating/reheating strategy that incorporates the lowest solution cost for diversification; (b) a more complex two-stage cooling schedule for faster intensification; (c) Constraint Programming (CP) hybridization to reduce the search space and to escape a local minimum; (d) a three-way swap, secondary neighborhood operator for a low expense method of diversification. These techniques are tested individually and in hybrid combinations for a total of 11 strategies, and the effectiveness of each is evaluated by percentage solved and average best run-time to solution. In the final analysis, all strategies are an improvement on current methods, but the most remarkable results come from the application of the “Quick Reset” technique between cooling stages

    Nested Monte Carlo Tree Search as Applied to Samurai Sudoku

    Get PDF
    As Sudoku has come into prominence as a favorite logic puzzle, mathematicians and computer scientists alike have analyzed the game for interesting properties. The large search space presents a challenge for both generating and solving Sudoku puzzles without relying on techniques that simply permute a valid puzzle. These permutations result in puzzles that are essentially the same since they follow the same solution path. Many Sudoku generating or solving programs rely on brute-force methods to avoid this pitfall, but this is inefficient since there is no heuristic to navigate the huge search space. A nested Monte Carlo tree search has some basis in brute-force methods, but guides the search in order to achieve better results by using random games within nested search stages. In this paper, we show that when the nested Monte Carlo search algorithm is implemented for solving Samurai Sudoku, a version of Sudoku in which a standard Sudoku puzzle is placed with four other standard Sudoku puzzles overlapping on each of the corners, it performs better than a completely random brute-force algorithm. Additionally, an improvement to the nested Monte Carlo search is made by implementing a heuristic that is used at each level of search

    Dynamic load balancing with learning model for Sudoku solving system

    Get PDF
    This paper proposes a dynamic load balancing with learning model for a Sudoku problem solving system that has multiple workers and multiple solvers. The objective is to minimise the total processing time of problem solving. Our load balancing with learning model distributes each Sudoku problem to an appropriate pair of worker and solver when it is received by the system. The information of the estimated solution time for a specific number of given input values, the estimated finishing time of each worker, and the idle status of each worker are used to determine the worker-solver pairs. In addition, the proposed system can estimate the waiting period for each problem. Test results show that the system has shorter processing time than conventional alternatives
    corecore