是否有任何算法可以减少坐标问题。
可满足性是确定是否可以以使公式求值为TRUE的方式分配给定布尔公式的变量的问题。同样重要的是确定是否不存在这样的分配,这意味着公式表示的函数对于所有可能的变量赋值都是相同的假。在后一种情况下,我们会说功能是不可满足的;否则它是可以满足的。为了强调这个问题的二元性质,它经常被称为布尔或命题可满足性。简写“SAT”也常用于表示它,隐含的理解是函数及其变量都是二进制值。
我已经使用遗传算法来解决这个问题,但如果首先减少会更容易吗?
答案 0 :(得分:1)
您可以对公式进行深度优先路径树搜索以识别“路径” - 即(ICanEat&&(IHaveSandwich || IHaveBanana)),如果“ICanEat”为false,则值括号内无关紧要,可以忽略不计。所以,在那里你可以丢弃一些边缘和节点。
而且,如果您在生成此深度优先搜索时,当前节点解析为True,则表示您找到了解决方案。
答案 1 :(得分:1)
看看Reduced Order Binary Decision Diagrams(ROBDD)。它提供了一种将布尔表达式压缩为简化规范形式的方法。有很多软件用于执行BDD减少,上面的ROBDD维基百科链接包含一个很好的外部链接列表,其中包含文章底部的其他相关软件包。
答案 2 :(得分:0)
“减少”是什么意思?我会假设您事先预先进行某种预处理,以便首先消除或简化某些变量或子句。
这完全取决于你想做多少工作。当然,你应该unit propagation直到它完成。还有其他更贵的东西可以做。有关示例,请参阅march_dl页面的预处理部分。