English

Combinatorial Search With Picat

Programming Languages 2014-05-13 v1

Abstract

Picat, a new member of the logic programming family, follows a different doctrine than Prolog in offering the core logic programming concepts: arrays and maps as built-in data types; implicit pattern matching with explicit unification and explicit non-determinism; functions for deterministic computations; and loops for convenient scripting and modeling purposes. Picat provides facilities for solving combinatorial search problems, including a common interface with CP, SAT, and MIP solvers, tabling for dynamic programming, and a module for planning. Picat's planner module, which is implemented by the use of tabling, has produced surprising and encouraging results. Thanks to term-sharing and resource-bounded tabled search, Picat overwhelmingly outperforms the cutting-edge ASP and PDDL planners on the planning benchmarks used in recent ASP competitions.

Keywords

Cite

@article{arxiv.1405.2538,
  title  = {Combinatorial Search With Picat},
  author = {Neng-Fa Zhou},
  journal= {arXiv preprint arXiv:1405.2538},
  year   = {2014}
}
R2 v1 2026-06-22T04:11:04.785Z