Results 1  10
of
123
Symmetry Breaking in Constraint Programming
 Proceedings of ECAI2000
, 2000
"... We describe a method for symmetry breaking during search (SBDS) in constraint programming. It has the great advantage of not interfering with heuristic choices. It guarantees to return a unique solution from each set of symmetrically equivalent ones, which is the one found first by the variable and ..."
Abstract

Cited by 81 (11 self)
 Add to MetaCart
We describe a method for symmetry breaking during search (SBDS) in constraint programming. It has the great advantage of not interfering with heuristic choices. It guarantees to return a unique solution from each set of symmetrically equivalent ones, which is the one found first by the variable and value ordering heuristics. We describe an implementation of SBDS in ILOG Solver, and applications to low autocorrelation binary sequences and the nqueens problem. We discuss how SBDS can be applied when there are too many symmetries to reason with individually, and give applications in graph colouring and Ramsey theory.
Symmetry definitions for constraint satisfaction problems. Constraints 11(2ā3):115ā137
, 2006
"... Abstract We review the many different definitions of symmetry for constraint satisfaction problems (CSPs) that have appeared in the literature, and show that a symmetry can be defined in two fundamentally different ways: as an operation preserving the solutions of a CSP instance, or else as an opera ..."
Abstract

Cited by 61 (7 self)
 Add to MetaCart
