holmes:使用传播器和CDCL进行约束求解的参考库

时间:2024-04-11 01:44:23
【文件属性】:

文件名称:holmes:使用传播器和CDCL进行约束求解的参考库

文件大小:64KB

文件格式:ZIP

更新时间:2024-04-11 01:44:23

backtracking logic-programming constraint-solver propagation Haskell

:man_detective: 福尔摩斯 Holmes是用于计算约束解决问题的库。 在后台,它使用传播网络和冲突导向子句学习来优化对参数空间的搜索。 现在可在上! :running_shoe: 例子 是约束问题的一个很好的第一个例子。 在这个问题中,我们假设有五个人(贝克,库珀,弗莱彻,米勒和史密斯)住在一个五层楼的公寓楼中,我们必须弄清楚每个人的居住地。 这是我们陈述Holmes问题的方法: import Data.Holmes dinesman :: IO ( Maybe [ Defined Int ]) dinesman = do let guesses = 5 `from` [ 1 .. 5 ] guesses `satisfying` \ [ baker, cooper, fletcher, miller, smith ] -> and' [ distinct [ baker, cooper, flet


【文件预览】:
holmes-master
----holmes.cabal(4KB)
----test()
--------Test()
--------Main.hs(65B)
----LICENSE(1KB)
----src()
--------Control()
--------Data()
----Setup.hs(46B)
----examples()
--------WaveFunctionCollapse.hs(4KB)
--------Futoshiki.hs(3KB)
--------Main.hs(65B)
----.gitignore(14B)
----README.lhs(18KB)
----README.md(10B)

网友评论