Přeskočit na hlavní obsah
Přeskočit hlavičku

Úvod do teoretické informatiky

Typ studia bakalářské
Jazyk výuky angličtina
Kód 460-2005/04
Zkratka UTI
Název předmětu česky Úvod do teoretické informatiky
Název předmětu anglicky Introduction to Theoretical Computer Science
Kreditů 5
Garantující katedra Katedra informatiky
Garant předmětu doc. Ing. Zdeněk Sawa, Ph.D.

Osnova předmětu

Náplň přednášek:

1. Úvod. Čím se zabývá teoretická informatika (algoritmy, algoritmické problémy, formální jazyky, ...).
2. Formální jazyky - základní pojmy (abeceda, slovo, jazyk). Operace na jazycích. Regulární výrazy.
3. Deterministické konečné automaty (DKA). Konstrukce konečných automatů. Některé jazykové operace na DKA.
4. Nedeterministické konečné automaty (NKA). Převod NKA na DKA. Jazykové operace na NKA. Vztah mezi regulárními výrazy a konečnými automaty.
5. Bezkontextové gramatiky a jazyky.
6. Zásobníkové automaty a jejich vztah k bezkontextovým gramatikám. Chomského hierarchie.
7. Algoritmické problémy. Modely výpočtu (Turingovy stroje a stroje RAM). Churchova-Turingova teze.
8. Korektnost algoritmů. Dokazování korektnosti algoritmů.
9. Výpočetní složitost algoritmů. Asymptotická notace. Analýza výpočetní složitosti konkrétních algoritmů (iterativních i rekurzivních).
10. Různé obecné techniky návrhu algoritmů - řešení hrubou silou, rozděl a panuj, prohledávání s návratem, greedy algoritmy, dynamické programování.
11. Složitost problémů. Třídy složitosti (především třídy P a NP). Převody mezi problémy. NP-úplné problémy.
12. Konkrétní příklady NP-úplných problémů a převodů mezi problémy.
13. Algoritmicky nerozhodnutelné problémy (např. halting problem).

Náplň cvičení:
(Pozn.: Témata cvičení odpovídají tématům přednášek.)

1. Zopakování základů logiky, teorie množin, relací, funkcí a teorie grafů.
2. Operace na jazycích. Regulární výrazy.
3. Konstrukce deterministických konečných automatů (DKA). Operace na těchto automatech.
4. Konstrukce nedeterministických konečných automatů (NKA). Převod NKA na DKA. Převody mezi regulárními výrazy a konečnými automaty.
5. Konstrukce bezkontextových gramatik. Různé operace na těchto gramatikách.
6. Zásobníkové automaty.
7. Algoritmické problémy. Turingovy stroje a stroje RAM.
8. Dokazování korektnosti algoritmů.
9. Asymptotická notace. Analýza výpočetní složitosti algoritmů.
10. Techniky návrhů algoritmů.
11. Složitost problémů. Třídy složitosti. Převody mezi problémy.
12. Dokazování NP-úplnosti problémů.
13. Dokazování algoritmické nerozhodnutelnosti problémů.

E-learning

Materiály jsou dostupné na webu pedagoga: https://www.cs.vsb.cz/sawa/uti/

Konzultace prostřednictvím MS Teams.

Povinná literatura

- doc. Ing. Zdeněk Sawa, Ph.D.: Úvod do teoretické informatiky - slidy (k dispozici na adrese http://www.cs.vsb.cz/sawa/uti/slides/uti-cz.pdf,
anglická verze na adrese http://www.cs.vsb.cz/sawa/uti/slides/uti-en.pdf)
- doc. Ing. Zdeněk Sawa, Ph.D.: Úvod do teoretické informatiky - logika a algoritmy, (k dispozici na adrese http://www.cs.vsb.cz/sawa/uti/materialy/uti-2014.02.09.pdf)
- prof. RNDr. Petr Jančar, CSc.: Úvod do teoretické informatiky - učební
text, 2007, (k dispozici na adrese http://www.cs.vsb.cz/sawa/uti/materialy/uti.pdf).
- doc. RNDr. Marie Duží, CSc.: Matematická logika, (k dispozici na adrese
http://www.cs.vsb.cz/sawa/uti/materialy/Matlogika.pdf).

Doporučená literatura

- Sipser, M.: Introduction to the Theory of Computation, PWS Publishing Company, 1997.
- Kozen, D.: Automata and Computability. Undergraduate Text in Computer Science, Springer Verlag, 1997.
- Papadimitriou, C.: Computational Complexity, Addison Wesley, 1993.
- Hopcroft, J.E., Motwani, R., Ullman, J, D.: Introduction to Automata Theory, Languages, and Computation (3rd Edition), Addison Wesley, 2006.
- Gruska, J.: Foundation of Computing. International Thomson Computer Press, 1997.
- Huth, M., Ryan, M.: Logic in Computer Science: Modelling and Reasoning about Systems, Cambridge University Press, 2004.
- Švejdar, V.: Logika - neúplnost, složitost a nutnost, Academia, 2002.
- Suppes, P.: Introduction to Logic, Dover Publications, 1999.
- Tarski, A.: Introduction to Logic and to the Methodology of Deductive Sciences, Dover Publications, 1995.
- Devlin, K.: Introduction to Mathematical Thinking, Keith Devlin, 2012.