Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2020/2021

Automaty a gramatiky

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
BIK-AAG.21 Z,ZK 5 13KP+4KC česky
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

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ů.

Požadavky:

Znalosti základních datových struktur a základů programování.

Osnova přednášek:

1. Motivace pro studium formálních jazyků. Základní pojmy (jazyk, abeceda, gramatika, automat), Chomského hierarchie. Deterministické a nedeterministické konečné automaty (DKA a NKA), NKA s epsilon přechody.

2. Operace s automaty (převod na NKA bez epsilon přechodů, na DKA, minimalizace), průnik, sjednocení. Programová realizace DKA a NKA, obvodová realizace.

3. Rozšíření o překlad, Mealey, Moore, převody. Operace s regulárními gramatikami, převody na KA.

4. Regulární výrazy, převody mezi regulárními výrazy, konečnými automaty a regulárními gramatikami, Kleenova věta. Principy využití regulárních výrazů v UNIXu (grep, egrep, perl, PHP, ...).

5. Konečný automat jako lexikální analyzátor, lex/flex generátory. Vlastnosti regulárních jazyků (pumping lemma, Nerodova věta).

6. Jazyky bezkontextové, zasobníkový automat. Analýza bezkontextových jazyků (nedeterministická versus deterministická).

7. Jazyky kontextové a neomezené, Turingův stroj.

Osnova cvičení:

1. Ukázky formálních jazyků. Intuitivní návrh gramatik pro jazyky zadané množinově. Odhad umístění jazyka v Chomského hierarchii. Intuitivní návrh konečných automatů (DKA, NKA, s epsilon-přechody) pro zadaný jazyk. Převody a kompozice KA. Implementace KA. Návrh KA s výstupní funkcí a jeho implementace.

2. Převody gramatik na KA a zpět. Návrh, úpravy a převody regulárních výrazů. Využití regulárních výrazů pro řešení úloh ze zpracování textu (např. sh, grep, sed, perl). Návrh a implementace lexikálního analyzátoru. Klasifikace jazyků.

3. Příklady bezkontextových jazyků, návrh zásobníkových automatů. Ukázky deterministické analýzy bezkontextových jazyků (např. LL, yacc, bison). Příklady kontextových a neomezených jazyků, návrh gramatik a Turingových strojů.

Cíle studia:

Předmět si klade za cíl seznámit studenty s konečnými automaty, regulárními výrazy, gramatikami a překladovými konečnými automaty s důrazem na praktické využití. Dále pak seznámí studenta s třídou bezkontextových jazyků, základním použitím zásobníkových automatů a s hierarchií jazyků pro jeho snazší orientaci v problematice. Znalosti získané v tomto předmětu naleznou uplatnění při návrhu algoritmů pro vyhledávání vzorků, kompresi dat, překlad, jednoduchou syntaktickou analýzu a při návrhu číslicových obvodů.

Studijní materiály:

1. Sipser M. : Introduction to the Theory of Computation. Cengage Learning Custom Publishing, 2020. ISBN

978-0357670583.

2. Hopcroft J.E., Motwani R., Ullman J. D. : Introduction to Automata Theory, Languages, and Computation,

3rd Edition. Pearson, 2008. ISBN 978-8131720479.

3. Kozen D. C. : Automata and Computability. Springer, 1997. ISBN 978-0387949079.

4. Šestáková E.: Automaty a gramatiky: Sbírka řešených příkladů. CVUT, 2017. ISBN 978-80-01-06306-4.

5. Šestáková E.: Automata and Grammars: A Collection of exercises and Solutions. CVUT, 2018. ISBN 978-80-01-06462-7.

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BIK-AAG/

Další informace:
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 18. 1. 2021
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet6546406.html