Personal Homepage of Mark Kambites

MATH43011/63011 Computation and Complexity (2019-20)

This course is rested in 2018-19 due to the lecturer's other responsibilities, but will return in the academic year 2019-20.


Quite a lot of the mathematics you have studied so far involves using algorithms to solve computational problems. For example, you have probably used Euclid's algorithm to solve the problem of finding the greatest common divisor of two integers. In this course, we abstract a level further, and study the properties of problems and algorithms themselves. The kind of questions we ask are "is there an algorithm to solve every problem?" and "what problems can be solved by an efficient algorithm?".

Compared with most of mathematics, this area is in its infancy, and many important things remain unknown. The course will take you to the point where you understand the statement of one of the most important open questions in mathematics and computer science: the "P vs NP" problem, for which the Clay Mathematics Foundation is offering a $1,000,000 prize. And who knows, perhaps one day you will be the one to solve it!

Further Links

Course materials will be available later. In the meantime you may want to look at....
This page is maintained by Mark Kambites.   It was retrieved on 21st August 2019.   The text was last manually edited on 23rd May 2019 but dynamically generated content may have changed more recently.
Opinions expressed are those of the author and do not necessarily reflect policy of the University of Manchester or any other organisation.
Information is correct to the best of the author's knowledge but is provided without warranty.
All content is protected by copyright, and may not be reproduced or further distributed without permission.