4 ms·
Many constraint toolkits in other languages wrap around https://www.gecode.org/ https://www.gecode.org/ . A rathe well established and performant library. I thi
by sriku 4y ago
Many constraint toolkits in other languages wrap around https://www.gecode.org/ https://www.gecode.org/ . A rathe well established and performant library. I think the same folks behind Mozart/Oz are key behind this if I'm not mistaken.
For a free one, SWIProlog has a very usable and fairly performant constraint library too (CLPFD and CLPQ). It also has the more general "constraint handling rules" (CHR) as an embedded language. If you need to develop your own constraint search strategies, Mozart/Oz 's "space" concept is elegant.
- Guthur 4y agoI've used the CLPFD library, really quite cool. It fits very naturally into a prolog program.
- tannhaeuser 4y agoYes, Constraint Logic Programming evolved from Prolog, as the name implies, and because Prolog's indeterminism and backtracking is as natural as it gets for this kind of problems. While the article mentions the foundational Jaffar et al paper, there have been numerous constraint solvers embedded into Prolog ever since, known by names such as CLP(x) where x is a parameter for the domain (reals or finite domains, or Booleans as in SAT solvers), though this nomenclature suggests portability and a common approach that isn't there. An introductory article for robotic planning and scheduling based purely on Prolog and hence not requiring a magic CLP solver library and at the same time beyond constraint solvers in its ability to generate load plans in container ship logistics with an unbounded number of steps is described on the Quantum Prolog site [1]. The demo works in the browser even. [1]: https://quantumprolog.sgml.io/ https://quantumprolog.sgml.io/