UIDI011 Theory of Computability and Complexity

Faculty of Philosophy and Science in Opava
Summer 2021
Extent and Intensity
0/0/0. 0 credit(s). Type of Completion: dzk.
Guaranteed by
doc. Ing. Petr Sosík, Dr.
Institute of Computer Science – Faculty of Philosophy and Science in Opava
Prerequisites
- basics of theory of formal languages and automata
- basic course of calculus and algebra
- elements of propositional logic
- elements of graph theory
- procedural programming and basic algorithms (sorting, searching, graph algorithms)
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
Course objectives
Abstract machine models of computation - the Turing Machine and the RAM - are introduced. The concept of machine computability is built on their basis. The existence of non-computable problems is proven and their examples given. In the second part of the course, asymptotical time and space complexity of algorithms is introduced. This allows to describe the consumption of time and space of algorithms without fixing to any particular computing machine. Elementary complexity classes and their properties are studied, with special emphasis on the classes P and NP.
Syllabus
  • 1. Characterization of mechanical computing, the Turing - Church thesis.
    2. Turing Machine and its variants, universal Turing machine.
    3. Recursive and recursively enumerate sets, the diagonalization method.
    4. Decidable and undecidable problems, the reduction method.
    5. Rice Theorem, practical applications of the computability theory.
    6. Evaluation of time an space complexity of computer algorithms.
    7. Classes DTIME and DSPACE. Non-deterministic Turing machine, classes NTIME and NSPACE.
    8. The RAM machine and its computing power. Relations of the Turing Machine and RAM.
    9. Linear sped-up theorem and tape compression theorem, elementary complexity classes.
    10. Time and space hierarchy.
    11. Relations of time and space complexity classes.
    12. Reducibility and completeness, NP-complete problems.
Literature
    required literature
  • Sosík, P. Teorie vyčíslitelnosti. Online studijní text. Opava: FPF SU, 1996. info
  • Černá, I. Úvod do teórie zložitosti. Brno: FI MU, 1993. info
    recommended literature
  • Hopcroft, J. E., Motwani, R., Ullman, J. D. Introduction to Automata Theory, Languages and Computation. Upper Saddle River: Pearson Education Inc.,, 2003. info
    not specified
  • Sipser, M. Introduction to the Theory of Computation. Boston, 2006. ISBN 978-0-619-21764-2. info
  • Wiedermann, J. Teorie složitosti sekvenčních a paralelních výpočtů. Online studijní text. ÚI AV ČR, Praha, 2003. info
Teaching methods
Lecturing
Interactive lecture
Lecture with a video analysis
Assessment methods
Exam
Language of instruction
Czech
Further comments (probably available only in Czech)
The course can also be completed outside the examination period.
Teacher's information
Course-credit:
- construction of a Turing machine due to an individual assignment
- at least 50% evaluation of written tests in the seminar classes
Exam:
- at least 50% evaluation of the written final test including the whole course topics
The course is also listed under the following terms Winter 2006, Summer 2007, Winter 2007, Summer 2008, Winter 2008, Summer 2009, Winter 2009, Summer 2010, Winter 2010, Summer 2011, Winter 2011, Summer 2012, Winter 2012, Summer 2013, Winter 2013, Summer 2014, Winter 2014, Summer 2015, Winter 2015, Summer 2016, Winter 2016, Summer 2017, Winter 2017, Summer 2018, Winter 2018, Summer 2019, Winter 2019, Summer 2020, Winter 2020, Winter 2021, Summer 2022.
  • Enrolment Statistics (Summer 2021, recent)
  • Permalink: https://is.slu.cz/course/fpf/summer2021/UIDI011