clpz
meal-scheduler
Our great sponsors
clpz | meal-scheduler | |
---|---|---|
5 | 3 | |
172 | - | |
- | - | |
4.4 | - | |
2 months ago | - | |
Prolog | ||
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
clpz
-
Logic programming is overrated, at least for logic puzzles (2013)
As pointed out in the comments in the article, these kinds of logic puzzles are easier to solve using constraint programming than "regular" logic programming.
For example, see the solution to the Zebra Puzzle here: https://www.metalevel.at/prolog/puzzles which uses CLPZ[^1].
-
Markus Triska Interview on Prolog
Scryer has the strings-as-lists-but-implemented-efficiently thing, possibly more strict ISO Prolog compatible syntax, and it may ship with a more advanced constraint library (I'm not clear on the relationship between SWI's clpfd and Scryer clpz).
-
is it possible to have a reversable operation
None of these are full-fledged programming languages, however. They're limited to problems that lie in the polynomial hierarchy (A class which contains P and NP). Logic programming is generally only used to solve hard problems for which no good algorithm is known. Prolog also sort of fits this niche and it has a bunch of solvers integrated into it. Notably CLPFD which uses https://github.com/triska/clpz for constraint logic programming. Rosette (https://docs.racket-lang.org/rosette-guide/index.html) is another solver-based language. Except it uses lisp syntax (it's embedded in the Racket language). It uses Z3 as a solver (linked above for SMT theories)
- Ask HN: Do you use an optimization solver? Which one? Why? Do you like it?
-
What is the difference between constraint solving and constraints programming?
Constraint programming I guess is when one uses a prolog library such as: https://github.com/triska/clpz
meal-scheduler
-
Ask HN: Do you use an optimization solver? Which one? Why? Do you like it?
I use Minizinc in a personal toy project (https://gitlab.com/dustin-space/meal-scheduler), and GECODE or Google's ortools solver at the backend. It's used for meal planning. Unfortunately it's way way slower than I'd hope. I suspect I just have the domain not modeled efficiently. Maybe if I had a few days to put into it, and learn how to properly debug the CSP solver step by step, it might help...
-
What is your “I don't care if this succeeds” project?
That sounds like a fun application, both the usage and the implementation.
I wonder if you have any interesting example data-files that could be used with the model, preferable both something small and something larger? Would be fun to test the model locally to see how it behaves.
Notes: I'm assuming here that https://gitlab.com/dustin-space/meal-scheduler/-/blob/master... is the model used.
What are some alternatives?
prolog-checkers - A Player vs AI game of checkers implemented in Prolog
HiGHS - Linear optimization software
ppp_thing - A poorly written, minimum viable PPPoE client with session handoff between redundant FreeBSD routers
SSI - A Prolog Compiler written in Prolog.
electron-browser-shell - A minimal, tabbed web browser with support for Chrome extensions—built on Electron.
kanren - An extensible, lightweight relational/logic programming DSL written in pure Python
listudy - Listudy - chess training server
or-tools - Google's Operations Research tools:
Arthur - How to build your own AI art installation from scratch [Moved to: https://github.com/maxvfischer/DIY-ai-art]
optaplanner-quickstarts - Mirror of https://github.com/apache/incubator-kie-optaplanner-quickstarts
singyeong - 신경 - Cloud-native messaging/pubsub with powerful routing