Course detail
Theoretical Computer Science
FIT-TINAcad. year: 2019/2020
An overview of the applications of the formal language theory in modern computer science and engineering (compilers, system modelling and analysis, linguistics, etc.), the modelling and decision power of formalisms, regular languages and their properties, minimalization of finite-state automata, context-free languages and their properties, Turing machines, properties of recursively enumerable and recursive languages, computable functions, undecidability, undecidable problems of the formal language theory, introduction to complexity theory and Petri nets.
Supervisor
Department
Learning outcomes of the course unit
The students are acquainted with basic as well as more advanced terms, approaches, and results of the theory of automata and formal languages and with basics of the theory of computability and complexity allowing them to better understand the nature of the various ways of describing and implementing computer-aided systems.
The students acquire basic capabilities for theoretical research activities.
Prerequisites
Basic knowledge of discrete mathematics concepts including algebra, mathematical logic, graph theory and formal languages concepts, and basic concepts of algorithmic complexity.
Co-requisites
Not applicable.
Recommended optional programme components
Not applicable.
Recommended or required reading
Češka, M. a kol.: Vyčíslitelnost a složitost, Nakl. VUT Brno, 1993. ISBN 80-214-0441-8
Češka, M., Rábová, Z.: Gramatiky a jazyky, Nakl. VUT Brno, 1992. ISBN 80-214-0449-3
Kozen, D.C.: Automata and Computability, Springer-Verlag, New Yourk, Inc, 1997. ISBN 0-387-94907-0
Češka, M., Vojnar, T.: Studijní text k předmětu Teoretická informatika (http://www.fit.vutbr.cz/study/courses/TIN/public/Texty/TIN-studijni-text.pdf), 165 str.
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2nd ed., 2000. ISBN 0-201-44124-1
Češka, M.: Petriho sítě, Akad.nakl. CERM, Brno, 1994. ISBN: 8-085-86735-4
Meduna, A.: Formal Languages and Computation. New York, Taylor & Francis, 2014.
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2. vydání, 2000. ISBN 0-201-44124-1
Brookshear, J.G.: Theory of Computation: Formal Languages, Automata, and Complexity, The Benjamin/Cummings Publishing Company, Inc, Redwood City, California, 1989. ISBN 0-805-30143-7
Reisig, W.: Petri Nets, An Introduction, Springer Verlag, 1985. ISBN: 0-387-13723-8
Martin, J.C.: Introduction to Languages and the Theory of Computation, McGraw-Hill, Inc., 3. vydání, 2002. ISBN 0-072-32200-4
Planned learning activities and teaching methods
Not applicable.
Assesment methods and criteria linked to learning outcomes
An evaluation of the exam in the 4th week (max. 15 points) and in the 9th week (max. 15 points), an
evaluation of the assignments (max 3-times 5 points) and an final exam
evaluation (max 60 points).
Exam prerequisites:
The minimal total score
of 15 points achieved from the first two assignments, and from the exams in the 4th and 9th week (i.e. out of 35 points).
Language of instruction
Czech
Work placements
Not applicable.
Aims
To acquaint students with more advanced parts of the formal language theory, with basics of the theory of computability, and with basic terms of the complexity theory.
Specification of controlled education, way of implementation and compensation for absences
A written exam in the 4th week focusing on the fundamental knowledge in the area of regular and context-free languages, a written exam in the 9th week focusing on advance topics in the area of regular and context-free languages, and on Turing machines, regular evaluation of the assignments, a final written exam. Students have to achieve at least 25 points, otherwise the exam is assessed by 0 points.
Classification of course in study plans
- Programme IT-MGR-2 Master's
branch MBI , 1. year of study, winter semester, 7 credits, compulsory
branch MPV , 1. year of study, winter semester, 7 credits, compulsory
branch MGM , 1. year of study, winter semester, 7 credits, compulsory
branch MSK , 1. year of study, winter semester, 7 credits, compulsory
branch MIS , 1. year of study, winter semester, 7 credits, compulsory
branch MBS , 1. year of study, winter semester, 7 credits, compulsory
branch MIN , 1. year of study, winter semester, 7 credits, compulsory
branch MMI , 1. year of study, winter semester, 7 credits, compulsory
branch MMM , 1. year of study, winter semester, 7 credits, compulsory - Programme MITAI Master's
specialization NADE , 1. year of study, winter semester, 7 credits, compulsory
specialization NBIO , 1. year of study, winter semester, 7 credits, compulsory
specialization NGRI , 1. year of study, winter semester, 7 credits, compulsory
specialization NNET , 1. year of study, winter semester, 7 credits, compulsory
specialization NVIZ , 1. year of study, winter semester, 7 credits, compulsory
specialization NCPS , 1. year of study, winter semester, 7 credits, compulsory
specialization NSEC , 1. year of study, winter semester, 7 credits, compulsory
specialization NEMB , 1. year of study, winter semester, 7 credits, compulsory
specialization NHPC , 1. year of study, winter semester, 7 credits, compulsory
specialization NISD , 1. year of study, winter semester, 7 credits, compulsory
specialization NIDE , 1. year of study, winter semester, 7 credits, compulsory
specialization NISY , 1. year of study, winter semester, 7 credits, compulsory
specialization NMAL , 1. year of study, winter semester, 7 credits, compulsory
specialization NMAT , 1. year of study, winter semester, 7 credits, compulsory
specialization NSEN , 1. year of study, winter semester, 7 credits, compulsory
specialization NVER , 1. year of study, winter semester, 7 credits, compulsory
specialization NSPE , 1. year of study, winter semester, 7 credits, compulsory
Type of course unit
Lecture
39 hours, optionally
Teacher / Lecturer
Syllabus
- An introduction to the theory of formal languages, regular languages and grammars, finite automata, regular expressions.
- Context-free languages and grammars, push-down automata.
- Regular languages as a Boolean algebra, Kleene's algebra, Kleene's theorem, minimization of finite-state automata.
- Pumping lemma, Nerod's theorem, decidable problems of regular languages. Transformations and normal forms of context-free grammars
- Advanced properties of context-free languages, Pumping lemma for context-free languages, decidable problems of context-free languages. Deterministic context-free languages.
- Turing machines (TMs), the language accepted by a TM, recursively enumerable and recursive languages and problems, TMs and functions, methods of constructing TMs.
- Modifications of TMs, TMs with a tape infinite on both sides, with more tapes, nondeterministic TMs, automata with two push-down stacks, automata with counters.
- TMs and type-0 languages, diagonalization, properties of recursively enumerable and recursive languages, linearly bounded automata and type-1 languages.
- The Church-Turing thesis, universal TMs, undecidability, the halting problem, reductions, Post's correspondence problem. Undecidable problems of the formal language theory.
- Computable functions, initial functions, primitive recursive functions, mu-recursive functions, the relation of TMs and computable functions, asymptotic complexity.
- An introduction to the computational complexity, Turing complexity,
- P and NP classes, and beyond. Polynomial reduction, Completeness.
- Introduction to Petri nets, motivations, definition of P/T Petri nets, methods of Petri net analyses, Petri net classes.
[The first two lectures summarize and formalize the body of knowledge acquired in the IFJ course at FIT VUT. Lectures 3-5 deepen the knowledge in the area of regular and context-free languages. Lectures 6-12 introduce the fundamental principles and concepts in the area of computability and complexity of formal languages and problems. The last lecture introduces the fundamental principles in the area of mathematical description, modeling, and analysis of parallel and distributed dynamical systems using Petri Nets.]
Fundamentals seminar
26 hours, compulsory
Teacher / Lecturer
Syllabus
- Sets and relations. Strings, languages, and operations over them. Grammars, the Chomsky hierarchy of grammars and languages.
- Regular languages and finite-state automata (FSA), determinization and minimization of FSA, conversion of regular expressions to FSA.
- Kleene algebra. Pumping lemma, proofs of non-regularity of languages.
- Context-free languages and grammars. Transformations of context-free grammars.
- Operations on context-free languages and their closure properties. Pumping lemma for context-free languages.
- Push-down automata, (nondeterministic) top-down and bottom-up syntax analysis. Deterministic push-down languages.
- Turing machines.
- Recursive and recursively enumerable languages and their properties.
- Decidability, semi-decidability, and undecidability of problems, reductions of problems.
- Computable functions. Other Turing-complete computing mechanisms (automata with multiple push-down stacks, counter automata).
- Complexity classes. Properties of space and time complexity classes.
- NP problems. Polynomial reduction.
- Petri nets
Project
13 hours, compulsory
Teacher / Lecturer
Syllabus
- Assignment in the area of regular and context free languages.
- Assignment in the area of Turing machines and the theory of undecidability.
- Assignment in the area of computable functions, complexity, and Petri nets.