文件名称:CSP:Haskell中的一个简单CSP求解器,带有示例问题
文件大小:15KB
文件格式:ZIP
更新时间:2024-06-06 14:03:59
Haskell
CSP Haskell中用于静态和动态CSP的CSP解算器。 处理任意二进制约束并执行前向检查(通过弧一致性)和“最受约束的变量”选择启发式。 静态CSP 静态CSP求解器解决了经典的CSP问题:给定变量列表(具有域)和约束图,找到满足约束图的变量分配。 求解器可在CSP模块中找到,并利用以下两种启发式方法: 前向检查电弧一致性-不进行会立即导致变量没有更多可能值的赋值。 首先是最受约束的变量-在所有其他变量之前分配具有最小可能值数量的变量,以最小化搜索树的分支因子。 然后,求解器将提供所有令人满意的变量分配的集合。 正式定义 输入: 可变域对[(v,[d])] 。 约束d (cvd)的集合,其中d是集合,而cvd是具有变量类型v和域类型d的约束。 约束从变量v1到另一个变量v2并包含一个函数d -> [d] ,在给v1假设分配d ,该函数返回v2剩余可能值的列表[d] 。
【文件预览】:
CSP-master
----DataStructure.hs(4KB)
----DCSP.hs(3KB)
----CSP.hs(3KB)
----ConstraintGraph.hs(5KB)
----Search.hs(3KB)
----LICENSE.md(1KB)
----.gitignore(3KB)
----README.md(2KB)
----Algorithms()
--------Planning.hs(3KB)
--------SimpleCSP()
----Main.hs(85B)
----.gitattributes(483B)
----Data()
--------Functor()
--------Eq.hs(139B)