0
我有伪布尔问题,我需要用sat4j来解决它。关于sat4j,如何使用sat4j来解决伪布尔问题?
有人可以帮助我吗?
这里是我的问题:
我有一个名为的变量列表:A,B,C,d,E,F
而且我所代表的值的列表:# 1,#2,#3 .....
H(A,#1)是指分配#1到
我有一些实施例C onstraints:
h(a,#1)=1
h(a,#1)+h(b,#1)+h(c,#1)=1
h(a,#1)+h(a,#5)>=1
h(b,#2)+h(b,#3)+h(b,#4)>=1
像上面的例子那么多的约束。 最后,我想要一个赋值为哪个值的结果。
如何用sat4J解决?我应该如何表示约束条件?
我不会用CNF解决这个问题。 SMT更合适。 –
什么样的SMT解算器?你能向我推荐一个吗?我需要将代码与我的java项目集成,所以我想要一个解决pudo布尔问题并提供java API的工具。 – JulieZhu
Z3是我用过的一种流行的SMT解算器。我还没有试图用Java来谈论它,但其他人也有,至少据Google说。在任何情况下,Z3的简单LISPy I/O语法都不会很难解析。 –