寻找运算符满足布尔变量NP列表的问题是否完整?


11

这类似于SAT,除了我们知道每个变量的赋值,但不知道任何布尔运算符的赋值。在那种情况下,是否找到每个运算符的赋值,以便表达式对给定的布尔值求值是一个NPC问题?

实际上,我想知道是否找到算术运算符的分配来满足整数算术表达式(例如 = 10)是否完成了NP?1 1 ö p 1op1 3 3 ö p 2op2 7 7 ö p 3op3 ö p 4op4


2
因此,如果我理解正确,您就会知道该公式是可满足的,并且您想知道布尔运算符的赋值。只需将运算符分配给所有“运算符变量”即可。我不知道第二个问题,但这看起来很有趣。
乔治,

3
@GeorgeB:我认为解决方案不正确。如果所有布尔值都设置为false怎么办?这个问题很有趣,但是可能需要一些工作。我们从哪一组布尔运算符中选择?大概是指一个有趣的二进制布尔运算子集,例如{ }{ }。如果包括所有二进制布尔运算符,那么问题就微不足道-只需将常量映射选择为“ true”即可。
哈克·贝内特

1
正如哈克说,拾取X ö p ý = 1对于所有。但是,如果将运算符限制为特定集合,则该问题将更加有趣。对于算术情况类似。X Ò p一世ÿ= 1一世
卡夫

看来它可能与QBF有某种联系,或者可能减少了。可能会构造出一个QBF,当求解时,该QBF会给运算符。对?在快速检查中,看起来它可能是Pspace完整的...如果没有括号,还必须定义优先级。AND高于OR?该问题似乎更自然,也许可以定义括号/分组。
vzn 2012年

@乔治B. 对不起,我没有说清楚。布尔表达式的评估可以是任何给定的布尔值,为0或1
DSounders

Answers:


10

通过加减,我认为对NP困难的分区问题可以归结为第二个问题。

给定集合S = { s 1s 2s n },我们创建问题小号= { s1个2sñ}

小号1 ö p 1 小号2 ö p 2 小号3 ö p 3 ... ö p ñ - 1个小号ñ = 0s1个 Ø p1个 s2 Ø p2 s3 Ø p3 ... Ø pn 1 sñ= 0

如果存在解决方案,我们将创建两个集合:

S 1 = { s 1 } { s i | o p i 1 = + }小号1个= { s1个} { s一世| Ø pi 1= + }

S 2 = { s i | o p i 1 = }小号2= { s一世| Ø pi 1= - }

通过我们原始问题的设置,这两个集合必须具有相同的总和,因此可以解决分区问题。这表明不仅很难为该问题提供实际的解决方案,而且实际上NP也很难确定是否存在解决方案(至少对于加法和减法而言)。

对于不允许创建负整数的一组运算(例如乘法和加法),目前尚不清楚。而且,这仅表明该问题对NP的影响很弱。可能会产生比此更强的结果。


1
我认为您的证明可以很容易地适应× / ÷情况,只需将目标问题设置为s 1s n = 1即可。然后,一个解决方案意味着分母与分子相同(假设所有i的s i > 0)。当然,这不会给出四位运算符的情况,但随后我们还必须处理操作的顺序。× / ÷s1个ñ= 1s一世> 0一世
路加·马蒂森

谢谢,@ Sam和Luke。如果我们混合使用所有四个运算符怎么办?凭直觉拥有更多的运算符只会使问题变得更加复杂,但是我看不到直接的证明。
DSounders 2012年

还在考虑所有四个。我们也可以轻松获得+ / ÷,但是一次仍然只有两个。+ / ÷
路加·马蒂森

1
另外,对于(强)的参考Ñ P产品分区的-completeness:“‘产品分区’和的调度和系统可靠性相关的问题:计算的复杂性和近似” sciencedirect.com/science/article/pii/S0377221710003905ñP
卢克梅赛森

4

简短的答案。SAT的运算符版本可以有效解决-至少,如果我们假设任意输入的门输入选择电路都没有扇出,则假设两个输入门的任意电路。

长答案。 我假设布尔问题的形式如下:

2棵树-OPSAT。给定一个输入X { 0 1 } ÑÑ 2和栅极组ģ由2输入一输出门,确实存在一个电路Ç在由门ģ其中接受X,也就是,这是给定输入x时是否满足(按顺序将x的位映射到电路C的叶子)?X { 0 1 }ñÑ 2GCG XXXC

