SAT4J含义用例

时间:2017-06-04 19:42:01

标签: java sat sat4j

我是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());

1 个答案:

答案 0 :(得分:0)

解决方案为您提供了一个满足&#34;满意&#34;变量。在这里,伪造变量满足你的意思。

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