DP中的关键SAT变体


10

语言在类中,如果有两种语言和使得dL大号1 Ñ P 大号2 ç ö Ñ P 大号= 大号1 大号2DPL1NPL2coNPL=L1L2

一个典型的问题是SAT-UNSAT:给定两个3-CNF表达式和,是否是可满足的而是否不是满足的?F G F GDPFGFG

SAT临界问题也众所周知是:给定3-CNF表达式,是否确实不满足,但删除任何子句是否可以满足,这是真的吗?F FDPFF

我正在考虑以下Critical SAT问题的变体:给定3-CNF表达式,是否确实可以满足要求,但是添加任何3-子句(在使用但与相同的变量)会使它不令人满意?但是,我无法从SAT-UNSAT中找到减少量,甚至无法证明它是或很难。F F F N P c o N PFFFFNPcoNP

我的问题:这种变型DP是否完整?

谢谢您的回答。


我并不了解DP:有趣的课程,尤其是在CRITICAL-SAT已完成的时候。
Suresh Venkat

1
如果有两个满足assigments ,则φ是不是最大的。(假设它们在变量p上不同,则公式未暗示p并将其添加或包含它的子句不会改变可满足性。)如果我们可以在多项式时间内找到公式未隐含的子句,则可以将其加否定公式,仅使用unit子句规则。最终,我们将找到满意分配的所有变量的值。然后,我们只需要检查该公式是否等效于该分配的规范公式。ττφφpp
卡韦

1
@Kaveh:我误会了你的问题。在您的问题版本中,“没有公式可以隐含的子句,可以在不使它不满意的情况下添加到该子句中”等同于以下条件:只有一个令人满意的赋值,并且它是标准的美国 -完整的问题(因此很难解决)。
伊藤刚(Tsuyoshi Ito)

1
Xavier:您的说法正确,因为@Kaveh版本中的语言是您版本中语言的子集。但这并不意味着两个问题之间的可简化性(任一方向)。请记住,归约必须将yes-instances映射到yes-instances,并且no-instances映射到no-instance。
伊藤刚(Tsuyoshi Ito)

1
抱歉,我写的方向相反。您使用的语言是Kaveh使用的语言的子集。
伊藤刚(Tsuyoshi Ito)

Answers:


2

[我把它做成一个正确的答案b / c有人给它-1]

如果任何条款被允许添加,那么这种语言是空的-显然是任何满足的公式您可以添加3条ç的,不会出现在变量由˚F˚F { c ^ }将是满足的。FcFF{c}

如果添加的子句必须使用变量,则该语言为P。F

理由如下:

采取任何,即˚F 小号Ť和用于任何3-子句ç上的变量˚F˚F { Ç } ù Ñ 小号Ť。发言权c ^ = 123˚F,其中是文字。由于˚F { c ^ }是UNSAT,全系车型˚F必须有FLFSATcFF{c}UNSATc=l1l2l3FliF{c}F(为= 1 2 3) -因为如果某些模型具有例如1 = 1,则其将满足 Ç ˚F { Ç }。现在,假设存在另一个条款 Ç '是完全一样 Ç,但有一个或多个文字翻转并使得 ç '˚F,说 Ç ' = ¬ 123li=0i=1,2,3l1=1cF{c}cccFc=¬l1l2l3。然后,根据相同的论点,所有模型都必须具有l 1 = 1。因此,对于必要条件˚F 大号是,每个子句Ç ˚F是完全有6项其他条款˚F使用的三个变量Ç -让调用这些7-子句子集˚F。请注意,每个块暗含对其变量的唯一令人满意的分配。当满足此必要条件时,F可以唯一满足或不满足。可以通过测试F的块是否暗含分配来区分这两种情况Fl1=1FLcFFcF FF 冲突,这显然可以在线性时间内完成。


1
您的观察基本上是:要得到答案,是的,在选择三个不同的变量时,F必须在八个子句中恰好包含七个。因此,在多项式时间内很容易找到唯一的赋值(或检测不一致)。
伊藤刚(Tsuyoshi Ito)

2
@Xavier:这两个问题看起来很相似,但是Anton的观察表明它们完全不同。这在计算复杂度方面非常常见。典型示例包括2SAT和3SAT以及欧拉回路和哈密顿回路之间的比较。
伊藤刚(Tsuyoshi Ito)

2
@Xavier-Tayfun的答案不正确。他表明问题出在DP中-很好,P中的任何问题都自动出现在DP中。为了表明问题是DP完全问题,他必须证明减少到另一个DP完全问题(例如Critical SAT的第一个变体)。我将编辑提交给他的答案,但已在“同行评审”队列中。
安东·贝洛夫

3
@Anton:通常不建议编辑其他用户发布的答案。如果您认为Tayfun的答案从根本上是错误的,则不应尝试通过编辑对其进行修复。
伊藤刚(Tsuyoshi Ito)

1
从SAT-UNSAT问题中可以很明显地看出,对于一个公式,您要检查是否满足要求;对于另一个公式,您要检查是否满足要求...在原始的临界饱和问题中,您并不认为给定的布尔公式是不满足的。你必须检查一下。与Xaviers版本相同,您必须检查给定的布尔公式是否可以满足要求。
Tayfun Pay

-1

感谢您的评论,我可以为我自己的问题提出一个答案:Critical SAT的变体在P中。

让我们将“问题1”称为Critical SAT的变体:给定3-CNF表达式,是真的 F是可满足的,但是在F中添加任何子句会使它不满足吗?FFF

而“问题2”:给定一个3-CNF表达,是不是真的˚F包含所有这意味着条款并具有独特的模式?FF

给定一个3-CNF公式,F

如果是问题2是实例,然后的任何条款进行˚F没有被暗示˚F,然后覆盖了唯一可能满足分配˚F。在F中添加这样的子句使其无法持久。因此,F是问题1的“是”实例。FFFFFF

如果是问题2没有实例,则:情况1:存在一个条款出来的˚F是通过暗示˚F。然后将此子句添加到F不会改变其可满足性。因此,F绝对不是问题1的实例。情况2:F包含它暗示的所有子句,但不令人满意。因此,F绝对不是问题1的实例。情况3:F包含其暗示的所有子句,但至少具有2个不同的模型。正如卡夫(Kaveh)的评论所强调的那样,«假定模型在变量p上有所不同,然后添加包含该变量的子句不会改变可满足性。»因此, F不是问题1的实例。FFFFFFFFF

然后,是问题1 的是实例,而F是问题2的是实例。FF

问题2显然是在P问题(例如,是问题2是当且仅当实例有完全相同 ñF =nn-1n-2(n3)F中有 3个子句,其中两个子句中没有对立的小数–n是变量的数量)。问题1也是如此。n(n1)(n2)3n


2
您将原始问题改写成您喜欢的样子。
Tayfun Pay

我不确定3-SAT版本。给定CNF中具有M个子句和N个变量的布尔公式,如果M =(3 ^ N)-(2 ^ N),则给定的布尔公式要么不确定,要么只有一个解。即使这样,在这种情况下检查是否令人满意仍然是NP。没有办法,你的版本是P.
塔伊丰粮

1
@Xavier:这个答案似乎是正确的,但我认为它与Anton的答案相同。
伊藤刚(Tsuyoshi Ito)

@Tsuyoshi,您是对的,仅介绍问题2,其第一部分(测试公式是否包含它所暗示的所有子句)引起我的兴趣-顺便说一下,您对第一部分的复杂性有任何想法吗?
Xavier Labouze 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.