74 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

    Towards 40 years of constraint reasoning

    Get PDF
    Research on constraints started in the early 1970s. We are approaching 40 years since the beginning of this successful field, and it is an opportunity to revise what has been reached. This paper is a personal view of the accomplishments in this field. We summarize the main achievements along three dimensions: constraint solving, modelling and programming. We devote special attention to constraint solving, covering popular topics such as search, inference (especially arc consistency), combination of search and inference, symmetry exploitation, global constraints and extensions to the classical model. For space reasons, several topics have been deliberately omitted.Partially supported by the Spanish project TIN2009-13591-C02-02 and Generalitat de Catalunya grant 2009-SGR-1434.Peer Reviewe

    Multi-Dimensional Models Facilitate Automatic Reformulation: The Case Study of the SET Game

    Get PDF
    In this paper we describe a reformulation strategy for solving multidimensional Constraint Satisfaction Problems (CSPs). This strategy operates by iteratively considering, in isolation, each one of the uni-dimensional constraints in the problem, and exploits the approximate symmetries induced by the selected constraint on the domains in order to enforce this constraint on the simplified problem. We use the game of SET, a combinatorial card game, as a toy problem to motivate our strategy and to explain and illustrate its operation. However, we believe that our approach is applicable to more complex domains of scientific and industrial importance, and deserves more thorough investigations in the future. Our approach sheds a new light on the dynamic reformulation of multidimensional CSPs. Importantly, it advocates that modeling tools for Constraint Programming should allow the user to specify the constraints directly on the attributes of the domain objects (i.e., variables and values) so that their multi-dimensionality can be exploited during problem solving

    Tactical Synthesis Of Efficient Global Search Algorithms

    Get PDF
    Algorithm synthesis transforms a formal specification into an efficient algorithm to solve a problem. Algorithm synthesis in Specware combines the formal specification of a problem with a high-level algorithm strategy. To derive an efficient algorithm, a developer must define operators that refine the algorithm by combining the generic operators in the algorithm with the details of the problem specification. This derivation requires skill and a deep understanding of the problem and the algorithmic strategy. In this paper we introduce two tactics to ease this process. The tactics serve a similar purpose to tactics used for determining indefinite integrals in calculus, that is suggesting possible ways to attack the problem
    corecore