确定具有输入位和输出位的电路是否计算的排列的复杂性是什么?换句话说,中的每个位串是否都是 某个输入的电路输出?它看起来像一个已经研究过的问题,但是我找不到任何参考。Ñ { 0 ,1 } Ñ
确定具有输入位和输出位的电路是否计算的排列的复杂性是什么?换句话说,中的每个位串是否都是 某个输入的电路输出?它看起来像一个已经研究过的问题,但是我找不到任何参考。Ñ { 0 ,1 } Ñ
Answers:
根据您对问题的评论,我们将调用一个电路,其中每个输出位最多取决于 k个输入位的电路称为“ NC 0 k电路”。使用此术语,对于NC 0 5电路,您的问题是coNP完全的。即,以下问题是coNP完全的。
实例:具有n个输入位和n个布尔电路C输出位其中每个输出位最多取决于五个输入位。
问题:{0,1} n到其自身的映射是否由C双射算出的?
正如Kaveh所评论的那样,即使没有限制每个输出位所依赖的输入位的数量,它显然也处于coNP中。为了证明coNP硬度,我们将3SAT减少到当前问题的补充。减少的关键思想与Durand在论文[Dur94]中使用的思想相同,我在对该问题的评论中提到过,但是在我们的案例中,整个减少过程要简单得多。
给定一个具有n个变量和m个子句的3CNF公式φ,我们构造具有(n + m)个输入位和(n + m)个输出位的布尔电路C,如下所示。我们标记输入比特为X 1,...,X Ñ,ÿ 1,...,ÿ 米,并且输出位作为X ' 1,...,X ' Ñ,Ž 1,...,ž 米。我们认为输入位x1,…,x n为φ中的n个变量指定一个真值分配。
注意,每个输出位最多取决于五个输入位。我省略了减少的正确性的证明,但是关键思想(我是从[Dur94]借来的)是,如果φ是可满足的,并且输入位x 1,…,x n被设置为φ的令人满意的赋值,则所述米输出位ž 1,...,ž 米被约束为具有偶校验,因此电路不能是置换。另一方面,如果输入位x 1,…,x n设置为 φ的不令人满意的分配,则输出位 z1,…,z m可以设置为任何值;因此,如果φ不满足,则电路是一个排列。
在易处理方面,对于NC 0 2电路,您的问题出在P上。如下所示。通常,布尔电路中用于置换的每个输出位是平衡的;也就是说,恰好一半的输入字符串将输出位设置为1。但是,从{0,1} 2到{0,1}的每个平衡布尔函数都是仿射的;即单个输入位的副本,两个输入位的XOR或它们的取反。因此,我们可以首先检查每个输出位是否平衡,然后通过高斯消去法检查双射性。
对于NC 0 3电路或NC,我不知道复杂性 0 4电路,。
[Dur94]布鲁诺·杜兰德。二维细胞自动机的反演:导致一些复杂性。 理论计算机科学,134(2):387–401,1994年11月。DOI:10.1016 / 0304-3975(94)90244-5。