I am pleased to announce that Picat version 1.4 has just been released. This version incorporates one overdue improvement: represent integers that fit into one 64-bit word natively, rather than as big integers (the actual number of bits that are used to represent values natively is 56 bits). This improvement leads to significant speedup and reduction of memory consumption for applications that deal with large integers. As a by-product, the default bounds of domains of finite domain variables have also been expanded from 28 bits to 56 bits. This expansion makes it possible now to solve some problems, such as the seven-eleven problem ( http://picat-lang.org/exs/seven_eleven.pi), that were impossible to solve before due to integer overflow.
Our recent focus has been on the SAT compiler, and the SAT compiler is becoming better with every release. This release is not an exception; it generates more efficient code for entailment constraints. The MiniZinc Challenge 2015 has published very encouraging results for Picat-SAT, the only purely SAT-based CSP solver entrant in the competition: on 5 of the 20 benchmarks, Picat-SAT scored higher than the three medalists of the competition, and on benchmarks that do not use global constraints Picat-SAT outperformed the Bronze solver. It's interesting to know how competitive SAT-based CSP solvers can become with the best CP solvers. Please pay attention to Picat-SAT in the next MiniZinc Challenge. This new release also incorporates a fix of a bug in the tabling system, which prevented certain programs from terminating. The tabling system of Picat was inherited from B-Prolog, which first had tabling introduced in 1999! Despite the simplicity of linear tabling and recent intensive use of tabling in applications, this bug was a stubborn and an embarrassing one. We all face the tough reality that we can uncover bugs but cannot prove the correctness of the any reasonably large-scale software. This new release also includes some library modules developed by third parties, including FlatZinc interpreters using CP and SAT, converters for different CSP formats, scripts for generating commands for various purposes, and a JSON encoder/decoder. For the first time, the C source code is made available with the binary executables on the same page. Please take a look at the updates log for the details: http://picat-lang.org/updates.txt. Cheers, Neng-Fa and 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
