Inhalt

[ INBIPVOBEKO ] VL Computability and Complexity

Versionsauswahl
(*) Unfortunately this information is not available in english.
Workload Education level Study areas Responsible person Hours per week Coordinating university
3 ECTS B2 - Bachelor's programme 2. year Computer Science Richard Küng 2 hpw Johannes Kepler University Linz
Detailed information
Original study plan Bachelor's programme Computer Science 2025W
Learning Outcomes
Competences
Students have a basic understanding of central issues in theoretical computer science, such as computability (can we really compute “something”?) and complexity (how expensive is it to compute “something”?). They can independently assess whether a programming or computational problem is easy to solve or, on the contrary, prohibitively difficult.
Skills Knowledge
Students can

  • recognize, formally describe and analyze finite automata (K2, K4, K5)
  • rigorously prove fundamental limitations of finite automata (keyword: pumping lemma) (K4, K3, K6)
  • recognize, formally describe and analyze Turing machines (K2, K4, K5)
  • are able to prove fundamental limitations of Turing machines with mathematical rigor (keyword: Halting theorem) (K4, K3, K6)
  • recognize and formally describe the most important complexity classes -- P, NP, PSPACE, PSIZE, P/poly EXP -- and classify existing computing challenges into these (K2, K4, K5)
  • explain the connection between NP and SAT (keywords: Cook-Levin theorem) intuitively and rigorously (K4, K5)
  • independently perform Karp reductions of a given NP-complete problem to SAT (K3, K4, K6)
  • Knowledge and understanding of the polynomial hierarchy and how to use a collapse of it for rigorous implications (K2, K3, K4, K5)
  • Recognize, formally describe and analyze logical circuits (K2, K4, K5)
  • Translate complexity statements from the Turing machine model into the circuit model and vice versa (K2, K3, K4)
  • logical/mathematical thinking
  • understanding, appreciating and performing proofs
  • fundamental limits of computability
  • landscape of complexity theory
  • and how to use it for arguments
  • switch between software model (Turing machine) and hardware model (logical circuits)
Criteria for evaluation Written exam
Methods Blackboard presentation
Language (*)Deutsch; English for written documents
Study material Lecture notes: R. Kueng, Introduction to Computational Complexity Link: https://www.jku.at/fileadmin/gruppen/180/kueng-complexity.pdf
Changing subject? No
Further information This lecture and the associated lab form an inseparable didactic unit. The learning outcomes presented here are achieved through the combined effect of the two courses.
Corresponding lecture (*)INBPCVOFOG2: VO Formale Grundlagen 2 (3 ECTS)
On-site course
Maximum number of participants -
Assignment procedure Direct assignment