Java SAT4J隐含用例

Java SAT4J隐含用例,java,sat,sat4j,Java,Sat,Sat4j,我是sat4j图书馆的新手。如何定义含义,例如(A1 v A2 v A3)=>(A1∧ A4)使用sat4j查找所有变量的布尔值 我找到了sat4j的单元测试,而没有尝试下面清单中的内容。问题是hasASolution()返回true,但solution变量为空 DependencyHelper<String, String> dependencyHelper = new DependencyHelper<>(SolverFactory.newEclipseP2());

我是sat4j图书馆的新手。如何定义含义,例如
(A1 v A2 v A3)=>(A1∧ A4)
使用sat4j查找所有变量的布尔值

我找到了sat4j的单元测试,而没有尝试下面清单中的内容。问题是
hasASolution()
返回true,但
solution
变量为空

DependencyHelper<String, String> dependencyHelper = new DependencyHelper<>(SolverFactory.newEclipseP2());
dependencyHelper.implication("A1", "A2", "A3").implies("A1").and("A4");
// Before get a solution it must be checked
assertTrue(dependencyHelper.hasASolution());
IVec<String> solution = dependencyHelper.getSolution();
System.out.println(solution.toString());
DependencyHelper DependencyHelper=newDependencyHelper(SolverFactory.newEclipseP2());
从属助手。暗示(“A1”、“A2”、“A3”)。暗示(“A1”)和(“A4”);
//在得到解决方案之前,必须对其进行检查
assertTrue(dependencyHelper.hasASolution());
IVec solution=dependencyHelper.getSolution();
System.out.println(solution.toString());

解决方案为您提供“满意”变量列表。在这里,伪造变量满足您的含义


因此,空的解决方案集意味着所有变量都是伪造的。

我找到了另一个逻辑操作框架(),它可以在几行中完成。您可以找到一些jUnit测试作为对AIMA框架的介绍。有没有办法强制某些变量为
true
?@vadympereprepeliak只是一个带有单个变量的约束/子句。类似于“公式和(var)”的东西