IB102 Automaty, gramatiky a složitost
Literatura a jiné informační zdroje
Literatura
- I. Černá, M. Křetínský a A. Kučera: Automaty a formální jazyky I, FI MU 2002.
Materiál ke kursu IB005, doporučený i k IB102. Originální verze (únor 2002) ke stažení zde, aktualizovaná verze (únor 2014) ke stažení zde. - M. Sipser: Introduction to the Theory of Computation, PWS Publishing Company 1997. Existuje i druhé a třetí vydání. Výborně napsaná kniha, do doplnění skript je doporučeným studijním materiálem pro oblast složitosti.
- Sbírka příkladů Cvičení k předmětům IB005 Formální jazyky a automaty a IB102 Automaty, gramatiky a složitost, FI MU 2014. Ke stažení zde.
Dále lze čerpat z následujících materiálů (za jejich bezchybnost neručíme):
- P. Jančar: Teoretická informatika, VŠB-TU Ostrava 2007.
Materiál pro samostudium, ke stažení zde. - Javier Esparza: Automata Theory: An Algorithmic Approach. Ke stažení zde.
- J. Gruska: Foundations of Computing. Thomson International Computer Press, 1997.
- M. A. Harrison: Introduction to Formal Language Theory, Addison-Wesley, 1978.
- J. E. Hopccroft, J. D. Ullman: Introduction to Automata Theory, Languages and Computation, Addison-Wesley, 1979.
- J. E. Hopccroft, R. Motwani, J. D. Ullman: Introduction to Automata Theory, Languages and Computation, 2nd ed., Addison-Wesley, 2001.
- D. Kozen: Automata and computability, Springer, 1997.
- M. Chytil: Automaty a gramatiky, SNTL Praha, 1984.
- Kurs na VSB v Ostravě
Další zdroje včetně softwarových nástrojů
Na internetu lze nalézt spoustu dalších materiálů a příkladů k formálním jazykům, automatům a gramatikám. Existuje i mnoho softwarových nástrojů pro podporu výuky této teorie. Nejznámějším je JFLAP, dlouhodobě vyvíjený grafický univerzální nástroj. Několik užitečných aplikací též vzniklo přímo na FI v rámci bakalářek a diplomek, například:
- Generátor příkladů k regulárním jazykům - Umožňuje vygenerovat množství výpočetních příkladů pro regulární jazyky (včetně řešení).
- Generátor příkladů k bezkontetovým jazykům - Totéž pro bezkontextové jazyky.
- Generátor příkladů k teorii formálních jazyků - Nová verze unifikující předchozí generátory.
- Vyhodnocovací služba pro regulární jazyky - Dokáže zkontrolovat, zda je váše řešení výpočetních příkladů pro regulární jazyky správná. Také dokáže zadané výpočetní příklady přímo řešit.
- Vyhodnocovací služba pro regulární jazyky II - Totéž v novější, zatím ne zcela otestované verzi. Nabízí okamžitou kontrolu syntaxe a u špatných řešení navíc poskytuje protipříklady.
- Vyhodnocovací služba pro bezkontextové gramatiky - Totéž jako předchozí služby, ale pro příklady na převody bezkontextových gramatik.
- Vyhodnocovací služba pro řešení rozhodnutelných problémů z oblasti formálních jazyků - Nová verze unifikující předchozí služby.
- Pohodlné vkládání regulárních jazyků do webového formuláře - Webový klikací editor konečných automatů.
- Inteligentní simulátor zásobníkového automatu - Simuluje výpočet zadaného PDA na zadaném slově. Ukazuje, zda existuje a kudy vede akceptující výpočet.
- JGAF - Rozšiřitelný nástroj pro práci s formálními jazyky. Na vývoji této modulární aplikace se můžete podílet v rámci bakalářské či diplomové práce.
- Webový simulátor Turingova stroje - Simuluje výpočet zadaného Turingova stroje na zadaném slově.
Další aplikace (tentokrát původem mimo FI):
- Visual Automata Simulator
- a jedna po pobavení: Manufactoria