Languages, Automats and Gramatics - B4B01JAG

Credits 6
Semesters Winter
Completion Assessment + Examination
Language of teaching Czech
Extent of teaching 2P+2S
Annotation
Basic notions of the theory of finite automata and grammars: deterministic and non deterministic finite automata, languages accepted by finite automata, regular expressions. Grammars and languages generated by grammars with emphasis to context free grammars. A very brief introduction of Turing machines.
Study targets
The aim of the course is to introduce students to the basics of the theory of formal languages. The main tools are finite automata and grammars.
Course outlines
1. Alphabet, words over an alphaber, concatenation of words, languages.
2. Deterministic finite automaton. Languages accepted by finite automata - regular languages.
3. Pumping Lemma and Nerode Theorem. Reduced finite automaton
4. Non deterministic finite automata. Subset construction. Properties of the class of regular languages.
5. Regular expressions. Relationship of regular languages and regular expressions. Kleen Theorem
6. Algorithmic approach to problems concering finite automata and regular languages. Introduction of grammars.
7. Chomsky hierarchy of languages generated by grammars. Regular grammars and retular languages. Context free grammars and context free languages.
8. Pumping Lemma for context free languages. Reduced context free grammars.
9. Pushdown automata, two types of languages accepted by pushdown automata.
10. Properties of the class of context free languages.
11. Deterministic pushdown automata and properties of languages accepted by them. The class
of deterministic languages, and the class of prefix-free languages.
12. A brief introduction to Turing machines.
Exercises outlines
1. Alphabet, words over an alphaber, concatenation of words, languages.
2. Deterministic finite automaton. Languages accepted by finite automata - regular languages.
3. Pumping Lemma and Nerode Theorem. Reduced finite automaton
4. Non deterministic finite automata. Subset construction. Properties of the class of regular languages.
5. Regular expressions. Relationship of regular languages and regular expressions. Kleen Theorem
6. Algorithmic approach to problems concering finite automata and regular languages. Introduction of grammars.
7. Chomsky hierarchy of languages generated by grammars. Regular grammars and retular languages. Context free grammars and context free languages.
8. Pumping Lemma for context free languages. Reduced context free grammars.
9. Pushdown automata, two types of languages accepted by pushdown automata.
10. Properties of the class of context free languages.
11. Deterministic pushdown automata and properties of languages accepted by them. The class
of deterministic languages, and the class of prefix-free languages.
12. A brief introduction to Turing machines.
Literature
[1] J. E. Hopcroft, R. Motwani, J. D. Ullman: Introduction to Automata Theory, Languages, and Computation, 3rd Edition, Addison-Wesley, 2006.