Symmetric Computation (Invited Talk)

Anuj Dawar, Michael Wagner
2020 Annual Conference for Computer Science Logic  
We discuss a recent convergence of notions of symmetric computation arising in the theory of linear programming, in logic and in circuit complexity. This leads us to a coherent and robust definition of problems that are efficiently and symmetrically solvable. This is at once a rich class of problems and one for which we have methods for proving lower bounds. In this paper, we take a tour through results which show applications of these methods in a number of areas. ACM Subject Classification
more » ... ory of computation → Circuit complexity; Theory of computation → Complexity theory and logic; Theory of computation → Finite Model Theory; Theory of computation → Complexity classes It has been said that computer science is the science of abstraction. Aho and Ullman in their seminal book Foundations of Computer Science [1] call it the "mechanization of abstraction". To model a part of the world computationally is to forget (or "abstract away") the features that are unnecessary to the computational task at hand and keep only the essential elements in a suitable data model. For example, a widely used data model in the world of algorithm design is that of graphs, which captures a collection of entities and their pairwise relationships. The relationships could reflect compatibility of kidney donors with patients needing transplants or they could pair riders with drivers in a car-pooling system. Once the details are abstracted away, we can use exactly the same graph matching algorithm to find a suitable matching in either system. Yet, in the field of computational complexity, which studies the resources required by algorithms and aims to elucidate why some computational problems are inherently intractable, algorithms are usually modelled as Turing machines, a low-level model working on strings of bits. This mismatch between the levels of abstraction at which algorithms are formulated, and at which complexity is analyzed is tied to persistent obstacles in complexity theory. An important feature that distinguishes an abstract data structure, such as a graph, from its concrete representation, such as a pointer list, are its symmetries. In a graph, two vertices may appear identical and therefore interchangeable while their concrete representations are distinguished by some feature (such as actual pointer values) that is hidden by the abstraction. Algorithms that work at the higher level of abstraction must respect the symmetries in the abstract data. We use the term symmetric computation to describe computation at the abstract level that respects the inherent symmetries of the data. The mismatch between algorithms working on high-level data structures and complexity defined in terms of low-level machines is one of the central concerns of the field of descriptive complexity, which seeks to formulate a theory of complexity at the level of high-level
doi:10.4230/lipics.csl.2020.2 dblp:conf/csl/Dawar20 fatcat:jdwa32g6rnfxhh5ed7mnjayrwe