Skip to main content
    • Aa
    • Aa

Planning as tabled logic programming


This paper describes Picat's planner, its implementation, and planning models for several domains used in International Planning Competition (IPC) 2014. Picat's planner is implemented by use of tabling. During search, every state encountered is tabled, and tabled states are used to effectively perform resource-bounded search. In Picat, structured data can be used to avoid enumerating all possible permutations of objects, and term sharing is used to avoid duplication of common state data. This paper presents several modeling techniques through the example models, ranging from designing state representations to facilitate data sharing and symmetry breaking, encoding actions with operations for efficient precondition checking and state updating, to incorporating domain knowledge and heuristics. Broadly, this paper demonstrates the effectiveness of tabled logic programming for planning, and argues the importance of modeling despite recent significant progress in domain-independent PDDL planners.

Hide All
AlfordR., KuterU. and NauD. S. 2009. Translating HTNs to PDDL: A small amount of domain knowledge can go a long way. In IJCAI. 1629–1634.
BacchusF. and KabanzaF. 2000. Using temporal logics to express search control knowledge for planning. Artif. Intell. 116, 1–2, 123191.
BaierJ. A., FritzC. and McIlraithS. A. 2011. Golog-style search control for planning. In Knowing, Reasoning, and Acting: Essays in Honour of Hector J. Levesque, Lakemeyer G. and McIlraith S. A., Eds. College Publications.
BartákR., DovierA. and ZhouN.-F. 2015. On modeling planning problems in tabled logic programming. In Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming. PPDP '15. 31–42.
BartakR. and ZhouN. 2014. Using tabled logic programming to solve the Petrobras planning problem. Theory and Practice of Logic Programming 14, 4–5, 697710.
BrewkaG., EiterT. and TruszczyńskiM. 2011. Answer set programming at a glance. Commun. ACM 54, 12, 92103.
ChrpaL., VallatiM. and McCluskeyL. 2014. International planning competition.
DawsonS., RamakrishnanC. R. and WarrenD. S. 1996. Practical program analysis using general purpose logic programming systems –- A case study. ACM SIG-PLAN Notices 31, 5, 117126.
DovierA., FormisanoA. and PontelliE. 2011. Perspectives on logic-based approaches for reasoning about actions and change. In LNCS. Vol. 6565. 259279.
EiterT., FaberW., LeoneN., PfeiferG. and PolleresA. 2004. A logic programming approach to knowledge-state planning: Semantics and complexity. ACM Trans. Comput. Log. 5, 2, 206263.
GebserM., KaminskiR., KaufmannB. and SchaubT. 2012. Answer Set Solving in Practice. Morgan and Claypool Publishers.
GelfondM. and LifschitzV. 1998. Action languages. Electron. Trans. Artif. Intell. 2, 193210.
GuoH.-F. and GuptaG. 2008. Simplifying dynamic programming via mode-directed tabling. Softw., Pract. Exper. 38, 1, 7594.
HaslumP. and ScholzU. 2003. Domain knowledge in planning: Representation and use. In ICAPS Workshop on PDDL.
HewittC. 1969. Planner: A language for proving theorems in robots. In IJCAI. 295–302.
KautzH. and SelmanB. 1998. The role of domain-specific knowledge in the planning as satisfiability framework. In AIPS98. 181–189.
KorfR. E. 1985. Depth-first iterative-deepening: An optimal admissible tree search. Artif. Intell. 27, 1, 97109.
KowalskiR. 1979. Logic for Problem Solving. North Holland, Elsevier.
LevesqueH. J., ReiterR., LespéranceY., LinF. and ScherlR. B. 1997. GOLOG: A logic programming language for dynamic domains. J. Log. Program. 31, 1–3, 5983.
LifschitzV. 2002. Answer set programming and plan generation. Artif. Intell. 138, 1–2, 3954.
McDermottD. 1998. The planning domain definition language manual. CVC Report 98-003, Yale Computer Science Report 1165.
MichieD. 1968. “memo” functions and machine learning. Nature, 19–22.
NielsonF., NielsonH. R., SunH., BuchholtzM., HansenR. R., PilegaardH. and SeidlH. 2004. The succinct solver suite. In Proc. Tools and Algorithms for the Construction and Analysis of Systems: 10th International Conference (TACAS), LNCS 2988. 251–265.
PientkaB. December 2003. Tabled higher-order logic programming. Ph.D. thesis, Technical Report CMU-CS-03-185.
RamakrishnaY. S., RamakrishnanC. R., RamakrishnanI. V., SmolkaS. A., SwiftT. and WarrenD. S. 1997. Efficient model checking using tabled resolution. In Computer Aided Verification. 143–154.
TamakiH. and SatoT. 1986. OLD resolution with tabulation. In ICLP. 8498.
TorralbaA., AlcazarV. and BorrajoD. 2014. Symba: A symbolic bidirectional a planner. In The 2014 International Planning Competition. 105–109.
WarrenD. H. D. 1974. WARPLAN: A system for generating plans. Tech. Rep. DCL Memo 76, University of Edinburgh.
WarrenD. S. 1992. Memoing for logic programs. Comm. of the ACM, Special Section on Logic Programming 35, 93111.
ZhouN.-F. 2014. Combinatorial search with Picat. ICLP, invited talk,
ZhouN.-F. and DovierA. 2013. A tabled Prolog program for solving Sokoban. Fundam. Inform. 124, 4, 561575.
ZhouN.-F. and HaveC. T. 2012. Efficient tabling of structured data with enhanced hash-consing. Theory and Practice of Logic Programming 12, 4–5, 547563.
ZhouN.-F., KameyaY. and SatoT. 2010. Mode-directed tabling for dynamic programming, machine learning, and constraint solving. In ICTAI. 213–218.
ZhouN.-F., SatoT. and ShenY.-D. 2008. Linear tabling strategies and optimizations. Theory and Practice of Logic Programming 8, 1, 81109.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
Type Description Title
Supplementary Materials

Zhou supplementary material
Online Appendix

 PDF (2.0 MB)
2.0 MB


Full text views

Total number of HTML views: 0
Total number of PDF views: 28 *
Loading metrics...

Abstract views

Total abstract views: 190 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 20th October 2017. This data will be updated every 24 hours.