Results 1  10
of
196
Kodkod: A relational model finder
 of Lecture
"... 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 102 (11 self)
 Add to MetaCart
(Show Context)
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 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 90 (11 self)
 Add to MetaCart
(Show Context)
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
"... 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 pr ..."
Abstract

Cited by 76 (8 self)
 Add to MetaCart
(Show Context)
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.
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 57 (14 self)
 Add to MetaCart
(Show Context)
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...
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 55 (12 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.
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 51 (19 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.
Satisfiability Solvers
, 2008
"... The past few years have seen an enormous progress in the performance of Boolean satisfiability (SAT) solvers. Despite the worstcase exponential run time of all known algorithms, satisfiability solvers are increasingly leaving their mark as a generalpurpose tool in areas as diverse as software and h ..."
Abstract

Cited by 48 (0 self)
 Add to MetaCart
The past few years have seen an enormous progress in the performance of Boolean satisfiability (SAT) solvers. Despite the worstcase exponential run time of all known algorithms, satisfiability solvers are increasingly leaving their mark as a generalpurpose tool in areas as diverse as software and hardware verification [29–31, 228], automatic test pattern generation [138, 221], planning [129, 197], scheduling [103], and even challenging problems from algebra [238]. Annual SAT competitions have led to the development of dozens of clever implementations of such solvers [e.g. 13,
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 47 (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.
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 45 (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.
Exploiting symmetries within constraint satisfaction search
, 2001
"... Symmetry often appears in realworld constraint satisfaction problems, but strategies for exploiting it are only beginning to be developed. Here, a framework for exploiting symmetry within depthfirst search is proposed, leading to two heuristics for variable selection and a domain pruning procedure ..."
Abstract

Cited by 44 (1 self)
 Add to MetaCart
Symmetry often appears in realworld constraint satisfaction problems, but strategies for exploiting it are only beginning to be developed. Here, a framework for exploiting symmetry within depthfirst search is proposed, leading to two heuristics for variable selection and a domain pruning procedure. These strategies are then applied to two highly symmetric combinatorial problems, namely the Ramsey problem and the generation of balanced incomplete block designs. Experimental results show that these generalpurpose strategies can compete with, and in some cases outperform, previous more ad hoc procedures.