考虑怎么把一个3SAT实例转化成一个EXPERIMENTAL CUISINE 问题。
对于任意一个3SAT问题。若其某一子句
c
为
{
UV¯¯¯Wc¯¯¯¯¯,U¯¯¯VWc¯¯¯¯¯,U¯¯¯V¯¯¯Wc,UVW¯¯¯¯,U¯¯¯VWc,UV¯¯¯Wc,UVWc
}。
这7种ingredients代表了使得子句
c
成立的七种不同情况比如
现在再考虑子句与子句之间的情况,对于任意两个子句i,j,将两个子句互相矛盾的成分之间的discord值设为1。比如
UABi
与
U¯¯¯CDi
等。
设子句总数为n,再令p=0,若此时能选择的成份数为n,那么即说明此3SAT能满足。另外,判断一个3SAT能否满足与找出这个3SAT的解实际上是等价的,参考8.2。因此如果EXPERIMENTAL CUISINE在多项式时间内可解的话,3SAT亦然。
算法概论8.16
最新推荐文章于 2024-09-11 00:16:09 发布