CS370

COMPUTATION & COMPLEXITY

Credits
5
Year
3
Semester
1
Department
COMPUTER SCIENCE

Overview

Computability theory: Turing machines and Church Turing thesis, decidable and recognisable languages, proofs of undecidability, Turing and many-one reducibility, Rice's theorem, the recursion theorem. Computational complexity: measures of complexity and asymptotic analysis. Complexity classes, P and NP; intra-class reductions; complexity analysis (best, worst, average case) of algorithms. More complexity classes, nondeterminism; NP-hardness, NP-completeness.

Learning Outcomes

  • Explain how some problems have no algorithmic solution
  • Provide examples that illustrate the concept of uncomputability
  • Define the classes P and NP
  • Explain the significance of NP-completeness
  • Prove that a problem is NP-complete by reducing a classic known NP-complete problem to it