Describing Domino Tilings with Prolog
HTML-код
- Опубликовано: 7 фев 2025
- CLP(B), Constraint Logic Programming over Boolean variables, lets us compactly describe exact cover problems such as finding domino tilings of a chessboard. We can use the declarative description to efficiently generate, complete and count solutions. Variations of the task can also be readily expressed and solved with Prolog. In addition to CLP(B), SICStus Prolog also provides the geost/N family of constraints which can efficiently solve complex geometric problems.
The example is taken from Donald Knuth: The Art of Computer Programming, Vol. 4, Fascicle 1, which contains excellent information and references about BDDs and related data structures.
More information about a portable CLP(B) system written in Prolog: www.metalevel....
Babe wake up, New Prolog just dropped!
very few people appreciate prolog
I was very lucky to study it at some point during my masters in CS in the mid 2000, in Grenoble literally in the same institute (same building but a different cursus) as Colmerauer studied for his thesis and possibliy started thinking on Prolog or on concepts that would later be used in Prolog. At least one of my teachers definitely was students of his when he was a professor at Marseille and you could feel the pride to teach us Prolog
yayyy I needed this today!
Yooooo Prolog baybeeee!!! 🎉😂😊🎉🦉🥺
One solution you (purposedly?) don't mention if BDDs are too slow is to use a (proper) SAT solver.
Computing BDDs does much more than solving SAT… and if you don't need the counting or such things but just the satisfiability, then a SAT solver is probably much more efficient!