Constraint Solving Research Papers - Academia.edu (original) (raw)
Geometric computing is a rapidly evolving interdisciplinary field involving computer science, engineering and mathematics. It has relationships to many other areas within computer science such as computational geometry, computer-aided... more
Geometric computing is a rapidly evolving interdisciplinary field involving computer science, engineering and mathematics. It has relationships to many other areas within computer science such as computational geometry, computer-aided design, computer graphics, computer ...
This paper presents a novel approach for automated test data generation of imperative programs containing integer, boolean and/or float variables. Our approach is based on consistency techniques integrating integer and float vari-ables.... more
This paper presents a novel approach for automated test data generation of imperative programs containing integer, boolean and/or float variables. Our approach is based on consistency techniques integrating integer and float vari-ables. We handle statement, branch and path coverage ...
We present a computational origami system called Eos. Eos simu- lates what a human origamist would do with a piece of origami paper and by hands. Moreover, it assists us in reasoning about geometri- cal properties of an origami. We... more
We present a computational origami system called Eos. Eos simu- lates what a human origamist would do with a piece of origami paper and by hands. Moreover, it assists us in reasoning about geometri- cal properties of an origami. We describe the basic capabilities of the system, which include symbolic and numeric constraints solving, automated theorem proving, visualization of an
Many real-world problems can be represented and solved as constraint satisfaction problems, but their solution requires the development of effective, efficient constraint solvers. A constraint solver’s success depends greatly upon the... more
Many real-world problems can be represented and solved as constraint satisfaction problems, but their solution requires the development of effective, efficient constraint solvers. A constraint solver’s success depends greatly upon the heuristics chosen to guide search. Some heuristics perform well on one class of problems, but are less successful on others. The solver described here learns a weighted combination of heuristic recommendations customized for a given class of problems. A pre-existing algorithm has weights learned for heuristics from the number of nodes explored during learning. We present here a new algorithm which learns weights for heuristics that consider the nuances of relative support for actions. The resultant performance is statistically significantly better than that of traditional individual heuristics.
We present cKanren, a framework for constraint logic programming (CLP) in Scheme. cKanren subsumes miniKanren, a logic programming language embedded in Scheme. cKanren allows programmers to easily use, define, and combine different kinds... more
We present cKanren, a framework for constraint logic programming (CLP) in Scheme. cKanren subsumes miniKanren, a logic programming language embedded in Scheme. cKanren allows programmers to easily use, define, and combine different kinds of constraints. We provide two example constraint systems: one over finite domains and one over trees. The cKanren framework is designed to encourage an especially pure style of logic programming in which goals can be reordered arbitrarily without affecting a program’s semantics (with an important decidability-related caveat). We develop the complete implementation of the cKanren framework, written in RRS Scheme extended with SRFI 39 parameters. We present the implementation of cKanren’s finite domain and disequality constraint solvers, and we provide introductions to miniKanren, cKanren, and numerous example programs, including the Send More Money cryptarithmetic puzzle and N-Queens.
CAD/CAM approaches have been used in the manufacturing industry for a long time, and their use in robotic systems is becoming more popular. One common element in these approaches is the use of geometric constraints to define relative... more
CAD/CAM approaches have been used in the manufacturing industry for a long time, and their use in robotic systems is becoming more popular. One common element in these approaches is the use of geometric constraints to define relative object poses. Hence, approaches for solving these geometric constraints are critical to their performance. In this work, we present an exact solver for geometric constraints. Our approach is based on mathematical models of constraints and geometric properties of constraint nullspaces. Our constraint solver supports non-linear constraints with inequalities, and also mixed transformation manifolds, i.e., cases where the rotation and translation components of the constraints are not independent. Through several applications, we show how inequality constraints and mixed transformation manifolds increase the expressive power of constraint-based task definitions. The exact solver provides repeatable solutions with deterministic runtimes and our experiments show that it is also much faster than comparable iterative solvers.
This thesis describes a methodology for automating routine design problems. The research applied for developing this methodology consisted in three steps. Firstly, different types of complexity in routine design were investigated.... more
This thesis describes a methodology for automating routine design problems. The research applied for developing this methodology consisted in three steps. Firstly, different types of complexity in routine design were investigated. Secondly, methods were developed to manage each type of complexity. Thirdly, the obtained methods were integrated into one methodology for routine design automation. The resulting methodology consists of the following five steps: 1. Determine a formal model of the components, parameters and relations of the design problem to automate. 2. Decompose the design problem into different levels of detail by analyzing its functional and physical structure. 3. Translate the obtained problem model into a TARD representation. TARD representations were developed in this research as a means of describing how components, relations and parameters can be used for designing an artifact. 4. Determine the Topology System of Equations (ToSE) of the model. ToSE was developed w...
In order to facilitate automated reasoning about large Boolean combinations of non- linear arithmetic constraints involving transcendental functions, we provide a tight inte- gration of recent SAT solving techniques with interval-based... more
In order to facilitate automated reasoning about large Boolean combinations of non- linear arithmetic constraints involving transcendental functions, we provide a tight inte- gration of recent SAT solving techniques with interval-based arithmetic constraint solv- ing. Our approach deviates substantially from lazy theorem proving approaches in that it directly controls arithmetic constraint propagation from the SAT solver rather than del- egating
We describe constraint solving using a rule-based ap- proach. The distinction made between deduction rules and strategies by computational systems allows us to improve our understanding of the existing algorithms for solving Bi - nary CSP... more
We describe constraint solving using a rule-based ap- proach. The distinction made between deduction rules and strategies by computational systems allows us to improve our understanding of the existing algorithms for solving Bi - nary CSP once they are expressed as rewriting rules coor- dinated by strategies.
Formal CAD solvers often produce many solutions for a constraint system. It is very time-consuming to examine each of them to determine which one is the closest to the user's will. In our formal approach a construction plan is... more
Formal CAD solvers often produce many solutions for a constraint system. It is very time-consuming to examine each of them to determine which one is the closest to the user's will. In our formal approach a construction plan is produced as a mean to represent all the ...
Modern solvers for Boolean Satisfiability (SAT) and Answer Set Programming (ASP) are based on sophisticated Boolean constraint solving techniques. In both areas, conflict-driven learning and related techniques constitute key features... more
Modern solvers for Boolean Satisfiability (SAT) and Answer Set Programming (ASP) are based on sophisticated Boolean constraint solving techniques. In both areas, conflict-driven learning and related techniques constitute key features whose application is enabled by conflict analysis. Although various conflict analysis schemes have been proposed, implemented, and studied both theoretically and practically in the SAT area, the heuristic aspects involved in conflict analysis have not yet received much attention. Assuming a fixed conflict analysis scheme, we address the open question of how to identify "good'' reasons for conflicts, and we investigate several heuristics for conflict analysis in ASP solving. To our knowledge, a systematic study like ours has not yet been performed in the SAT area, thus, it might be beneficial for both the field of ASP as well as the one of SAT solving.
Due to the recent advancement in procedural generation techniques, games are presenting players with ever growing cities and terrains to explore. However most sandbox-style games situated in cities, do not allow players to wander into... more
Due to the recent advancement in procedural generation techniques, games are presenting players with ever growing cities and terrains to explore. However most sandbox-style games situated in cities, do not allow players to wander into buildings. In past research, space planning techniques have already been utilized to generate suitable layouts for both building floor plans and room layouts. We introduce
We present an extension of Scala that supports constraint programming over bounded and unbounded domains. The resulting language, Kaplan, provides the benefits of constraint programming while preserving the existing features of Scala.... more
We present an extension of Scala that supports constraint programming over bounded and unbounded domains. The resulting language, Kaplan, provides the benefits of constraint programming while preserving the existing features of Scala. Kaplan integrates constraint and imperative programming by using constraints as an advanced control structure; the developers use the monadic ’for’ construct to iterate over the solutions of constraints or branch on the existence of a solution. The constructs we introduce have simple semantics that can be understood as explicit enumeration of values, but are implemented more efficiently using symbolic reasoning. Kaplan programs can manipulate constraints at run-time, with the combined benefits of type-safe syntax trees and first-class functions. The language of constraints is a functional subset of Scala, supporting arbitrary recursive function definitions over algebraic data types, sets, maps, and integers. Our implementation runs on a platform combin...
This article presents EXE, an effective bug-finding tool that automatically generates inputs that crash real code. Instead of running code on manually or randomly constructed input, EXE runs it on symbolic input initially allowed to be... more
This article presents EXE, an effective bug-finding tool that automatically generates inputs that crash real code. Instead of running code on manually or randomly constructed input, EXE runs it on symbolic input initially allowed to be anything. As checked code runs, EXE tracks the constraints on each symbolic (ie, input-derived) memory location. If a statement uses a symbolic value, EXE does not run it, but instead adds it as an input-constraint; all other statements run as usual. If code conditionally checks a symbolic ...
This thesis describes a methodology for automating routine design problems. The research applied for developing this methodology consisted in three steps. Firstly, different types of complexity in routine design were investigated.... more
This thesis describes a methodology for automating routine design problems. The research applied for developing this methodology consisted in three steps. Firstly, different types of complexity in routine design were investigated. Secondly, methods were developed to manage each type of complexity. Thirdly, the obtained methods were integrated into one methodology for routine design automation. The resulting methodology consists of the
This paper describes our efforts to provide a collaborative problem solving architecture driven by semantic-based worko w orchestration and con- straint problem solving. These technologies are based on shared ontologies that allows two... more
This paper describes our efforts to provide a collaborative problem solving architecture driven by semantic-based worko w orchestration and con- straint problem solving. These technologies are based on shared ontologies that allows two systems of very different natures to communicate, perform specialised tasks and achieve common goals. We give an account of our approach for the worko w assisted collaboration
- by Julian Padget and +1
- •
- Distributed Computing, Grid Computing, Case Study, Constraint Solving
We present a novel approach to the automatic verification and falsification of LTL requirements of non-linear discrete-time hybrid systems. The verification tool uses an interval-based constraint solver for non-linear robust constraints... more
We present a novel approach to the automatic verification and falsification of LTL requirements of non-linear discrete-time hybrid systems. The verification tool uses an interval-based constraint solver for non-linear robust constraints to compute incrementally refined abstractions. Although the problem is in general undecidable, we prove termination of abstraction refinement based verification and falsification of such properties for the class of robust non-linear hybrid systems, thus significantly extending previous semi-decidability results. We argue, that safety critical control applications are robust hybrid systems. We give first results on the application of this approach to a variant of an aircraft collision avoidance protocol.