8.8 证明EXACT 4SAT问题是NPC问题

题目描述

在EXACT 4SAT 问题中,指定输入为一组语句,每个语句恰好都是4个表达式的析取表示,并且每个变量最多在一个语句中出现一次。目标是找到一个合适的赋值,如果该赋值存在,那么可以证明EXACT 4SAT 问题是NPC问题。

证明

证明一个问题是NPC问题,只要能证明该问题能从另一个NPC问题归约得到,即得证。这道题我们可以考虑从3SAT问题归约到EXACT 4SAT 问题。
首先,我们看看如何如何从一个3SAT转换到EXACT 4SAT,我们先给出这么一个式子,
这里写图片描述
在EXACT 4SAT 问题的定义中指出,每个变量只允许出现一次,所以我们不能再每个语句中添加重复的变量,但我们可以添加哑变量,便能讲3SAT问题扩展成一个EXACT 4SAT 问题,如下图
这里写图片描述
可以明显的看出,我们在这个转换的过程中,时间复杂度是线性的时间,所以是满足归约的要求的。同时哑变量因为不影响整个语句的结果,所以两个式子是等价的。
综上所述,3SAT能归约到EXACT 4SAT问题,所以EXACT 4SAT问题是NPC问题。

你可能感兴趣的:(8.8 证明EXACT 4SAT问题是NPC问题)