School of Computing Science

Algorithms and Complexity

Algorithms and Complexity research at Glasgow focuses on the theoretical design and analysis of efficient algorithms, establishing whether problems can be solved optimally or approximately. We also undertake practical algorithm engineering, experimentation, and research in constraint and integer programming.

Supported by two prestigious research fellowships, we exploit mathematical structure in real-world datasets to develop provably efficient algorithms, including applications to livestock disease modelling. We also develop algorithms for counting and enumerating optimal or near-optimal solutions, with potential applications in more personalised screening, diagnosis and treatment for several common diseases.

A major focus is matching agents to resources, including resident doctors to hospitals and kidney patients to donors. Our kidney exchange algorithms have been used by NHS Blood and Transplant to identify over 2,200 living-donor transplants. We also study university course and project allocation.

In algorithmic game theory, we investigate equilibrium computation, auction design, congestion games, revenue optimisation and smoothed running-time analysis, combining theoretical complexity results with applied mechanism design.

Our constraint programming and algorithm engineering research includes the EPSRC-funded Glasgow Subgraph Solver, independently described as the world's fastest subgraph isomorphism solver. We also develop proof logging for constraint solvers, enabling formally verifiable evidence of solution correctness in a standard format.

Project Highlights