72,081 research outputs found
Design and implementation of a finite domain constraint logic programming system based on PROLOG with coroutining
Many problems in different areas such as Operations Research, Hardware Design, and Artificial Intelligence can be regarded as constraint solving problems (CSPs). Logic programming offers a convenient way of representing CSPs due to its relational, declarative and nondeterministic form. Unfortunately, standard logic programming languages such as PROLOG tend to be inefficient for solving CSPs, since what could be called constraints in PROLOG is used only in a passive a posteriori manner, leading to symptoms such as late recognition of failure, unnecessary and unintelligent backtracking and multiple computation of the same solutions. There have been intensive research efforts in order to remedy this. One of them, which has caught increasing attention over the past few years, is the Constraint Logic Programming approach:
By integrating a domain concept for logic variables and consistency techniques such as forward-checking or looking-ahead into PROLOG, the search space can be restricted in an a priori manner. Thus, a more efficient control strategy can be achieved, preserving the 'clean' dual PROLOG semantics.
In this issue, I will present a horizontal compilation approach towards a CLP system maintaining constraints whose variables are ranging over finite domains. Horizontal compilations often referred to as optimizing transformation techniques in other context. A PROLOG system providing a delay mechanism is used in order to achieve the control behaviour described above.
The major subtasks of my work are
-Design and integration of a domain concept into logic programming, which allows direct access to and manipulation of possible values of logic variables.
-Thorough implementation of a forward-checking control strategy in SEPIA.
-Design and prototypical implementation of a looking-ahead algorithm.
-Summary of the main theoretical results underlying to domains and consistency techniques in logic programming.
-Consideration and prototypical implementation of first-fail heuristics.
-Embedding these topics into a preprocessor, which transforms FIDO programs into SEPIA programs realizing the advanced control strategies.
The general framework of this work is the FIDO lab within the ARC-TEC project, which explores several approaches towards integrating finite domain consistency techniques into logic programming
Value withdrawal explanations: a theoretical tool for programming environments
Constraint logic programming combines declarativity and efficiency thanks to
constraint solvers implemented for specific domains. Value withdrawal
explanations have been efficiently used in several constraints programming
environments but there does not exist any formalization of them. This paper is
an attempt to fill this lack. Furthermore, we hope that this theoretical tool
could help to validate some programming environments. A value withdrawal
explanation is a tree describing the withdrawal of a value during a domain
reduction by local consistency notions and labeling. Domain reduction is
formalized by a search tree using two kinds of operators: operators for local
consistency notions and operators for labeling. These operators are defined by
sets of rules. Proof trees are built with respect to these rules. For each
removed value, there exists such a proof tree which is the withdrawal
explanation of this value.Comment: 14 pages; Alexandre Tessier, editor; WLPE 2002,
http://xxx.lanl.gov/abs/cs.SE/020705
Towards declarative diagnosis of constraint programs over finite domains
The paper proposes a theoretical approach of the debugging of constraint
programs based on a notion of explanation tree. The proposed approach is an
attempt to adapt algorithmic debugging to constraint programming. In this
theoretical framework for domain reduction, explanations are proof trees
explaining value removals. These proof trees are defined by inductive
definitions which express the removals of values as consequences of other value
removals. Explanations may be considered as the essence of constraint
programming. They are a declarative view of the computation trace. The
diagnosis consists in locating an error in an explanation rooted by a symptom.Comment: In M. Ronsse, K. De Bosschere (eds), proceedings of the Fifth
International Workshop on Automated Debugging (AADEBUG 2003), September 2003,
Ghent. cs.SE/030902
Constraint Programming viewed as Rule-based Programming
We study here a natural situation when constraint programming can be entirely
reduced to rule-based programming. To this end we explain first how one can
compute on constraint satisfaction problems using rules represented by simple
first-order formulas. Then we consider constraint satisfaction problems that
are based on predefined, explicitly given constraints. To solve them we first
derive rules from these explicitly given constraints and limit the computation
process to a repeated application of these rules, combined with labeling.We
consider here two types of rules. The first type, that we call equality rules,
leads to a new notion of local consistency, called {\em rule consistency} that
turns out to be weaker than arc consistency for constraints of arbitrary arity
(called hyper-arc consistency in \cite{MS98b}). For Boolean constraints rule
consistency coincides with the closure under the well-known propagation rules
for Boolean constraints. The second type of rules, that we call membership
rules, yields a rule-based characterization of arc consistency. To show
feasibility of this rule-based approach to constraint programming we show how
both types of rules can be automatically generated, as {\tt CHR} rules of
\cite{fruhwirth-constraint-95}. This yields an implementation of this approach
to programming by means of constraint logic programming. We illustrate the
usefulness of this approach to constraint programming by discussing various
examples, including Boolean constraints, two typical examples of many valued
logics, constraints dealing with Waltz's language for describing polyhedral
scenes, and Allen's qualitative approach to temporal logic.Comment: 39 pages. To appear in Theory and Practice of Logic Programming
Journa
Symmetry Breaking for Answer Set Programming
In the context of answer set programming, this work investigates symmetry
detection and symmetry breaking to eliminate symmetric parts of the search
space and, thereby, simplify the solution process. We contribute a reduction of
symmetry detection to a graph automorphism problem which allows to extract
symmetries of a logic program from the symmetries of the constructed coloured
graph. We also propose an encoding of symmetry-breaking constraints in terms of
permutation cycles and use only generators in this process which implicitly
represent symmetries and always with exponential compression. These ideas are
formulated as preprocessing and implemented in a completely automated flow that
first detects symmetries from a given answer set program, adds
symmetry-breaking constraints, and can be applied to any existing answer set
solver. We demonstrate computational impact on benchmarks versus direct
application of the solver.
Furthermore, we explore symmetry breaking for answer set programming in two
domains: first, constraint answer set programming as a novel approach to
represent and solve constraint satisfaction problems, and second, distributed
nonmonotonic multi-context systems. In particular, we formulate a
translation-based approach to constraint answer set solving which allows for
the application of our symmetry detection and symmetry breaking methods. To
compare their performance with a-priori symmetry breaking techniques, we also
contribute a decomposition of the global value precedence constraint that
enforces domain consistency on the original constraint via the unit-propagation
of an answer set solver. We evaluate both options in an empirical analysis. In
the context of distributed nonmonotonic multi-context system, we develop an
algorithm for distributed symmetry detection and also carry over
symmetry-breaking constraints for distributed answer set programming.Comment: Diploma thesis. Vienna University of Technology, August 201
Set-based design of mechanical systems with design robustness integrated
This paper presents a method for parameter design of mechanical products based on a set-based approach. Set-based concurrent engineering emphasises on designing in a multi-stakeholder environment with concurrent involvement of the stakeholders in the design process. It also encourages flexibility in design through communication in terms of ranges instead of fixed point values and subsequent alternative solutions resulting from intersection of these ranges. These alternative solutions can then be refined and selected according to the designers’ preferences and clients’ needs. This paper presents a model and tools for integrated flexible design that take into account the manufacturing variations as well as the design objectives for finding inherently robust solutions using QCSP transformation through interval analysis. In order to demonstrate the approach, an example of design of rigid flange coupling with a variable number of bolts and a choice of bolts from ISO M standard has been resolved and demonstrated
Applying Formal Methods to Networking: Theory, Techniques and Applications
Despite its great importance, modern network infrastructure is remarkable for
the lack of rigor in its engineering. The Internet which began as a research
experiment was never designed to handle the users and applications it hosts
today. The lack of formalization of the Internet architecture meant limited
abstractions and modularity, especially for the control and management planes,
thus requiring for every new need a new protocol built from scratch. This led
to an unwieldy ossified Internet architecture resistant to any attempts at
formal verification, and an Internet culture where expediency and pragmatism
are favored over formal correctness. Fortunately, recent work in the space of
clean slate Internet design---especially, the software defined networking (SDN)
paradigm---offers the Internet community another chance to develop the right
kind of architecture and abstractions. This has also led to a great resurgence
in interest of applying formal methods to specification, verification, and
synthesis of networking protocols and applications. In this paper, we present a
self-contained tutorial of the formidable amount of work that has been done in
formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial
Translation-based Constraint Answer Set Solving
We solve constraint satisfaction problems through translation to answer set
programming (ASP). Our reformulations have the property that unit-propagation
in the ASP solver achieves well defined local consistency properties like arc,
bound and range consistency. Experiments demonstrate the computational value of
this approach.Comment: Self-archived version for IJCAI'11 Best Paper Track submissio
- …