可以使用GSAT(贪婪可满足性)算法来找到在CNF中编码的搜索问题的解决方案。我知道,由于GSAT是贪婪的,它是不完整的(这意味着会有解决方案可能存在的情况,但GSAT找不到它)。从下面的链接,我才知道,这可能发生翻转变量时,贪婪地捕捉我们在一个周期内,如I→我”→‘我’→一GSAT不完整示例
http://www.dis.uniroma1.it/~liberato/ar/incomplete/incomplete.html
我一直挺难拿出一个实际的例子,可以显示这一点,但一直没有能力(和其他地方找不到例子)。任何帮助将非常感激。谢谢:)
P.S.我不是在谈论变量与条款的比率接近4.3的“硬”k-SAT问题。我只是寻找一个简单的例子,可能涉及最少数量的变量和/或子句需要。
我认为该链接上的算法有一个错误:在选择最佳变量进行更改后,如果还有不满意的子句,则它将转到步骤* 1 *,这将导致所有内容都被随机重新初始化,而不是尝试第二贪婪的一步。 –
即使问题得到解决,也无法说明这个算法找不到的问题实例,因为它可能因为初始随机赋值给变量而变得幸运。 –