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

Automaty a gramatiky

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-AAG.21 Z,ZK 5 2P+2C česky
Garant předmětu:
Jan Holub
Přednášející:
Jan Holub, Jan Janoušek
Cvičící:
Dominika Draesslerová, Ondřej Guth, Tomáš Pecka, Štěpán Plachý, Martin Svoboda, Eliška Šestáková
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 použití bezkontextových gramatik a konstrukci a použití zásobníkových automatů a o překladových gramatikách automatech. Znají hierarchii formálních jazyků a rozumějí vztahům mezi formálními jazyky a automaty. Jsou seznámeni s Turingovým strojem a s třídami složitosti P a NP.

Požadavky:

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

Osnova přednášek:

1. Základní pojmy, Chomského hierarchie.

2. Deterministické a nedeterministické konečné automaty.

3. Operace s automaty.

4. Regulární výrazy.

5. Převody mezi regulárními gramatikami, regulárními výrazy a konečnými automaty.

6. Vlastnosti regulárních jazyků.

7. Bezkontextové gramatiky.

8. Zásobníkové automaty. Syntaktická analýza.

9. Překladové gramatiky a automaty.

10. Jazyky kontextové, rekurzivně spočetné a rekurzivní. Turingův stroj.

11. Časová složitost, třídy P a NP.

12. Programová a obvodová realizace konečných automatů.

13. Konečný automat jako lexikální analyzátor.

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.

2. Intuitivní návrh konečných automatů (DKA, NKA, s epsilon-přechody) pro zadaný jazyk.

3. Převody a kompozice KA.

4. Implementace KA.

5. Návrh KA s výstupní funkcí a jeho implementace.

6. Převody gramatik na KA a zpět.

7. Návrh, úpravy a převody regulárních výrazů.

8. Využití regulárních výrazů pro řešení úloh ze zpracování textu (např. sh, grep, sed, perl).

9. Návrh a implementace lexikálního analyzátoru.

10. Klasifikace jazyků.

11. Příklady bezkontextových jazyků, návrh zásobníkových automatů.

12. Ukázky deterministické analýzy bezkontextových jazyků (např. LL, yacc, bison).

13. 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ů, ČVUT 2017, ISBN 978-80-01-06306-4

5. Šestáková E.: Automata and Grammars, A Collection of exercises and Solutions, ČVUT, 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/BI-AAG/

Další informace:
https://courses.fit.cvut.cz/BI-AAG/
Rozvrh na zimní semestr 2024/2025:
Rozvrh není připraven
Rozvrh na letní semestr 2024/2025:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 17. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet6546306.html