Planning as model checking: the performance of ProB vs NuSMV

In this paper we investigate the feasibility of using two different model-checking techniques for solving a number of classical AI planning problems. The ProB model checker, based on mathematical set theory and first-order logic, is specifically designed to validate specifications of concurrent programs written in the B specification language. ProB uses a constraint logic programming environment to perform model checking. NuSMV is the other model checker used in this work. It is an extension of SMV and makes use of symbolic model checking techniques to deal with the state explosion problem common to model checking in general. The problem is represented using Binary Decision Diagrams and model checking is performed using tableaux theorem proving techniques. The scope of the problems chosen is currently limited but it is envisaged that the methodology proposed could usefully be extended to larger planning problems.

[1]  Thierry Massart,et al.  How to Make FDR Spin LTL Model Checking of CSP by Refinement , 2001, FME.

[2]  Marco Pistore,et al.  Planning as Model Checking for Extended Goals in Non-deterministic Domains , 2001, IJCAI.

[3]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[4]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[5]  Ivan Bratko,et al.  Prolog (3rd ed.): programming for artificial intelligence , 2000 .

[6]  Themis Panayiotopoulos,et al.  AI Planning and Intelligent Agents , 2005 .

[7]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[8]  Marco Roveri,et al.  Conformant Planning via Symbolic Model Checking , 2000, J. Artif. Intell. Res..

[9]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[10]  J. B. Wordsworth Software Engineering with B , 1996 .

[11]  Wojciech Penczek,et al.  A partial order approach to branching time logic model checking , 1995, Proceedings Third Israel Symposium on the Theory of Computing and Systems.

[12]  Fausto Giunchiglia,et al.  Planning as Model Checking , 1999, ECP.

[13]  Mauro Di Manzo,et al.  Planning via Model Checking in Deterministic Domains: Preliminary Report , 1998, AIMSA.

[14]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[15]  Jon Rigelsford PROLOG: Programming for Artificial Intelligence 3/e , 2003 .

[16]  Michael J. Butler,et al.  Combining CSP and B for Specification and Property Verification , 2005, FM.

[17]  Mordechai Ben-Ari Mathematical logic for computer science (2. ed.) , 2001 .

[18]  M. Fitting First-order logic and automated theorem proving (2nd ed.) , 1996 .

[19]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[20]  Paolo Traverso,et al.  Strong Cyclic Planning Revisited , 1999, ECP.

[21]  H. Enderton Elements of Set Theory , 1977 .

[22]  J. Hooker Constraint programming , 2003 .

[23]  Melvin Fitting,et al.  First-Order Logic and Automated Theorem Proving , 1990, Graduate Texts in Computer Science.

[24]  Michael Leuschel,et al.  ProB User Manual , 2005 .

[25]  Enn Tyugu,et al.  Constraint Programming , 1994, NATO ASI Series.

[26]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[27]  Stephan Merz,et al.  Model Checking , 2000 .

[28]  Ingo Br,et al.  Prolog programming for artificial intelligence , 1990 .

[29]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[30]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..