这类似于SAT,除了我们知道每个变量的赋值,但不知道任何布尔运算符的赋值。在那种情况下,是否找到每个运算符的赋值,以便表达式对给定的布尔值求值是一个NPC问题?
实际上,我想知道是否找到算术运算符的分配来满足整数算术表达式(例如 = 10)是否完成了NP?1
这类似于SAT,除了我们知道每个变量的赋值,但不知道任何布尔运算符的赋值。在那种情况下,是否找到每个运算符的赋值,以便表达式对给定的布尔值求值是一个NPC问题?
实际上,我想知道是否找到算术运算符的分配来满足整数算术表达式(例如 = 10)是否完成了NP?1
Answers:
通过加减,我认为对NP困难的分区问题可以归结为第二个问题。
给定集合S = { s 1,s 2,… ,s n },我们创建问题
小号1 ö p 1 小号2 ö p 2 小号3 ö p 3 ... ö p ñ - 1个小号ñ = 0。
如果存在解决方案,我们将创建两个集合:
S 1 = { s 1 } ∪ { s i | o p i − 1 = + }
S 2 = { s i | o p i − 1 = − }
通过我们原始问题的设置,这两个集合必须具有相同的总和,因此可以解决分区问题。这表明不仅很难为该问题提供实际的解决方案,而且实际上NP也很难确定是否存在解决方案(至少对于加法和减法而言)。
对于不允许创建负整数的一组运算(例如乘法和加法),目前尚不清楚。而且,这仅表明该问题对NP的影响很弱。可能会产生比此更强的结果。
简短的答案。SAT的运算符版本可以有效解决-至少,如果我们假设任意输入的门输入选择电路都没有扇出,则假设两个输入门的任意电路。
长答案。 我假设布尔问题的形式如下:
2棵树-OPSAT。给定一个输入X ∈ { 0 ,1 } Ñ为Ñ ⩾ 2和栅极组ģ由2输入一输出门,确实存在一个电路Ç在由门ģ其中接受X,也就是,这是给定输入x时是否满足(按顺序将x的位映射到电路C的叶子)?
X ∈ { 0 ,1 }ñ Ñ ⩾ 2 G C G X X X C
特别是,我们在电路C上没有施加任何特定的结构(除了是二叉树之外),不允许扇出(因此x的每个位仅使用一次),并且门可能是不对称的。通过仅允许两位门,我排除了非门(但是可以通过具有多个通过取反相互关联的门来模拟,例如与 / 与非;并且我也排除那些只输出没有输入常数的常数的门,使门电路中的数量将实际上总是ñ - 1用于ñ位输入为简洁起见,我将提到。2-TREE-OPSAT以下简称为
[ 编辑补充:我们可以很容易适应这种考虑你的问题的当前版本中,我们试图映射一个给定的更普遍的问题X ∈ { 0 ,1 } *为目标值b ∈ { 0 ,1 },在以下分析中互换0和1的角色;这具有互换的作用的效果AND和OR,NAND和NOR,等 ]
对于的固定选择,选择具有合适门的合适树的问题与逻辑分离无异:使用诸如等价物
我们可以在将更复杂的门集与简单(且功能强大)的门集相关的集合之间执行归约。一个人可以说,通过明智地选择某些元素(与特定的输入一起显示),与一个门具有相同的效果,一个门集能够模仿不属于该门集的其他门。。特别是,门的某些组合(例如)可以模拟常数函数,得出X ∈ { 0 ,1 } Ñ OR(X ,ÿ )
我们通过考虑包括不同类型的门门集,随后从以后的分析案例中排除那些门来表明,涉及任何一个门的门集都会导致一个棘手的问题。我们将从满足恒定门数的两位串的数量顺序开始,从常数门到常数门开始。G 1 0
对于包含常数门任何门集合,我们可以仅使用该门简单地构建电路,在这种情况下接受任何。G G (x ,y )= 1 C C x
或和与非。对于包含任何门集:如果所有其他门满足,那么选择任何其他门没有任何优势,但在构建电路。只有门的电路可以接受除外的任何字符串。否则,存在一个门使得是互斥的。因此,带有任何OPSAT实例都是容易的;并且类似的注释适用。ģ OR ģ ∈ ģ ģ (X ,ÿ )
隐含的门。考虑门,如果,则仅输出零。对于接下来的内容,类似的分析将适用于门。
考虑任何字符串。如果端部,分解入形式的子串 ; 在每个这样的,我们从右到左递归应用,这对于每个产生输出。(对于长度为1的子字符串,我们使用琐碎的电路,即不理会该输入。)类似地,如果ģ (X ,ÿ )= ¬ X ∨ Ý (X ,Ý )= (1 ,0 )ģ '(X ,ÿ )= X ∨ ¬ ý X ∈ { 0 ,1 } Ñ X 0 X 瓦特Ĵ = 1 * 0 w j G 0 w j x 1 x w
否定投影。考虑门和。我们认为与的分析相似。就其本身而言,可以接受任何字符串为通过减少最终位以单个比特,然后应用 ; 并且它可以通过将最后的位减少为一位,然后应用电路类似地,对接受¬ π 1(X ,ÿ )= ¬ X ¬ π 2(X ,ÿ )= ¬ Ý ¬ π 1 ¬ π 2 ¬ π 1 0 (0 | 1 )ñ - 1 ñ ⩾ 2 Ñ - 1 ¬ π 1 1 (0 | 1 )ñ - 1 ñ ⩾ 3
奇偶与平等。考虑门。门集显然只能由奇数1s 的字符串精确地满足;我们考虑添加任何其他门的好处。PARITY(X ,Ý )= (X ∨ ¬ Ý )∧ (¬ X ∨ Ý )ģ = { PARITY } X ∈ { 0 ,1 } Ñ
因此,OPSAT对于任何包含 math都是容易的。门和门也适用类似的分析:因为,电路的门基本上计数的数目的奇偶性 S IN的输入端。然后,我们可以通过交换和的分析减少为的分析。ģ PARITY EQUAL PARITY EQUAL(X ,ÿ )= ¬ PARITY(X ,ÿ )= ¬ PARITY(¬ X ,¬ ÿ )EQUAL 0 EQUAL PARITY 0 1
投影门。使用的门和只能建立分别接受以开头或结尾的字符串的电路。考虑用其他任何门来增加门的效果(类似的分析适用于):π 1(X ,ÿ )= X π 2(X ,ÿ )= ÿ 1 π 1 π 2
因此,对于其他任何门,我们都可以用(或)来补充,我们要么获得一个集,要么仅获得(或)就没有额外的接受能力,或者可以简化为更简单的OPSAT情况。然后的任何实例OPSAT与或是容易的。π 1 π 2 π 1 π 2 π 1 ∈ ģ π 2 ∈ ģ
三角函数门。考虑只有两个输入的两个门的满足:,,和。仅用门构成的电路只能接受字符串:用任何其他增量函数门进行补充可以使它们模拟,或,这是解决的情况;类似的说明适用于。同样,门集也可以用来模拟与NOR g ^ 10(X ,ÿ )= X ∧ ¬ Ý ģ 01(X ,ÿ )= ¬ X ∧ ý AND 1 * EQUAL π 1 π 2 NOR { G ^ 01,G ^ 10 } PARITY ģ 10 ģ 01 ż (X ,y )= 0 G 10 G 01门。因此,我们可能专注于门或,可能会加上门。我们关注,而情况与此类似。通过将任意电路应用于最后的位,然后应用电路可以构建仅由电路以接受(字符串除外)。。显然,字符串不能被或;我们可以通过归纳证明任何
ģ 10 1 (0 | 1 )ñ - 1个 11 ñ - 2 G ^ 10(X 1,G ^ 10(X 2,X 3))11 ģ 10 ż ģ 10 1 ž ģ 10 X ∈ 1 (0 | 10 | 11 )(0 | 1 )∗接受字符串的电路必须在最左边的分支中的门的中间结果全部产生,直到最左边的输入本身为止。通过添加门无法获得额外的好处。因此,电路只能接受。
最后,仅由门组成的电路不接受任何输入。ž
当每个门都产生一个定义明确且通常相当大的输入类别时,随着其他门趋于平息这个问题,我们发现2-TREE-OPSAT在P中。