FPF:UIN1048 Computability and Complexity - Course Information
UIN1048 Computability and Complexity
Faculty of Philosophy and Science in OpavaWinter 2022
- Extent and Intensity
- 2/2/0. 6 credit(s). Type of Completion: zk (examination).
- Teacher(s)
- doc. Ing. Petr Sosík, Dr. (lecturer)
doc. Ing. Petr Sosík, Dr. (seminar tutor) - Guaranteed by
- doc. Ing. Petr Sosík, Dr.
Institute of Computer Science – Faculty of Philosophy and Science in Opava - Timetable
- Wed 10:35–12:10 B2
- Timetable of Seminar Groups:
- Prerequisites
- ( UIAI019 Fundamentals of TCS II || UIAI219 Fundamentals of TCS II || UIBUC09 Theory of languages and automa || UINK106 TLA II || UIN1006 TLA II ) && TYP_STUDIA(B)
- 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
- Applied Computer Science (programme FPF, B1802 AplI)
- Computer science in combination with another discipline (programme FPF, B1803 InDO)
- 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.
- Learning outcomes
- Students will be able to distinguish computer-computable and non-computable problems in practice. They will be able to determine at least basically the computational complexity of a given problem and adapt the way of its algorithmic solution.
- 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.
- 1. Characterization of mechanical computing, the Turing - Church thesis.
- 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
- Teaching methods
- Lecturing
Interactive lecture
Lecture with a video analysis - Assessment methods
- Exam
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
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
- Enrolment Statistics (Winter 2022, recent)
- Permalink: https://is.slu.cz/course/fpf/winter2022/UIN1048