Vyučující
|
-
Kadavý Tomáš, Ing. Ph.D.
-
Šenkeřík Roman, prof. Ing. Ph.D.
|
Obsah předmětu
|
- Úvod do problematiky algoritmů. - Výpočetní složitost, definice výpočetní složitosti, časová a prostorová výpočetní složitost, asymptotické třídy. - Výpočetní problém, P-složitost, třídy složitosti. - Jazyky a gramatiky. - Regulární výrazy. - Konečné automaty, KA s jedním a dvěma zásobníky, Přechodové grafy, Kleenova věta, Moorova věta o ekvivalenci. - Turingovy stroje (TS). Definice TS a jazyka přijímaného TS. - Modifikace TS, problém rozhodnutelnosti a nerozhodnutelnosti, problém zastavení TS, nedeterministický TS. - Postovy stroje, Konečné stroje se zásobníky, RASP stroje, ekvivalence strojů a automatů. - Predikátový počet, syntaxe a sémantika. - Verifikace programů a korektnost, parciální a totální korektnost, - Programová schémata, a jejich formalizace, syntaxe a interpretace, vlastností programů a programových schémat, Pevné body programů, rekurzivní programy. - Úvod do teorie grafů.
|
Studijní aktivity a metody výuky
|
Přednášení, Cvičení na počítači
|
Předpoklady |
---|
Odborné znalosti |
---|
Znalosti z oblastí: Matematika Základy informatiky Programování |
Znalosti z oblastí: Matematika Základy informatiky Programování |
Výsledky učení |
---|
Student umí definovat základní typy algoritmů a vysvětlit koncepty výpočetní složitosti, včetně časové a prostorové složitosti, a asymptotických tříd. |
Student umí definovat základní typy algoritmů a vysvětlit koncepty výpočetní složitosti, včetně časové a prostorové složitosti, a asymptotických tříd. |
Student dokáže popsat a analyzovat různé výpočetní modely, jako jsou Turingovy stroje, Postovy stroje, a konečné automaty, a jejich význam v teoretické informatice. |
Student dokáže popsat a analyzovat různé výpočetní modely, jako jsou Turingovy stroje, Postovy stroje, a konečné automaty, a jejich význam v teoretické informatice. |
Student umí vymezit a rozlišovat mezi různými typy jazyků a gramatik, včetně regulárních výrazů a jejich aplikací. |
Student umí vymezit a rozlišovat mezi různými typy jazyků a gramatik, včetně regulárních výrazů a jejich aplikací. |
Student je schopen objasnit základní principy predikátového počtu, včetně jeho syntaxe a sémantiky. |
Student je schopen objasnit základní principy predikátového počtu, včetně jeho syntaxe a sémantiky. |
Student umí analyzovat programová schémata a metodologie verifikace programů pro zajištění jejich korektnosti. |
Student umí analyzovat programová schémata a metodologie verifikace programů pro zajištění jejich korektnosti. |
Odborné dovednosti |
---|
Student dokáže navrhnout a vytvořit efektivní algoritmy s ohledem na časovou a prostorovou složitost. |
Student dokáže navrhnout a vytvořit efektivní algoritmy s ohledem na časovou a prostorovou složitost. |
Student umí realizovat a simulovat různé výpočetní modely, jako jsou Turingovy stroje a konečné automaty, pro řešení konkrétních problémů. |
Student umí realizovat a simulovat různé výpočetní modely, jako jsou Turingovy stroje a konečné automaty, pro řešení konkrétních problémů. |
Student používá regulární výrazy pro analýzu a zpracování textových dat a umí analyzovat strukturu jazyků. |
Student používá regulární výrazy pro analýzu a zpracování textových dat a umí analyzovat strukturu jazyků. |
Student aplikuje principy predikátového počtu pro řešení konkrétních logických a matematických problémů. |
Student aplikuje principy predikátového počtu pro řešení konkrétních logických a matematických problémů. |
Student umí provést verifikaci programů a navrhnout zlepšení pro zvýšení jejich efektivity a spolehlivosti. |
Student umí provést verifikaci programů a navrhnout zlepšení pro zvýšení jejich efektivity a spolehlivosti. |
Vyučovací metody |
---|
Odborné znalosti |
---|
Přednášení |
Přednášení |
Cvičení na počítači |
Cvičení na počítači |
Hodnotící metody |
---|
Písemná zkouška |
Písemná zkouška |
Doporučená literatura
|
-
Demel J. Grafy a jejich aplikace. Academia, 2002.
-
Eric C.R. Hehner, A. Practical Theory of Programming. Springer, 1993.
-
Koubková A., Pavelka J. Uvod do teoretické informatiky. Matfyzpress, 2003.
-
Linz, Peter. An introduction to formal languages and automata. 4th ed. Sudbury, Mass. : Jones and Bartlett Publishers, 2006. ISBN 0-7637-3798-4.
-
Manna Z. Matematická teorie programů. SNTL, 1981.
-
Martin J.C. Introduction to Languages and the Theory of Computation. 2002. ISBN 0-072-32200-4.
-
Vaníček J., Papík M., Pregl R., Vaníček T. Teoretické základy informatiky. Alfa Publishing, 2006.
|