计算单调函数,我们需要取多少否定值?


Answers:


21

马尔可夫证明,任何的功能n输入可以与只被计算⌈log⁡(n+1)⌉否定。Fisher描述了一种有效的建设性版本。另请参阅GLL博客的结果说明。

更确切地说:

定理:假设由电路计算ç与克栅极,那么它也由一个电路来计算c ^ *与2 克+ Ö (Ñ 2 日志2 Ñ )门和⌈ 日志(ñ + 1 )⌉否定。f:{0,1}n→{0,1}mCgC∗2g+O(n2log2⁡n)⌈log⁡(n+1)⌉

其主要思想是为每个线路中增加在ç一中并行线w ^ '在C ^ *总是携带的补w ^。基础案例是输入线:费舍尔描述了如何构造一个反转电路我(X )= ‾ X与ø (Ñ 2 日志2 Ñ )门和仅 ⌈ 日志(Ñ + 1 )⌉否定。对于电路C的AND门,我们可以增加一个wCw′C∗wI(x)=x¯O(n2log2⁡n)⌈log⁡(n+1)⌉C与一个' = b ' ∨ ç “,并且同样地对于OR门。C中的 NOT门不花任何钱,我们只是在NOT门下游交换 w和 w '的角色。这样,逆变器子电路以外的整个电路是单调的。a=b∧ca′=b′∨c′Cww′

AA马尔科夫。关于功能系统的反演复杂性。J. ACM,5(4):331-334,1958年。

MJ Fischer。否定限制网络的复杂性-简要调查。于《 自动机理论与形式语言》,71–82,1975年


它是P / poly电路吗?
— 匿名

2
是的,电路的大小从变为2 g + O (n 2 log 2 n ),其中n是输入数。我扩大了答复的范围,以包括对结果的更精确的陈述,并使之更加独立。g2g+O(n2log2⁡n)n
— mikero

4
P / poly中的某些显式(多输出)单调函数至少需要取反才能保留在P / poly中。log⁡n−O(log⁡log⁡n)
— Stasys

2
对于(在电路/公式/等功率否定的)这条线的问题,以下可能是相关的:eccc.hpi-web.de/report/2014/144,eprint.iacr.org/2014/902,和 ECCC。 hpi-web.de/report/2015/026。
— Clement C.

2
dimacs.rutgers.edu/TechnicalReports/abstracts/1995/95-31.html 2 g + O (n log n )就足够了。2g+O(nlog⁡n)
— EmilJeřábek支持Monica 2015年

1

如何计算的反转位使用Ñ否定2n−1n

Let the bits x0,…,x2n−1 be sorted in the decreasing order, i.e. i<j implies xi≥xj. This can be achieved by a monotone sorting network like the Ajtai–Komlós–Szemerédi sorting network.

2n−1In(x→)n=1I01(x→):=¬x0m=2n−1In (for 2m+1) bits to one In−1 gate (for m bits) and one negation gate using ∧ and ∨ gates. We use negation to compute ¬xm. For i<m let yi:=(xi∧¬xm)∨xm+i. We use In−1 to invert y→. Now we can define In as follows:

Iin:={Iin−1(y→)∧¬xmi<m¬xmi=mIin−1(y→)∨¬xmi<m

It is easy to verify this inverts x→ by considering the possible values of xn and using the fact that x→ is decreasing.

From Michael J. Fischer, The complexity of negation-limited networks - a brief survey, 1975.

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.