评估一批类似输入的布尔电路


10

假设我有一个布尔电路,它计算一些函数。假设电路由AND,OR和NOT门组成,扇入和扇出最多为2。Cf:{0,1}n{0,1}

令是给定的输入。给定和,我想在单个位位置上对不同于的输入求,即计算值,其中与相同,除了第位被翻转。x{0,1}nCxCnxnC(x1),C(x2),,C(xn)xixi

有没有办法比在不同的输入上独立评估次更有效?C nn

假设包含门。然后,对所有输入进行独立评估将花费时间。有没有一种方法可以在时间内计算?CmCnO(mn)C(x1),C(x2),,C(xn)o(mn)


可选上下文:如果我们在有一个算术电路(其门是乘法,加法和加法运算),则可以计算方向导数以时间表示。基本上,我们可以使用标准方法以计算梯度(反向传播/链式规则Rnfxi(x)O(m)O(m)时间。之所以有效,是因为相应的功能是连续且可微的。我想知道布尔电路是否可以做类似的事情。布尔电路不是连续的和可微的,所以您不能做同样的事情,但是也许还有其他一些聪明的技术可以使用?也许是某种傅立叶把戏,还是什么?

(变体问题:如果我们有布尔扇门具有无限扇入和扇出扇形,那么您可以做渐近比评估次更好吗?)C n


1
由于安德鲁很好地回答了您的问题,所以我只留下评论。如果大(例如),并且您正在许多输入上评估(最大),那么的大小仅为可以在任何输入上求(该问题在文献中也称为“批量生产”。)请参阅Uhlig,“关于由功能元件和少量可靠元件合成自校正方案”。数学笔记Acad.Sci。苏联15,558--562。因此,在某些情况下,您可以对非均匀性做得更好。mO(2n/n)C2o(n/logn)CO(2n/n)Cm
瑞安·威廉姆斯

Answers:


10

我认为这样的技巧不太容易找到和/或会给您带来可观的收益,因为它会带来非平凡的可满足性算法。就是这样:

首先,从表面上看,它很容易实现,但实际上可以解决更普遍的问题:给定电路和输入,在所有输入处求的速度比时间。原因是我们可以将调整为大小的电路。,在输入输出。基本上,我们只是使发送一个小查找表到,并将其连接到。CNx0,,xN1CO~(N|C|)CC|C|+O~(Nn)0i10N1iC(xi)0i10N1ixiC

然后可以使用用于布尔电路批处理评估的非平凡算法来制作快速可满足性算法。这是一个简单示例,其中我们假设有一个算法在时间对于任何常数。在输入电路,我们可以通过将扩展为大小为的电路来确定可满足性这只是对的前输入的所有可能选择的“(使其他输入自由)。然后,我们对所有进行批量评估O~(|C|2ϵ+(N|C|)1ϵ/2+N2ϵ)ϵ>0CCC2n/2|C|n/2CC2n/2输入。最终结果是,我们发现对的满意分配,前提是是可满足的。运行时间为。CCO~(2(n/2)(2ϵ)|C|2ϵ)=O~(2n(1ϵ/2)poly(|C|))

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.