Course detail

Complexity

FIT-SLOAcad. year: 2009/2010

This course covers the following themes: Matematical models of computation ( skeleton language, RAM, RASP models and their connection with Turing machines), time complexity, complexity classes, P and NP, NP-completness, important NP-complete problems, satisfability problem and its variants, other NP-problems, NP and co-NP languages, space complexity, PS and NPS languages, PS-complete languages, language classes based on randomization, applications of computational complexity theory - cryptography and one-way functions.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

Understanding theoretical and practical limits of arbitrary computational systems.

Prerequisites

There are no prerequisites

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

Study evaluation is based on marks obtained for specified items. Minimimum number of marks to pass is 50.

Course curriculum

  • Introduction. Complexity, time and space complexity.
  • Matematical models of computation. Skeleton language.
  • RAM, RASP machines and their relation with Turing machines.
  • Nondeterminism. Oracle machines. Reducibility.
  • P and NP. Examples: Kruskal, Traveling Salesman.
  • NP-completness. NP-complete problems.
  • Satisfability problem and its variants.
  • Other NP-problems.
  • NP and co-NP languages.
  • Space complexity, PS and NPS languages.
  • PS-complete languages.
  • Language classes based on randomization - classes RP and ZPP.
  • Applications: Cryptography and one-way functions.

Work placements

Not applicable.

Aims

To learn mathematical models of computation and complexity theory.

Specification of controlled education, way of implementation and compensation for absences

Projects.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Gruska, J.: Foundations of Computing, International Thomson Computer Press, 1997, ISBN 1-85032-243-0 Bovet, D.P., Crescenzi, P.: Introduction to the Theory of Complexity, Prentice Hall International Series in Computer Science, 1994, ISBN 0-13915-380-2 Hopcroft, J.E. et al: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2001, ISBN 0-201-44124-1

Recommended reading

Gruska, J.: Foundations of Computing, International Thomson Computer Press, 1997, ISBN 1-85032-243-0 Bovet, D.P., Crescenzi, P.: Introduction to the Theory of Complexity, Prentice Hall International Series in Computer Science, 1994, ISBN 0-13915-380-2 Hopcroft, J.E. et al: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2001, ISBN 0-201-44124-1 Goldreich, O.: Computational Complexity: A Conceptual Perspective, Cambridge University Press, 2008, ISBN 0-521-88473-X Kozen, D.C.: Theory of Computation, Springer, 2006, ISBN 1-846-28297-7

Classification of course in study plans

  • Programme IT-MSC-2 Master's

    branch MBI , 0 year of study, summer semester, elective
    branch MBS , 0 year of study, summer semester, elective
    branch MGM , 0 year of study, summer semester, elective
    branch MGM , 0 year of study, summer semester, elective
    branch MIN , 0 year of study, summer semester, compulsory-optional
    branch MIN , 2 year of study, summer semester, elective
    branch MIS , 1 year of study, summer semester, elective
    branch MIS , 1 year of study, summer semester, elective
    branch MMI , 0 year of study, summer semester, elective
    branch MMM , 1 year of study, summer semester, compulsory-optional
    branch MPS , 0 year of study, summer semester, elective
    branch MPV , 0 year of study, summer semester, elective
    branch MSK , 0 year of study, summer semester, elective

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

  • Introduction. Complexity, time and space complexity.
  • Matematical models of computation. Skeleton language.
  • RAM, RASP machines and their relation with Turing machines.
  • Nondeterminism. Oracle machines. Reducibility.
  • P and NP. Examples: Kruskal, Traveling Salesman.
  • NP-completness. NP-complete problems.
  • Satisfability problem and its variants.
  • Other NP-problems.
  • NP and co-NP languages.
  • Space complexity, PS and NPS languages.
  • PS-complete languages.
  • Language classes based on randomization - classes RP and ZPP.
  • Applications: Cryptography and one-way functions.

Project

26 hod., optionally

Teacher / Lecturer