特别是,我们在电路C上没有施加任何特定的结构(除了是二叉树之外),不允许扇出(因此x的每个位仅使用一次),并且门可能是不对称的。通过仅允许两位门,我排除了门(但是可以通过具有多个通过取反相互关联的门来模拟,例如 / 与非;并且我也排除那些只输出没有输入常数的常数的门,使门电路中的数量将实际上总是ñ - 1用于ñ位输入为简洁起见,我将提到。2-TREE-OPSAT以下简称为CXn 1ñOPSAT ; 尽管对于允许任意k输入门(k-TREE-OPSAT)或允许扇出(我们可能称为k-FANOUT-OPSAT)的电路,问题的分析可能变得更加困难。

[ 编辑补充:我们可以很容易适应这种考虑你的问题的当前版本中,我们试图映射一个给定的更普遍的问题X { 0 1 } *为目标值b { 0 1 },在以下分析中互换01的角色;这具有互换的作用的效果ANDORNANDNOR ] X { 0 1 }b { 0 1 }01个

对于的固定选择,选择具有合适门的合适树的问题与逻辑分离无异:使用诸如等价物 我们可以在将更复杂的门集与简单(且功能强大)的门集相关的集合之间执行归约。一个人可以说,通过明智地选择某些元素(与特定的输入一起显示),与一个门具有相同的效果,一个门集能够模仿不属于该门集的其他门。。特别是,门的某些组合(例如)可以模拟常数函数,得出X { 0 1 } Ñ ORX ÿ X { 0 1 }ñ ANDxyPARITYX ÿ ģ ģ ģ { ORNAND } 1

要么x yx y平价x y
Gg ^{ NAND }1个:我们说这样的门集是互斥的

我们通过考虑包括不同类型的门门集,随后从以后的分析案例中排除那些门来表明,涉及任何一个门的门集都会导致一个棘手的问题。我们将从满足恒定门数的两位串的数量顺序开始,从常数门到常数门开始。G 1 0G1个0

  1. 对于包含常数门任何门集合,我们可以仅使用该门简单地构建电路,在这种情况下接受任何。G G x y = 1 C C xGģ X ÿ= 1CCX

  2. 或和与非。对于包含任何门集:如果所有其他门满足,那么选择任何其他门没有任何优势,但在构建电路。只有门的电路可以接受除外的任何字符串。否则,存在一个门使得是互斥的。因此,带有任何OPSAT实例都是容易的;并且类似的注释适用。ģ OR ģ ģ ģ X ÿ G要么g ^ g ^ORX ÿ OR Ç OR X 0 * g ^ ģ { g ^ OR } ORģ NANDģģ X ÿ要么x y要么C要么X 0g ^ g ^{ g ^ OR }OR g ^NAND ģ

  3. 隐含的门。考虑门,如果,则仅输出零。对于接下来的内容,类似的分析将适用于门。 考虑任何字符串。如果端部,分解入形式的子串 ; 在每个这样的,我们从右到左递归应用,这对于每个产生输出。(对于长度为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ģ X ÿ= ¬ X ÿx y= 1 0 Gx y= X ¬ ÿ

    X { 0 1 }ñX0XwĴ= 10wĴG0wĴX以结尾,将分解为形式的子字符串,然后对每个从左到右递归应用,这将为每个产生输出。因此,我们可以将问题简化为构建满足或,其中是子串或。对于,我们可以通过从左到右递归应用来接受使用门。只是这样1个XĴ = 0 * 1 ģ 瓦特Ĵ 1 瓦特Ĵ 0 1 1 * 0 0 * 1 2 ģ ģ = 1 X 1 * 0 X = 1 * 0 ģ 1 * 0 0 ģ ħ ģ ħ 1 0 = 1 { g ^ ħwĴ= 01个GwĴ1个wĴ01个1个001个2GGm = 1,对于有问题的情况,输入。对于,任何仅由门组成的电路将只产生形式为较短的串,最终产生单位串:因此,门不能满足任何电路此输入。如果还存在一个门其,则是异体的;或者,如果存在一个门中的,我们可以简化形式为字符串X 10

    x = 10G1个00GHg ^H1 0 = 1} ħ ģ ħ 1 1 = 0 11 * 0 1 * 0 * H ^ X X 1 * 0 ģ{ G H}Hg ^H1 1 = 0110通过将应用于前两位,将字符串转换为形式的字符串。否则,将无法构造接受。 因此,对于包含蕴含类门的任何门集 mathOPSAT是容易的。10 HXX 10

    G

  4. 否定投影。考虑门和。我们认为与的分析相似。就其本身而言,可以接受任何字符串为通过减少最终位以单个比特,然后应用 ; 并且它可以通过将最后的位减少为一位,然后应用电路类似地,对接受¬ π 1X ÿ = ¬ X ¬ π 2X ÿ = ¬ Ý ¬ π 1 ¬ π 2 ¬ π 1 0 0 | 1 ñ - 1 ñ 2 Ñ - 1 ¬ π 1 1 0 | 1 ñ - 1 ñ 3¬ π1个x y= ¬ X¬ π2x y= ¬ ÿ¬ π1个¬ π2¬π10(0|1)n1n2n1¬π11(0|1)n1n3ñ - 2 ¬ π 1¬ π 1X 1X 2X 3¬ π 1 10 11n2¬π1(¬π1(x1,x2),x3)。电路不能接受的唯一输入为或;确定任何补充门是否接受这些都是微不足道的。因此,OPSAT对于投影的求反很容易。¬π11011

  5. 奇偶与平等。考虑门。门集显然只能由奇数1s 的字符串精确地满足;我们考虑添加任何其他门的好处。PARITYX Ý = X ¬ Ý ¬ X Ý ģ = { PARITY } X { 0 1 } ÑPARITY(x,y)=(x¬y)(¬xy)G={PARITY}x{0,1}n

    • 任何同时包含和或 都可以模拟分别为固定输入包含 或门的电路。OPSAT的简单案例。PARITY NORX ÿ = ¬ X Ý OR NANDPARITYANDNOR(x,y)=¬(xy)ORNAND
    • 任一或可用于任一模拟或上偶校验的两比特串,以便我们可以减少与这些栅极集门和到前面的情况。π 1X ÿ = X π 2X ÿ = ÿ AND NOR PARITYπ1(x,y)=xπ2(x,y)=yANDNORPARITY
    • PARITY EQUAL = ¬ PARITYPARITY与是不言而喻的。EQUAL=¬PARITY
    • 如果我们补充与栅极,我们可以接受除了任何偶数奇偶校验串通过施加,以的字符串,然后将电路应用于其余部分。类似地,与可以接受任何字符串,但形式为字符串除外。同时使用和补充允许我们构建接受除和PARITY ģ 01 = ¬ X Ý X 11 * 0 * ģ 01 01 X PARITY PARITY ģ 10 = X ¬ ý X 0 *11 * PARITY ģ 01 ģ 10 X 0 * X = 11PARITYG01=¬xyx(11)0G0101xPARITYPARITYG10=x¬yx0(11)PARITY
    • 最后,如果我们用常数门补充,则可以通过将门应用于来接受除或之外的任何输入。子字符串或,减少为奇校验位。PARITY Ž X ÿ = 0 X 11 * X 0 * ģ 01 10

    因此,OPSAT对于任何包含 math都是容易的。门和门也适用类似的分析:因为,电路的门基本上计数的数目的奇偶性 S IN的输入端。然后,我们可以通过交换和的分析减少为的分析。ģ PARITY EQUAL PARITY EQUALX ÿ = ¬ PARITYX ÿ = ¬ PARITY¬ X ¬ ÿ EQUAL 0 EQUAL PARITY 0 1

  6. 投影门。使用的门和只能建立分别接受以开头或结尾的字符串的电路。考虑用其他任何门来增加门的效果(类似的分析适用于):π 1X ÿ = X π 2X ÿ = ÿ 1 π 1 π 2

    • 同时允许和可以构建“选择”电路,该电路仅从输入中输出任何一位。这些可以接受任何,并与任何补充栅极他们针对允许满意电路用于任何建造。π 1 π 2 X 0 Ñ ģ ģ 0 0 = 1 X
    • 如果我们用或补充,我们可以为固定输入模拟或类似蕴含的门;这两种情况都解决了OPSAT问题。π 1 NOR g ^ 01 = ¬ X ÿ OR
    • 如果我们给添加,,常数门或它们的任意组合,我们将没有额外的接受能力,因此我们仍然只能接受以开头的字符串。π 1 G ^ 10 = X ¬ Ý Ž X Ý = 0 1

    因此,对于其他任何门,我们都可以用(或)来补充,我们要么获得一个集,要么仅获得(或)就没有额外的接受能力,或者可以简化为更简单的OPSAT情况。然后的任何实例OPSAT与或是容易的。π 1 π 2 π 1 π 2 π 1ģ π 2ģ

  7. 三角函数门。考虑只有两个输入的两个门的满足:,,和。仅用门构成的电路只能接受字符串:用任何其他增量函数门进行补充可以使它们模拟,或,这是解决的情况;类似的说明适用于。同样,门集也可以用来模拟NOR g ^ 10X ÿ = X ¬ Ý ģ 01X ÿ = ¬ X ý AND 1 * EQUAL π 1 π 2 NOR { G ^ 01G ^ 10 } PARITY ģ 10 ģ 01 ż X y = 0 G 10 G 01门。因此,我们可能专注于门或,可能会加上门。我们关注,而情况与此类似。通过将任意电路应用于最后的位,然后应用电路可以构建仅由电路以接受(字符串除外)。。显然,字符串不能被或;我们可以通过归纳证明任何

    ģ 10 1 0 | 1 ñ - 1个 11 ñ - 2 G ^ 10X 1G ^ 10X 2X 311 ģ 10 ż ģ 10 1 ž ģ 10 X 1 0 | 10 | 11 0 | 1 接受字符串的电路必须在最左边的分支中的门的中间结果全部产生,直到最左边的输入本身为止。通过添加门无法获得额外的好处。因此,电路只能接受。

  8. 最后,仅由门组成的电路不接受任何输入。ž

当每个门都产生一个定义明确且通常相当大的输入类别时,随着其他门趋于平息这个问题,我们发现2-TREE-OPSATP中


1
@DSounders:关于您最近对问题的修订,确定是否存在将映射到某个目标值的电路,而不仅仅是特殊情况,如我现在的答案所示的分析仍然足以表明问题在P中 ; 只有大门的作用改变了。例如,在交换期望的结果和,我们有效地交换了ANDORNANDNOR,类似于蕴涵的门与其他delta函数的角色Ç X b { 0 1 } b = 1 0 1
Niel de Beaudrap 2012年
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.