Skip to content
rKanren extension of core.logic using rKanren paper:
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is the rKanren extension of core.logic using rKanren paper

miniKanren uses a biased interleaving search, alternating between disjuncts to unfold. The alternation is biased towards disjuncts that have more of their constraints already satisfied. However, one can affect bias by parametrizing the search strategy using ranks.

Why rank is important?

The parametrization is beneficial if we want to take advantage of differentiable programming to guide the search strategies. Think of Deep Neural Networks that are trained to generate appropriate ranks based on a fixed given puzzle. You can play with sudoku example using the included jar file.

Example on how to affect the search speed of the sudoku

java -jar target/uberjar/minimax-kanren-0.1.0-SNAPSHOT-standalone.jar  --puzzle 192005640000060002006001300907083000000000000000590103009800200200070000085600739 --rank

Running test

lein test


Stay tuned for the result/papers and the Pytorch codes for showcasing the benefit of Neural guidance in the search strategies of constraint logical programmings. If this idea tingled your brain, make sure to check neural-guided-constraint-logic-programming-for-program-synthesis.

You can’t perform that action at this time.