Logic programs with stable model semantics as a constraint programming paradigm

Logic programming with the stable model semantics is put forward as a novel constraint programming paradigm. This paradigm is interesting because it bring advantages of logic programming based knowledge representation techniques to constraint programming and because implementation methods for the stable model semantics for ground (variable‐free) programs have advanced significantly in recent years. For a program with variables these methods need a grounding procedure for generating a variable‐free program. As a practical approach to handling the grounding problem a subclass of logic programs, domain restricted programs, is proposed. This subclass enables efficient grounding procedures and serves as a basis for integrating built‐in predicates and functions often needed in applications. It is shown that the novel paradigm embeds classical logical satisfiability and standard (finite domain) constraint satisfaction problems but seems to provide a more expressive framework from a knowledge representation point of view. The first steps towards a programming methodology for the new paradigm are taken by presenting solutions to standard constraint satisfaction problems, combinatorial graph problems and planning problems. An efficient implementation of the paradigm based on domain restricted programs has been developed. This is an extension of a previous implementation of the stable model semantics, the Smodels system, and is publicly available. It contains, e.g., built‐in integer arithmetic integrated to stable model computation. The implementation is described briefly and some test results illustrating the current level of performance are reported.

[1]  Ilkka Niemelä Towards Efficient Default Reasoning , 1995, IJCAI.

[2]  Kenneth A. Ross,et al.  The well-founded semantics for general logic programs , 1991, JACM.

[3]  C. R. Ramakrishnan,et al.  Fully Local and Efficient Evaluation of Alternating Fixed Points (Extended Abstract) , 1998, TACAS.

[4]  Michael Gelfond,et al.  Representing Action and Change by Logic Programs , 1993, J. Log. Program..

[5]  Raymond Reiter,et al.  A Logic for Default Reasoning , 1987, Artif. Intell..

[6]  Luigi Palopoli,et al.  Circumscribing DATALOG: Expressive Power and Complexity , 1998, Theor. Comput. Sci..

[7]  K. A. Ross,et al.  Tabled Evaluation with Delaying for General Logic Programs , 1996 .

[8]  Ilkka Niemelä,et al.  Efficient Implementation of the Well-founded and Stable Model Semantics , 1996, JICSLP.

[9]  Robert C. Moore Semantical Considerations on Nonmonotonic Logic , 1985, IJCAI.

[10]  Anil Nerode,et al.  Mixed integer programming methods for computing nonmonotonic deductive databases , 1994, JACM.

[11]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[12]  Gerald Pfeifer,et al.  The KR System dlv: Progress Report, Comparisons and Benchmarks , 1998, KR.

[13]  P. Simons Eecient Implementation of the Well- Founded and Stable Model Seman- Tics , 1996 .

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

[15]  Avrim Blum,et al.  Fast Planning Through Planning Graph Analysis , 1995, IJCAI.

[16]  Pawel Cholewinski Towards Programming in Default Logic , 1996, ISMIS.

[17]  Victor W. Marek,et al.  Default Reasoning System DeReS , 1996, KR.

[18]  Konstantinos Sagonas,et al.  An Abstract Machine for Computing the Well-Founded Semantics , 1996, JICSLP.

[19]  Tom Bylander,et al.  Complexity Results for Planning , 1991, IJCAI.

[20]  Jean H. Gallier,et al.  Linear-Time Algorithms for Testing the Satisfiability of Propositional Horn Formulae , 1984, J. Log. Program..

[21]  David Scott Warren,et al.  Computation of Stable Models and Its Integration with Logical Query Processing , 1996, IEEE Trans. Knowl. Data Eng..

[22]  Keijo Heljanko Using Logic Programs with Stable Model Semantics to Solve Deadlock and Reachability Problems for 1-Safe Petri Nets , 1999, Fundam. Informaticae.

[23]  Luigi Palopoli,et al.  NP-SPEC: an executable specification language for solving all problems in NP , 1999, Comput. Lang..

[24]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[25]  James M. Crawford,et al.  Experimental Results on the Crossover Point in Random 3-SAT , 1996, Artif. Intell..

[26]  Victor W. Marek,et al.  Autoepistemic logic , 1991, JACM.

[27]  Antonis C. Kakas,et al.  ACLP: Flexible Solutions to Complex Problems , 1997, LPNMR.

[28]  Michael Gelfond,et al.  Logic Programs with Classical Negation , 1990, ICLP.

[29]  V. S. Subrahmanian,et al.  WFS + Branch and Bound = Stable Models , 1995, IEEE Trans. Knowl. Data Eng..

[30]  Victor W. Marek,et al.  Experimenting with Nonmonotonic Reasoning , 1995, ICLP.

[31]  Ilkka Niemelä,et al.  Smodels - An Implementation of the Stable Model and Well-Founded Semantics for Normal LP , 1997, LPNMR.

[32]  P. Simons Towards Constraint Satisfaction through Logic Programs and the Stable Model Semantics , 1997 .

[33]  Bernhard Nebel,et al.  Encoding Planning Problems in Nonmonotonic Logic Programs , 1997, ECP.

[34]  Jia-Huai You,et al.  Iterative belief revision in extended logic programming , 1996 .

[35]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[36]  Charles Elkan,et al.  A Rational Reconstruction of Nonmonotonic Truth Maintenance Systems , 1990, Artif. Intell..