Abstract We review the many different definitions of symmetry for constraint satisfaction problems (CSPs) that have appeared in the literature, and show that a symmetry can be defined in two fundamentally different ways: as an operation preserving the solutions of a CSP instance, or else as an operation preserving the constraints. We refer to these as solution symmetries and constraint symmetries. We define a constraint symmetry more precisely as an automorphism of a hypergraph associated with a CSP instance, the microstructure complement. We show that the solution symmetries of a CSP instance can also be obtained as the automorphisms of a related hypergraph, the kary nogood hypergraph and give examples to show that some instances have many more solution symmetries than constraint symmetries. Finally, we discuss the practical implications of these different notions of symmetry.
Kodkod: A relational model finder
 In Tools and Algorithms for Construction and Analysis of Systems (TACAS
, 2007
"... Abstract. The key design challenges in the construction of a SATbased relational model finder are described, and novel techniques are proposed to address them. An efficient model finder must have a mechanism for specifying partial solutions, an effective symmetry detection and breaking scheme, and ..."
Abstract

Cited by 60 (4 self)
 Add to MetaCart
Abstract. The key design challenges in the construction of a SATbased relational model finder are described, and novel techniques are proposed to address them. An efficient model finder must have a mechanism for specifying partial solutions, an effective symmetry detection and breaking scheme, and an economical translation from relational to boolean logic. These desiderata are addressed with three new techniques: a symmetry detection algorithm that works in the presence of partial solutions, a sparsematrix representation of relations, and a compact representation of boolean formulas inspired by boolean expression diagrams and reduced boolean circuits. The presented techniques have been implemented and evaluated, with promising results. 1
Symmetry Breaking During Search in Constraint Programming
 Proceedings ECAI'2000
, 1999
"... We introduce a method for symmetry breaking during search (SBDS) in constraint programming. It has the great advantage of not interfering with heuristic choices. It guarantees to return a unique solution from each set of symmetrically equivalent ones, which is the one found first by the variable ..."
Abstract

Cited by 52 (14 self)
 Add to MetaCart
We introduce a method for symmetry breaking during search (SBDS) in constraint programming. It has the great advantage of not interfering with heuristic choices. It guarantees to return a unique solution from each set of symmetrically equivalent ones, which is the one found first by the variable and value ordering heuristics. We prove this claim, describe a general implementation of SBDS in ILOG Solver, and describe applications to low autocorrelation binary sequences and the nqueens problem. We discuss a version of SBDS that can be applied when there are too many symmetries to reason with individually, and give applications in graph colouring and Ramsey theory. 1 Introduction Many constraint satisfaction problems (CSPs) contain symmetries, so that for every solution, there are equivalent solutions. Symmetries divide the set of possible assignments into equivalence classes. Each class contains either only solutions or no solutions. When finding all solutions to a CSP, it is...
Solving Difficult Instances of Boolean Satisfiability in the Presence of Symmetry
, 2002
"... Research in algorithms for Boolean satisfiability (SAT) and their implementations [45, 41, 10] has recently outpaced benchmarking efforts. Most of the classic DIMACS benchmarks [21] can now be solved in seconds on commodity PCs. More recent benchmarks [54] take longer to solve due of their large siz ..."
Abstract

Cited by 44 (17 self)
 Add to MetaCart
Research in algorithms for Boolean satisfiability (SAT) and their implementations [45, 41, 10] has recently outpaced benchmarking efforts. Most of the classic DIMACS benchmarks [21] can now be solved in seconds on commodity PCs. More recent benchmarks [54] take longer to solve due of their large size, but are still solved in minutes. Yet, small and difficult SAT instances must exist if P##NP. To this end, our work articulates SAT instances that are unusually difficult for their size, including satisfiable instances derived from Very Large Scale Integration (VLSI) routing problems. With an efficient implementation to solve the graph automorphism problem [39, 50, 51], we show that in structured SAT instances difficulty may be associated with large numbers of symmetries.
Symmetry Breaking for Boolean Satisfiability: . . .
"... Boolean Satisfiability solvers improved dramatically over the last seven years [14, 13] and are commonly used in applications such as bounded model checking, planning, and FPGA routing. However, a number of practical SAT instances remain difficult to solve. Recent work pointed out that symmetries i ..."
Abstract

Cited by 40 (9 self)
 Add to MetaCart
Boolean Satisfiability solvers improved dramatically over the last seven years [14, 13] and are commonly used in applications such as bounded model checking, planning, and FPGA routing. However, a number of practical SAT instances remain difficult to solve. Recent work pointed out that symmetries in the search space are often to blame [1]. The framework of symmetrybreaking (SBPs) [5], together with further improvements [1], was then used to achieve empirical speedups. For symmetrybreaking to be successful in practice, its overhead must be less than the complexity reduction it brings. In this work we show how logic minimization helps to improve this tradeoff and achieve much better empirical results. We also contribute detailed new studies of SBPs and their efficiency as well as new general constructions of SBPs.
TestEra: Specificationbased Testing of Java Programs Using SAT
 AUTOM. SOFTW. ENG
, 2004
"... TestEra is a framework for automated specificationbased testing of Java programs. TestEra requires as input a Java method (in sourcecode or bytecode) , a formal specification of the pre and postconditions of that method, and a bound that limits the size of the test cases to be generated. Using th ..."
Abstract

Cited by 39 (7 self)
 Add to MetaCart
TestEra is a framework for automated specificationbased testing of Java programs. TestEra requires as input a Java method (in sourcecode or bytecode) , a formal specification of the pre and postconditions of that method, and a bound that limits the size of the test cases to be generated. Using the method's precondition, TestEra automatically generates all nonisomorphic test inputs up to the given bound. It executes the method on each test input, and uses the method postcondition as an oracle to check the correctness of each output. Specifications are firstorder logic formulae. As an enabling technology, TestEra uses the Alloy toolset, which provides an automatic SATbased tool for analyzing firstorder logic formulae. We have used TestEra to check several Java programs including an architecture for dynamic networks, the Alloyalpha analyzer, a faulttree analyzer, and methods from the Java Collection Framework.
Symmetry Breaking in Graceful Graphs
 In proceedings of CPā03, LNCS 2833
, 2003
"... Symmetry in a Constraint Satisfaction Problem (CSP) can cause wasted search, which can be avoided by adding constraints to the CSP to exclude symmetric assignments or by modifying the search algorithm so that search never visits assignments symmetric to those already considered. Two such approach ..."
Abstract

Cited by 39 (12 self)
 Add to MetaCart
Symmetry in a Constraint Satisfaction Problem (CSP) can cause wasted search, which can be avoided by adding constraints to the CSP to exclude symmetric assignments or by modifying the search algorithm so that search never visits assignments symmetric to those already considered. Two such approaches are SBDS (Symmetry Breaking During Search) and SBDD (Symmetry Breaking by Dominance Detection); modifications of these are GAPSBDS and GAPSBDD, which work with the symmetry group rather than the individual symmetries.
Solving Difficult SAT Instances in the Presence of Symmetry
, 2002
"... Research in algorithms for Boolean satisfiability and their efficient implementations [26, 8] has recently outpaced benchmarking efforts. Most of the classic DIMACS benchmarks from the early 1990s [12] can be solved in seconds on commodity PCs. More recent benchmarks take longer to solve primarily b ..."
Abstract

Cited by 38 (1 self)
 Add to MetaCart
Research in algorithms for Boolean satisfiability and their efficient implementations [26, 8] has recently outpaced benchmarking efforts. Most of the classic DIMACS benchmarks from the early 1990s [12] can be solved in seconds on commodity PCs. More recent benchmarks take longer to solve primarily because of their large size, but are still solved in minutes [28]. However, small and difficult SAT instances must exist because Boolean satisfiability is NPcomplete. Our work articulates a number of SAT instances that are unusually difficult for their size, including satisfiable instances from global routing and detailed routing for FPGAs [22]. Using an efficient implementation to solve the graph automorphism problem [21, 23, 25], we show that in structured SAT instances difficulty is sometimes associated with large numbers of symmetries. We propose a new, improved construction of symmetrybreaking clauses [11] and apply them to empirically demonstrate very significant speedups over current state of the art in Boolean satisfiability. Our techniques are formulated as preprocessing and can be applied to an arbitrary SAT solver without modifying its source code. We also show that considerations of symmetry may lead to more efficient reductions to SAT in the routing domain and potentially other applications.
Shatter: Efficient SymmetryBreaking for Boolean Satisfiability
 DAC 2003
, 2003
"... Boolean satisfiability (SAT) solvers have experienced dramatic improvements in their performance and scalability over the last several years [5, 7] and are now routinely used in diverse EDA applications. Nevertheless, a number of practical SAT instances remain difficult to solve [9] and continue to ..."
Abstract

Cited by 35 (12 self)
 Add to MetaCart
Boolean satisfiability (SAT) solvers have experienced dramatic improvements in their performance and scalability over the last several years [5, 7] and are now routinely used in diverse EDA applications. Nevertheless, a number of practical SAT instances remain difficult to solve [9] and continue to defy even the best available SAT solvers [5, 7]. Recent work pointed out that symmetries in the Boolean search space are often to blame. A theoretical framework for detecting and breaking such symmetries was introduced in [2]. This framework was subsequently extended, refined, and empirically shown to yield significant speedups for a large number of benchmark classes in [1]. Symmetries in the search space are broken by adding appropriate symmetrybreaking predicates (SBPs) to a SAT instance in conjunctive normal form (CNF). The SBPs prune the search space by acting as a filter that confines the search to nonsymmetric regions of the space without affecting the satisfiability of the CNF formula. For symmetry breaking to be effective in practice, the computational overhead of generating and manipulating the SBPs must be significantly less than the run time savings they yield due to search space pruning. In this paper we present several new constructions of SBPs that improve on previous work. Specifically, we give a linearsized CNF formula that selects lexleaders (among others) for single permutations. We also show how that formula can be simplified by taking advantage of the sparsity of permutations. We test these improvements against earlier constructions and show that they yield smaller SBPs and lead to run time reductions on many benchmarks.