Constraint Solving and Planning with Picat
By
Neng-Fa Zhou
Håkan Kjellerstrand,
Jonathan Fruhman
Abstract
The book introduces a new logic-based multi-paradigm programming language that integrates logic programming, functional programming, dynamic programming with tabling, and scripting, for use in solving combinatorial search problems, including CP, SAT, and MIP (mixed integer programming) based solver modules, and a module for planning that is implemented using tabling.
The book is useful for undergraduate and graduate students, researchers, and practitioners.
From the book foreword: “The language is as declarative as Prolog, but it is more convenient than Prolog in many aspects. It supports the encoding of problems by using constraints, and it enables the search for solutions through the use of constraint and SAT solvers. Picat provides the use of tabling with all of its features. In particular, Picat allows the encoding of planning problems in a programming style that is similar to PDDL, and facilitates their fast resolution thanks to tabling.” |