Lecture 1

We resolve computational problems (e.g. kidney matching and train scheduling) by first modelling them in terms of abstract data structures (e.g graphs). We note that the solutions to these problems respect these abstractions in the sense of being invariants of the these structures. We informally discuss the notion of a symmetric model of computation, i.e. algorithms that avoid breaking abstraction and so ensure isomorphism-invariant computation. As a case study we discuss the graph matching problem (which underlies kidney matching) and examine which of the algorithms used to solve this problem respect abstraction, and are thus symmetric in our sense, and which rely on details extrinsic to the graph (e.g. an arbitrary order on nodes). We note in particular that while it’s often easy to find some symmetric algorithm for a decidable problem, the interesting question is whether there is an efficient symmetric algorithm.

In this course we will discuss a number of different models of computation and how symmetry arrises in these various contexts, including in: logic, relational machines, circuits, and linear programming. The details of how these different models relate to one another will be discussed in later lectures. We begin by looking at how symmetric algorithms may be generated from high-level specifications, and in particular database query languages and logics. We discuss how these questions first arose in database theory and how formulas of well-known logics, e.g. first-order and second-order logic, and their extensions generate symmetric algorithms. We discuss how this topic was formalised in descriptive complexity, the subject concerned with understanding the relationship between high-level specification languages and conventional complexity classes (e.g. P and NP). In particular, we discuss Fagin’s theorem and the question of a logic for P.

We finally introduce symmetric circuits, a natural notion of a symmetric algorithm in the context of circuit complexity. We see how this notion captures what it means for an algorithm to respect abstraction and present a series of results establishing a tight connection between the computational power of symmetric circuits and logics of central importance in descriptive complexity.

Part 1

Part 2

Part 3

Further Details

The lecture slides are available here. The notes for the discussion sessions are to be found here.

Next