We extend classical notions of computational complexity to the setting of distributed computing. Instead of a single computer, several networked computers communicate via synchronous message-passing to collectively solve some decision problem related to the network topology. Their running time is limited in two respects: the number of communication rounds is bounded by a constant, and the number of computation steps of each computer is polynomially bounded by the size of its local input and the messages it receives. By letting two players take turns assigning certificates to the computers, we obtain a generalization of the polynomial hierarchy (and hence of the complexity classes $\mathbf{P}$ and $\mathbf{NP}$). We then extend major results of complexity theory to this setting, in particular the Cook-Levin theorem (which identifies Boolean satisfiability as a complete problem for $\mathbf{NP}$), and Fagin's theorem (which characterizes $\mathbf{NP}$ as the problems expressible in existential second-order logic). The original results can be recovered as the special case where the network consists of a single computer. Moreover, perhaps surprisingly, the task of separating complexity classes becomes easier in the general case: we can show that our hierarchy is infinite, while it remains notoriously open whether the same is true in the case of a single computer. In contrast, a collapse of our hierarchy would have implied a collapse of the polynomial hierarchy.
翻译:我们将经典的计算复杂性概念推广到分布式计算场景中。多个联网计算机通过同步消息传递进行通信,共同解决与网络拓扑相关的判定问题。其运行时间受两方面限制:通信轮次被常数界限制,且每台计算机的计算步骤受其本地输入大小与接收消息的多项式界限制。通过让两个玩家轮流为计算机分配证书,我们得到了多项式层次(进而得到复杂性类$\mathbf{P}$和$\mathbf{NP}$)的推广。随后我们将复杂性理论的主要结果推广至该场景,特别是库克-列文定理(将布尔可满足性识别为$\mathbf{NP}$的完全问题)与费金定理(将$\mathbf{NP}$刻画为可用存在二阶逻辑表达的问题)。当网络仅由单台计算机构成时,可还原出原始结果。此外,或许令人惊讶的是,在一般情形下分离复杂性类的任务反而变得更容易:我们可以证明我们的层次是无限的,而单台计算机情形下相同问题是否成立仍是著名的开放问题。相反,若我们的层次发生坍缩,则将蕴含多项式层次的坍缩。