Generalized Constraint Propagation over the CLP Scheme

Abstract Constraint logic programming is often described as logic programming with unification replaced by constraint solving over a computation domain. There is another, very different, CLP paradigm based on constraint satisfaction, where program-defined goals can be treated as constraints and handled using propagation. This paper proposes a generalization of propagation that enables it to be applied on arbitrary computation domains revealing that the two paradigms of CLP are orthogonal and can be freely combined. The main idea behind generalized propagation is to use whatever constraints are available over the computation domain to express restrictions on problem variables. Generalized propagation on a goal G requires that the system extracts a constraint approximating all the answers to G . This paper introduces a generic algorithm for generalized propagation called topological branch and bound , which avoids enumerating all the answers to G . Generalized propagation over the Herbrand universe has been implemented in a system called Propia , and we describe its behavior in some applications.

[1]  Gert Smolka Residuation and Guarded Rules for Constraint Logic Programming , 1991, WCLP.

[2]  Dana S. Scott,et al.  Concurrent constraint programming languages , 1989 .

[3]  Ugo Montanari,et al.  Networks of constraints: Fundamental properties and applications to picture processing , 1974, Inf. Sci..

[4]  Michel Kuntz,et al.  A Versatile Browser-Editor for NF² Relations , 1992, Future Databases.

[5]  Kam-Fai Wong,et al.  Supporting thousands of threads using a hybrid stack sharing scheme , 1994, SAC '94.

[6]  Thom W. Frühwirth,et al.  Polymorphically Typed Logic Programs , 1991, ICLP.

[7]  Seif Haridi,et al.  Kernel Andorra Prolog and its Computation Model , 1990, ICLP.

[8]  Robert M. Haralick,et al.  Increasing Tree Search Efficiency for Constraint Satisfaction Problems , 1979, Artif. Intell..

[9]  Richard Fikes,et al.  REF-ARF: A System for Solving Problems Stated as Procedures , 1970, Artif. Intell..

[10]  Mireille Ducassé Abstract Views of Prolog Executions in Opium , 1991, ISLP.

[11]  Lee Naish,et al.  Negation and Control in Prolog , 1986, Lecture Notes in Computer Science.

[12]  Alan K. Mackworth Consistency in Networks of Relations , 1977, Artif. Intell..

[13]  André Véron,et al.  A Shared Environment Parallel Logic Programming System on Distributed Memory Architectures , 1991, EDMCC.

[14]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[15]  Pascal Van Hentenryck,et al.  Solving Large Combinatorial Problems in Logic Programming , 1990, J. Log. Program..

[16]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[17]  Jean-Marc Andreoli,et al.  Communication as Fair Distribution of Knowledge , 1991, OOPSLA.

[18]  Michael J. Maher Logic Semantics for a Class of Committed-Choice Programs , 1987, ICLP.

[19]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[20]  Lone Leth Thomsen,et al.  Some Issues in the Semantics of Facile Distributed Programming , 1992, REX Workshop.

[21]  Frederick Knabe,et al.  A Distributed Protocol for Channel-Based Communication with Choice , 1992, PARLE.

[22]  Helmut Simonis,et al.  Using Logic Programming for Fault Diagnosis in Digital Circuits , 1987, GWAI.

[23]  Pascal Van Hentenryck,et al.  The Constraint Logic Programming Language CHIP , 1988, FGCS.

[24]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[25]  Hal Berghel,et al.  Crossword Compilation with Horn Clauses , 1987, Computer/law journal.

[26]  Saumya K. Debray,et al.  Proceedings of the 1990 North American conference on Logic programming , 1990 .

[27]  Pascal Van Hentenryck,et al.  Operational Semantics of Constraint Logic Programming over Finite Domains , 1991, PLILP.

[28]  Eugene C. Freuder,et al.  The Complexity of Some Polynomial Network Consistency Algorithms for Constraint Satisfaction Problems , 1985, Artif. Intell..

[29]  Mike Reeve,et al.  Why and How in the ElipSys OR-parallel CLP System , 1993, PARLE.

[30]  Hervé Gallaire,et al.  Logic Programming: Further Developments , 1985, SLP.

[31]  Michel Kuntz,et al.  Introduction to GIUKU: Graphical Interactive Intelligent Utilities for Knowledgeable Users of data base systems , 1993, Inf. Syst..

[32]  Jean-Marc Andreoli,et al.  Interaction abstract machines , 1993 .

[33]  Solomon W. Golomb,et al.  Backtrack Programming , 1965, JACM.

[34]  Keith L. Clark Predicate logic as a computational formalism , 1979 .

[35]  André Véron,et al.  Binding Techniques and Garbage Collection for OR-Parallel CLP Systems , 1992, PLILP.

[36]  Ernest Davis,et al.  Constraint Propagation with Interval Labels , 1987, Artif. Intell..

[37]  Steven David Prestwich,et al.  Meta-Programming for Reordering Literals in Deductive Databases , 1992, META.

[38]  Norbert Eisinger,et al.  Deduction systems based on resolution , 1993 .

[39]  David Chan,et al.  SEPIA - An Extendible Prolog System , 1989, IFIP Congress.

[40]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[41]  Pascal Van Hentenryck,et al.  Domains in Logic Programming , 1986, AAAI.

[42]  李幼升,et al.  Ph , 1989 .

[43]  Alan K. Mackworth Constraint Satisfaction , 1985 .

[44]  Michel Kuntz,et al.  The gist of GIUKU: graphical interactive intelligent utilities for knowledgeable users of data base systems , 1992, SGMD.

[45]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[46]  F. Lockwood Morris,et al.  Domains for Logic Programming , 1992, Theor. Comput. Sci..

[47]  Helmut Simonis,et al.  Propositional Calculus Problems in CHIP , 1993, WCLP.

[48]  André Véron,et al.  Virtual memory support for OR-parallel logic programming systems , 1991 .