评估运算电路的多线性化?


13

p(x1,,xn)是一个多元多项式,系数在场F。的multilinearization p,记为p,是反复替换每个结果X ð d > 1X 。结果显然是一个多元线性多项式。p^xidd>1xi

考虑以下问题:给定的运算电路C(x1,,xn)超过F和给定字段元件a1,,an,计算c ^一个1... 一个ÑC^(a1,,an)

问题:假设场算术可以在单位时间内完成,是否有多项式时间算法?稍后添加:我也对C实际上是一个公式(扇出的电路1)的特殊情况感兴趣。


1
为什么它等同于计算闭路输出?我现在面临的问题是,该电路可以具有从输入分离路径xi到几个内部乘法节点,并且评价这些内部乘法节点中的每一个将需要更换xi通过ai在一个路径,并通过1中的其他。在具有指数级路径的电路中,看起来需要处理的指数级案例数量很多。
slimton 2010年

2
@Kaveh:我不明白。看一下电路。如果你只是更换输入节点X与值由节点,并以标准方式评估你最终返回一个2,而不是一个。计算模型:图灵机​​上的正常多项式时间。如果需要,可以将字段视为Z / 3 Z来表示具体性。(xx)xaa2aZ/3Z
slimton 2010年

2
@Kaveh:我不明白这种算法如何暗示您的意思,但这确实与算术电路复杂度的一个普遍假设相矛盾:永久性没有多尺寸的算术电路(除F_2以外的其他域)。考虑多项式。多线性部分q该多项式的具有其最高程度(属性= 2 Ñ)部分只是- [R = ý 1个Ÿ 2ý Ñ P ë - [R Xp=i(jxijyj)q=2n。如果有一个小的算术电路计算q,那么就可以表明有一个小的算术电路计算rr=y1y2ynPer(x11,,xnn)qr
Srikanth

1
@Srikanth:在发布我的答案之前,我没有看到您的评论(结果与您在评论中给出的结构相同)。此后,我已经删除了我的答案,因此您应该发表评论作为答案。
约书亚·格罗肖

2
@Joshua:我不添加我的评论作为答案,因为我不明白为什么Kaveh的建筑可以工作。我看到算术电路计算出的所有输入均符合多元线性化的多项式,但我不确定它能正式计算出给定多项式的多元线性化(请参阅我在Kaveh回答后的评论)。我的构造(和您的构造)假设多重线性化是正式计算的。
Srikanth

Answers:


12

在字段的大小至少为2 n的情况下,我认为这个问题很难解决。更具体地说,我认为如果对于F这么大可以有效地解决上述问题,那么CNF-SAT具有高效的随机算法。假设我们都给出了CNF公式φ。人们可以很容易想出的运算电路Ç,计算一个``算术化“” pφ,其中该多项式p与式同意φ0 - 1输入。考虑multilinearization qp。注意qF2nFφCpφpφ01qpq与同意,因而φ{ 0 1 } Ñpφ{0,1}n

我声称是非零的,如果φ是可以满足的。显然,如果q = 0,则φ不能满足。为相反的,可以显示出任何非零多重线性多项式不能在所有的消失{ 0 1 } Ñ。这意味着一个非零q(以及因此相应的φ)不会在一些输入消失{ 0 1 } Ñqφq=0φ{0,1}nqφ{0,1}n

因此,检查可满足性等同于检查q是否为非零。现在说,我们可以在一个大字段F上评估q。然后,使用Schwartz-Zippel Lemma,我们可以使用高效的随机算法对q进行身份测试,并检查它是否为零多项式(F的大小用于限制Schwartz-Zippel Lemma中的误差)。φqqFqF


在我看来,F是固定字段,因为在输入中没有指定F的内容。还请注意,该问题假定字段运算花费单位时间。
卡夫

谢谢Srikanth。正如Kaveh猜想的那样,我的确对固定有限域的情况感兴趣,但是您给出的这个答案使我对问题的理解更好了。
slimton 2010年

3

假定有polytime算法给出一个计算的多线性化的结果Ç一个。(wlog我将假设输出b将向量p位二进制数b ķ当且仅当b ķ是一个)。C(x)F(x)aCabpbikbi,k

由于,有一个polysize布尔电路,鉴于运算电路和用于变量的值的编码计算所输入的运算电路的多线性化。让我们把这个电路中号PP/polyM

为任意算术电路。固定描述运算电路的布尔电路M的变量,因此我们有一个布尔电路计算给定输入上C的多线性化。CMC

Fpxp110p1fgf.gfgf+gf.g¬f1f

Fpbi0kp1kbi,k

Fp2 X X + 1 2 X X + 2 X ˚F 3mod32x(x+1)2x(x+2)xF3

组合这些我们有超过运算电路计算的多线性化与尺寸大小polynomail。 Ç ÇFpCC


2
我不清楚您所描述的算术电路为什么会计算的多元线性化,或者甚至是多元线性多项式。我只能够看到,运算电路计算某些多项式具有的multilinearization同意在 -输入。C 0 1CC01
Srikanth

@Srikanth:布尔电路的算术版本(固定了一些输入)计算的多线性版本,它不必是多线性的。然后唯一的问题是输入/输出是二进制值,不是值,因此我只需要将输入/输出的编码从二进制值固定为原始输入和输出值即可。生成的电路是一个算术电路,它获取变量的值,以二进制形式对它们进行编码,计算这些输入上的多线性化的值,并以二进制形式输出答案,然后将其转换回。C F p C C F pMCFpCCFp
卡夫

[续]结果是一个运算电路,具有与相同的变量,并且具有相同的输出,并且正在计算的多线性化。çCC
卡夫

2
@Kaveh:你假定输入布尔电路是相同的形式输出的?无论如何,我仍然不相信。算术电路完全有可能计算出一个多项式,该多项式在该场的所有输入处都与多项式,而。例如,多项式在所有输入处均与一致,但它们并不等于多项式。您怎么知道电路并不是在简单地计算一个与所有输入的的多线性化相符的非线性多项式?M f g f g x p x M CMMfgfgxpxMC
斯里坎特

@Srikanth:我已经在答案中描述了输入和输出的形式。的输入为二进制,的输出为上述形式。我没有说它是多线性的,我只是说它计算的多线性化M CMMC
卡夫
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.