6 research outputs found

    Efficient structural symmetry breaking for constraint satisfaction problems

    Get PDF
    Symmetry breaking for constraint satisfaction problems (CSPs) has attracted considerable attention in recent years. Various general schemes have been proposed to eliminate symmetries. In general, these schemes may take exponential space or time to eliminate all the symmetries. We identify several classes of CSPs that encompass many practical problems and for which symmetry breaking for various forms of value and variable interchangeability is tractable using dedicated search procedures or symmetry-breaking constraints that allow nogoods and their symmetrically equivalent solutions to be stored and checked efficiently

    Generation of Graph Classes with Efficient Isomorph Rejection

    No full text
    In this thesis, efficient isomorph-free generation of graph classes with the method of generation by canonical construction path(GCCP) is discussed. The method GCCP has been invented by McKay in the 1980s. It is a general method to recursively generate combinatorial objects avoiding isomorphic copies. In the introduction chapter, the method of GCCP is discussed and is compared to other well-known methods of generation. The generation of the class of quartic graphs is used as an example to explain this method. Quartic graphs are simple regular graphs of degree four. The programs, we developed based on GCCP, generate quartic graphs with 18 vertices more than two times as efficiently as the well-known software GENREG does. This thesis also demonstrates how the class of principal graph pairs can be generated exhaustively in an efficient way using the method of GCCP. The definition and importance of principal graph pairs come from the theory of subfactors where each subfactor can be modelled as a principal graph pair. The theory of subfactors has applications in the theory of von Neumann algebras, operator algebras, quantum algebras and Knot theory as well as in design of quantum computers. While it was initially expected that the classification at index 3 + √5 would be very complicated, using GCCP to exhaustively generate principal graph pairs was critical in completing the classification of small index subfactors to index 5¼. The other set of classes of graphs considered in this thesis contains graphs without a given set of cycles. For a given set of graphs, H, the Turán Number of H, ex(n,H), is defined to be the maximum number of edges in a graph on n vertices without a subgraph isomorphic to any graph in H. Denote by EX(n,H), the set of all extremal graphs with respect to n and H, i.e., graphs with n vertices, ex(n,H) edges and no subgraph isomorphic to any graph in H. We consider this problem when H is a set of cycles. New results for ex(n, C) and EX(n, C) are introduced using a set of algorithms based on the method of GCCP. Let K be an arbitrary subset of {C3, C4, C5, . . . , C32}. For given n and a set of cycles, C, these algorithms can be used to calculate ex(n, C) and extremal graphs in Ex(n, C) by recursively extending smaller graphs without any cycle in C where C = K or C = {C3, C5, C7, . . .} ᴜ K and n≤64. These results are considerably in excess of the previous results of the many researchers who worked on similar problems. In the last chapter, a new class of canonical relabellings for graphs, hierarchical canonical labelling, is introduced in which if the vertices of a graph, G, is canonically labelled by {1, . . . , n}, then G\{n} is also canonically labelled. An efficient hierarchical canonical labelling is presented and the application of this labelling in generation of combinatorial objects is discussed

    Automatically Exploiting Symmetries in Constraint Programming

    No full text
    We introduce a framework for studying and solving a class of CSP formulations. The framework allows constraints to be expressed as linear and nonlinear equations, then compiles them into SAT instances via Boolean logic circuits. While in general reduction to SAT may lead to the loss of structure, we specifically detect several types of structure in high-level input and use them in compilation. Linearity is preserved by the use of pseudo-Boolean (PB) constraints in conjunction with a 0-1 ILP solver that extends common SAT-solving techniques. Symmetries are detected in high-level constraints by solving the graph automorphism problem on parse trees. Symmetry-breaking predicates are added during compilation. Our system generalizes earlier work [10; 2; 29] on symmetries in SAT and 0-1 ILP problems. Empirical evaluation is performed n instances of the social golfers and Hamming code generation problems. We show substantial speedups with symmetry-breaking, especially on unsatisfiable instances. In general, our runtimes with the specialized 0-1 ILP solver Pueblo [26] are competitive with results reported for ILOG Solver [28] in [15].

    98 Automatically Exploiting Symmetries in Constraint Programming

    No full text
    Abstract. We introduce a framework for studying and solving a class of CSP formulations. The framework allows constraints to be expressed as linear and non-linear equations, then compiles them into SAT instances via Boolean logic circuits. While in general reduction to SAT may lead to the loss of structure, we specifically detect several types of structure in high-level input and use them in compilation. Linearity is preserved by the use of pseudo-Boolean (PB) constraints in conjunction with a 0-1 ILP solver that extends common SAT-solving techniques. Symmetries are detected in high-level constraints by solving the graph automorphism problem on parse trees. Symmetry-breaking predicates are added during compilation. Our system generalizes earlier work on symmetries in SAT and 0-1 ILP problems. Empirical evaluation is performed on instances of the social golfers and Hamming code generation problems. We show substantial speedups with symmetry-breaking, especially on unsatisfiable instances. In general, our runtimes with the specialized 0-1 ILP solver Pueblo are competitive with results recently reported for ILOG Solver.
    corecore