- Department: Computer Science
- Credit value: 10 credits
- Credit level: I
- Academic year of delivery: 2022-23
Computability and Complexity
Pre-requisite modules
Co-requisite modules
- None
Prohibited combinations
- None
Occurrence | Teaching period |
---|---|
A | Autumn Term 2022-23 |
The aim of this module is to introduce basic concepts and results in computability theory and complexity theory. In particular, students will learn the concepts of Turing-recognizable languages and Turing-computable functions, and the difference between solvable and unsolvable problems. They will be able to prove unsolvability by reduction. They will understand the time and space complexity of Turing machines, and complexity classes such as P, NP, PSpace, NPSpace and NPC. They will be able to prove NP-completeness by reduction.
T301 |
Determine a language’s place in the Chomsky hierarchy (regular, context-free, context-sensitive or recursively enumerable). |
T302 |
Provide examples of unsolvable problems. |
T303 |
Prove that a problem is unsolvable by reducing a known unsolvable problem to it. |
T304 |
Explain the Church-Turing thesis and its significance. |
T305 |
Define the classes P and NP, and explain their relation to the class ExpTime. |
T306 |
Explain the significance of NP-completeness and provide examples of NP-complete problems. |
Task | % of module mark |
---|---|
Online Exam -less than 24hrs (Centrally scheduled) | 100 |
None
Task | % of module mark |
---|---|
Online Exam -less than 24hrs (Centrally scheduled) | 100 |
Feedback is provided through work in practical sessions, revision classes, and after the final assessment as per normal University guidelines.
**** Martin, John C., Introduction to Languages and the Theory of Computation (4th ed.), McGraw Hill, 2010
** Rich, Elaine, Automata, Computability and Complexity, Pearson Education, 2008
** Sipser, Michael, Introduction to the Theory of Computation (3rd ed.), South-Western College Publishing, 2012
* Hopcroft, John E. and Motwani, Rajeev and Ullman, Jeffrey D., Introduction to Automata Theory, Languages and Computation (3rd ed.), Pearson Education, 2013
* Arora, Sanjeev and Barak, Boaz, Computational Complexity: A Modern Approach, Cambridge University Press, 2009
++ Garey, Michael R. and Johnson, David S., Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, 1979