72,081 research outputs found

    Design and implementation of a finite domain constraint logic programming system based on PROLOG with coroutining

    Get PDF
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Get PDF
    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

    Full text link
    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

    Full text link
    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
    • …
    corecore