Studenti získají základní teoretické a implementační znalosti o konstrukci, použití a vzájemných transformací konečných automatů, regulárních výrazů a regulárních gramatik, o překladových konečných automatech a o konstrukci a použití zásobníkových automatů. Znají hierarchii formálních jazyků a rozumějí vztahům mezi formálními jazyky a automaty. Znalosti z teorie automatů umějí aplikovat pro řešení praktických problémů z oblasti vyhledávání v textu, kompresi dat, jednoduchých překladů a návrhu číslicových obvodů.
Poslední úprava: Kubová Petra Ing. (02.01.2018)
Students are introduced to basic theoretical and implementation principles of the following topics: construction, use and mutual transformations of finite automata, regular expressions and regular grammars, translation finite automata, construction and use of pushdown automata, hierarchy of formal languages, Relationships between formal languages and automata. Knowledge acquired through the module is applicable in designs of algorithms for searching in text, data compression, simple parsing and translation, and design of digital circuits.
Výstupy studia předmětu -
Poslední úprava: Kubová Petra Ing. (02.01.2018)
Studenti budou umět:
budou mít základní teoretické a implementační znalosti o konstrukci, použití a vzájemných transformací konečných automatů, regulárních výrazů a regulárních gramatik, o překladových konečných automatech a o konstrukci a použití zásobníkových automatů.
budou znát hierarchii formálních jazyků a rozumějí vztahům mezi formálními jazyky a automaty.
aplikovat znalosti z teorie automatů pro řešení praktických problémů z oblasti vyhledávání v textu, kompresi dat, jednoduchých překladů a návrhu číslicových obvodů.
Poslední úprava: Kubová Petra Ing. (02.01.2018)
Students will be able to:
Understand finite automata, regular expressions, grammars, and translation finite automata, with an emphasis on their practical use.
Understand the class of context-free languages, basic use of pushdown automata, as well as the classification of languages.
Literatura -
Poslední úprava: Kubová Petra Ing. (02.01.2018)
Z:Aho, A. V., Lam, M. S., Sethi, R., Ullman, J. D. "Compilers: Principles, Techniques, and Tools" (2nd Edition). Addison Wesley, 2007. ISBN 0321486811.
Z:Kozen, D. C. "Automata and Computability". Springer, 1997. ISBN 0387949070.
Z:Melichar, B., Holub, J., Mužátko, P. "Languages and Translations". Praha: Publishing House of CTU, 1997. ISBN 80-01-01692-7.
Poslední úprava: Kubová Petra Ing. (02.01.2018)
R:Aho, A. V., Lam, M. S., Sethi, R., Ullman, J. D. "Compilers: Principles, Techniques, and Tools" (2nd Edition). Addison Wesley, 2007. ISBN 0321486811.
R:Kozen, D. C. "Automata and Computability". Springer, 1997. ISBN 0387949070.
R:Melichar, B., Holub, J., Mužátko, P. "Languages and Translations". Praha: Publishing House of CTU, 1997. ISBN 80-01-01692-7.
Studijní opory -
Poslední úprava: Kubová Petra Ing. (02.01.2018)
https://edux.fit.cvut.cz/courses/BI-AAG/
(nutné přihlášení)
Poslední úprava: Kubová Petra Ing. (02.01.2018)
https://edux.fit.cvut.cz/courses/BI-AAG/
(login necessary)
Sylabus -
Poslední úprava: Kubová Petra Ing. (02.01.2018)
1. Motivace pro studium formálních jazyků. Základní pojmy (jazyk, abeceda, gramatika, automat), Chomského hierarchie.
2. Deterministické a nedeterministické konečné automaty (DKA a NKA), NKA s epsilon přechody.
3. Operace s automaty (převod na NKA bez epsilon přechodů, na DKA, minimalizace), průnik, sjednocení.
4. Programová realizace DKA a NKA, obvodová realizace.
5. Rozšíření o překlad, Mealey, Moore, převody.
6. Operace s regulárními gramatikami, převody na KA.
7. Regulární výrazy, převody mezi regulárními výrazy, konečnými automaty a regulárními gramatikami, Kleenova věta.
8. Principy využití regulárních výrazů v UNIXu (grep, egrep, perl, PHP, ...).
9. Konečný automat jako lexikální analyzátor, lex/flex generátory.
10. Vlastnosti regulárních jazyků (pumping lemma, Nerodova věta).
11. Jazyky bezkontextové, zasobníkový automat.
12. Analýza bezkontextových jazyků (nedeterministická versus deterministická).
13. Jazyky kontextové a neomezené, Turingův stroj.
Poslední úprava: Kubová Petra Ing. (02.01.2018)
1. Motivation to study formal languages. Basic notions (language, alphabet, grammar, automaton), Chomsky hierarchy.
2. Nondeterministic and deterministic finite automata (NFA, DFA), NFA with epsilon transitions.
3. Operations on automata (transformation to NFA without epsilon transitions, to DFA, minimization), intersection, union.
4. Programming implementations of DFA and NFA, circuit implementations.