Encoding Numeric Computations and Infusing Heuristic Knowledge Using Integrity Constraints in stableKanren
This paper presents examples of using integrity constraints in stableKanren to encode numeric computations for problem solving. Then we use one of the examples to introduce multiple ways to infuse heuristic knowledge to reduce the solving time. stableKanren is an extension of miniKanren that supports normal logic programs under stable model semantics. stableKanren further supports numeric computation by constructing a constraint store for integrity constraints. There are three ways to extend a relational programming language with numeric computations: relational number representation, grounding numbers to symbols, and constraint store construction. We show that the numeric computations in stableKanren have a straightforward number representation compared to relational number representation. More importantly, stableKanren balances the symbolic and numeric computation in relational programming by avoiding grounding all numbers to symbols. Lastly, it also has simpler syntax compared to other constraint store construction approaches. stableKanren supports combinatorial search problem solving under a declarative generate and test paradigm. Such a paradigm generates all possible combinations of solutions to the problem, then applies a set of constraints to prune out the unwanted solutions. We demonstrate that different approaches to writing programs or queries affect the solver’s performance in the SEND+MORE=MONEY puzzle. The performance gradually improves as more heuristic knowledge is infused through the programs or queries. Additionally, we show how to use an external function to achieve a hybrid solution.
Fri 17 OctDisplayed time zone: Perth change
13:45 - 15:30 | Relational conversion, compilation, and encodingminiKanren at Peony NW Chair(s): Jason Hemann Seton Hall University | ||
13:45 13mTalk | Designing Walrus: Relational Programming with Rich Types, On-Demand Laziness, and Structured Traces miniKanren Santiago Cuellar Princeton, Naomi Spargo Galois, Inc., Jonathan Daugherty Galois, Inc., David Darais Galois | ||
13:58 13mTalk | The CoCompiler: DSL Lifting via Relational Compilation miniKanren Naomi Spargo Galois, Inc., Santiago Cuellar Princeton, Jonathan Daugherty Galois, Inc., Chris Phifer Galois, David Darais Galois | ||
14:11 26mTalk | Typed Embedding of miniKanren for Functional Conversion miniKanren Igor Engel JetBrains Research; Constructor University Bremen, Ekaterina Verbitskaia JetBrains Research; Constructor University Bremen | ||
14:37 26mTalk | Fair intersection of seekable iterators miniKanren Michael Arntzenius UC Berkeley | ||
15:03 26mTalk | Encoding Numeric Computations and Infusing Heuristic Knowledge Using Integrity Constraints in stableKanren miniKanren |