Automata and Grammars - NTIN071
Title: Automaty a gramatiky
Guaranteed by: Department of Theoretical Computer Science and Mathematical Logic (32-KTIML)
Faculty: Faculty of Mathematics and Physics
Actual: from 2020
Semester: summer
E-Credits: 5
Hours per week, examination: summer s.:2/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech, English
Teaching methods: full-time
Teaching methods: full-time
Additional information: https://dl1.cuni.cz/course/view.php?id=5119
Guarantor: Mgr. Marta Vomlelová, Ph.D.
Class: Informatika Bc.
Classification: Informatics > Theoretical Computer Science
Incompatibility : NTIX071
Interchangeability : NTIX071
Is incompatible with: NTIX071, NTIN013
Is pre-requisite for: NTIN046
Is interchangeable with: NTIX071, NTIN013, NUIN002
In complex interchangeability with: NUIN021
Opinion survey results   Examination dates   SS schedule   Noticeboard   
Annotation -
Last update: BARTAK/MFF.CUNI.CZ (31.03.2008)
Introductory lectures on Automata Theory and Formal Grammars. The emphasis is put on basic terminology and fundamental results. We study and highlight connections between the following formal models: finite-state and push-down automata (both deterministic and non-deterministic), Turing machines (including the halting problem), regular, context-free, and context-sensitive grammars.
Aim of the course -
Last update: Friedrich Otto, Dr. (08.02.2018)

The course gives an introduction to automata theory and formal languages. The students will learn the following formal models and their basic properties:

finite-state and push-down automata (both deterministic and non-deterministic), Turing machines (including the halting problem), regular, context-free, and context-sensitive grammars and languages.

Course completion requirements -
Last update: Mgr. Marta Vomlelová, Ph.D. (27.04.2020)

The form of study verification is a credit and an exam. Obtaining credit first is a necessary condition for taking an exam, with the exception of early exam terms. The credit is granted by teachers leading the tutorials based on point evaluation of tests during the semester, possible homeworks, activity etc. The nature of study verification for the credit excludes the possibility of its repetition.

The exam consists of written and oral parts. The written part precedes the oral part. If the written part is evaluated as unsatisfactory, the exam ends as unsatisfactory without taking the oral part. If the oral part is evaluated as unsatisfactory, the student has to repeat both written and oral parts on the next exam term. Final exam grade is based on evaluation of both written and oral parts.

Examples of the written part from previous years are available on the course webpage.

Demands at oral part correspond to the syllabus of the course in the extend that has been presented on lectures.

We may expect that substantial part of credits and exams is performed remotely. Written part of the exam can be replaced by moodle test, oral part performed remotely. The details depend on the actual situation and you will be noticed on any change.

Literature -
Last update: Mgr. Marta Vomlelová, Ph.D. (25.01.2024)

J.E. Hopcroft, J.D. Ullman: Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979

M. Sipser: Introduction to the Theory of Computation, Cengage Learning, 2013

P.J. Denning, J.E. Dennis, J.E. Qualitz: Machines, Languages, and Computation, Prentice-Hall, 1978

M. Harrison: Introduction to Formal Language Theory, Addison-Wesley, 1978

H.R. Lewis, Ch.H. Papadimitriou: Elements of the Theory of Computation, Prentice-Hall, 1981

G. Rozenberg, A. Salomaa (eds.), Handbook of Formal Language Theory, Vol.1: Word, Language, Grammar, Springer, 1997

Teaching methods -
Last update: Friedrich Otto, Dr. (08.02.2018)

Lectures and exercises

Requirements to the exam -
Last update: Mgr. Marta Vomlelová, Ph.D. (27.04.2020)

Credits from exercises are a necessary condition to attend the final exam.

The final exam consists from a written part and a possible additional oral part. The exam will test the acquired understanding of the definitions, theorems, and algorithms presented during the course.

We may expect that substantial part of credits and exams is performed remotely. Written part of the exam can be replaced by moodle test, oral part performed remotely. The details depend on the actual situation and you will be noticed on any change.

Syllabus -
Last update: Mgr. Marta Vomlelová, Ph.D. (13.05.2019)

Word, language, operations on languages

Formal grammar, regular grammar, finite-state automaton, Nerode's Theorem, minimal automaton, non-determinism

Closure properties of the class of regular languages, regular expressions, Kleene's Theorem, Pumping Lemma for regular languages

Finite-state transducer, decision problems for regular languages

Context-free grammar, Chomsky normal form, Greibach normal form, closure properties of the class of context-free languages, Pumping Lemma for context-free languages

Pushdown automaton, CYK-algorithm, deterministic pushdown automaton, decision problems for context-free languages

Context-sensitive grammar, context-sensitive language, closure properties and decision problems, linear-bounded automaton

Turing machines, halting problem, reduction, undecidable problems, recursively enumerable language, Chomsky hierarchy, the universal language, the diagonal language.