Find a university to explore its courses and reviews.
This course covers standard machine models and formal specifications of the classes of computational problems they can solve. The central concepts are the Turing machine, the classes of decidable and computably enumerable languages, and subclasses of decidable problems ranked according to complexity. The Halting Problem and other natural problems are shown to be undecidable by Turing machines, implying that they are undecidable by high-level programming languages or any other known computational model. Finite automata, which are Turing machines without external memory, are shown to correspond to the class of regular languages. Major topics include time and space complexity of Turing machines, reducibility between problems, NP-completeness, and completeness for other classes. Models of probabilistic computation and quantum computation are also explored.
Be the first to review this course!