算法概论课后习题8.8

xiaoxiao2021-02-28  44

设3SAT的实例I=(a1V a2V a3)(a4 V a5 V a6)...(.anV an+1V an+2)

根据4SAT问题的条件,每个变量最多在每个子句中出现一次。如果某个变量在子句中出现多次,则缩减为1次。

如果某个子句中同时包含互反的两个变量,则将这两个变量同时去除。

接下来在各子句中添加1个变量,转化为4SAT。如(a1V a2V a3)转化为4SAT的实例(a1V a2V a3Vb)∧(a1V a2V a3V?b)

如果某组数值满足(a1V a2V a3),则它也同时满足(a1V a2V a3Vb)∧(a1V a2V a3V?b)。所以如果3SAT实例是可满足的,4SAT实例也是可满足的。

另外,如果(a1V a2V a3Vb)∧(a1V a2V a3V?b)是可满足的,由于b和?b是一真一假,所以可推出(a1V a2V a3)为真,3SAT的实例是可满足的。

结合上述两条可推出3SAT可归约为4SAT。

综上所述,4SAT问题是NP-完全问题。

转载请注明原文地址: https://www.6miu.com/read-81518.html

最新回复(0)