Picat version 2.0 has been released. This version incorporates improvements and additions that further strengthen Picat as an AI programming language.
The planner module has been extended to enable the encoding of domain-specific heuristics and sequencing rules. In addition to specifying actions and conditions on final states, users can optionally define the heuristic/1 function, which is used by the planner to perform heuristic search, and the sequence/2 predicate, which is used by the planner to reduce partial orders and eliminate action symmetries.
The sat module adopts new algorithms for decomposing global constraints into primitive constraints, and employs numerous optimizations for compiling primitive constraints into a compact and efficient conjunctive-normal-form formula. With these improvements, the sat module has become the best choice for not only Boolean constraint problems, but also many other problems that involve global and arithmetic constraints. (Picat's SAT-based CSP solver won two silver medals and one bronze medal in the MiniZinc Challenge 2016, and the demo “Solving AI Problems and Games with Picat” was selected from more than 100 demonstrations to receive the Grand Prize at the NYC Media Lab’s Annual Summit ).
The mip module provides an interface to Gurobi, in addition to the interface with GLPK. Despite the emergence of various new solvers, MIP remains the first choice for many problems. The Gurobi interface enables the use of Picat as a modeling language for the cutting-edge MIP solver, and the seamless comparison of the solver with SAT-based and CP-based CSP solvers.
In addition to these major changes, version 2.0 also incorporates several minor changes and improvements, including extensions to the basic, math, sys, and util modules. Please see the update log for the details. Many new application examples have been written since the last major release, including new projects, Google Code Jam Problems, LP/CP Programming Contest, and Ninety-Nine Picat Problems.
Cheers,
The Picat team
_______________________________________________ logic-programming mailing list [email protected] http://lists.picat-lang.org/mailman/listinfo/logic-programming
_______________________________________________ Om-announce mailing list [email protected] http://openmath.org/mailman/listinfo/om-announce
