IB107 Vyčíslitelnost a složitost

Fakulta informatiky
podzim 2022
Rozsah
2/1/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: z.
Vyučující
prof. RNDr. Jan Strejček, Ph.D. (přednášející)
Mgr. Marek Jankola (cvičící)
Mgr. Tomáš Macháček (cvičící)
doc. RNDr. Petr Novotný, Ph.D. (cvičící)
Mgr. Jakub Balabán (pomocník)
Bc. Ondřej Huvar (pomocník)
RNDr. Martin Jonáš, Ph.D. (pomocník)
RNDr. David Klaška (pomocník)
Mgr. Martin Kurečka (pomocník)
RNDr. Vojtěch Suchánek (pomocník)
Garance
prof. RNDr. Jan Strejček, Ph.D.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 12:00–13:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB107/A: Út 11:00–11:50 A218, J. Strejček
IB107/01: Po 12:00–12:50 A319, M. Jankola
IB107/02: Po 13:00–13:50 A319, M. Jankola
IB107/03: Po 8:00–8:50 C511, T. Macháček
IB107/04: Po 9:00–9:50 C511, T. Macháček
IB107/05: Čt 10:00–10:50 C525, P. Novotný
IB107/06: Čt 11:00–11:50 C525, P. Novotný
IB107/07: Út 10:00–10:50 A218, J. Strejček
Předpoklady
IB005 FJA || IB102 Automaty a gramatiky
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Smyslem kurzu je objasnit základní přístupy a metody klasifikace problémů z hlediska možnosti jejich algoritmického řešení. Současně chce kurz poukázat na teoretické a praktické meze využití počítačů a důsledky, které tato omezení mají pro rozvoj informačních technologií.
Po skončení kurzu budou studenti schopni: porozumět základním pojmům formalizujícím algoritmickou řešitelnost; zvládnout základní klasifikační techniky problémů (redukce, diagonalizace a uzávěrové vlastnosti); umět tyto techniky aplikovat na jednoduché situace.
Výstupy z učení
Student bude po absolvování předmětu schopen:
- používat asymptotickou notaci, a to jak pasivně, tak i aktivně;
- vysvětlit rozdíl mezi složitostí algoritmu a problému;
- samostatně zařadit konkrétní problém do konkrétní složitostní třídy;
- vyvodit praktické důsledky ze zařazení problému do konkrétní složitostní třídy;
- vysvětlit, že existují problémy, které jsou algoritmicky neřešitelné, a uvést jejich příklady;
- vysvětlit rozdíly mezi různými třídami neřešitelných problému;
Osnova
  • Algoritmus jako výpočetní model. Churchova teze.
  • Klasifikace problémů. Rozhodnutelné, nerozhodnutelné a částečně rozhodnutelné problémy. Vyčíslitelné funkce.
  • Uzávěrové vlastnosti, Riceovy věty.
  • Výpočetní složitost problémů. Výpočetně těžké a lehké problémy.
  • Redukce a úplnost v třídách problémů. Redukce a polynomiální redukce. Úplné problémy z hlediska rozhodnutelnosti, NP-úplné problémy. Aplikace.
Literatura
  • KOZEN, Dexter C. Automata and computability. New York: Springer, 1997, xiii, 400. ISBN 0387949070. info
  • SIPSER, Michael. Introduction to the theory of computation. Boston: PWS Publishing Company, 1997, xv, 396 s. ISBN 0-534-94728-X. info
  • BOVET, D. a Pierluigi CRESCENZI. Introduction to the theory of complexity. New York: Prentice-Hall, 1994, xi, 282 s. ISBN 0-13-915380-2. info
  • KFOURY, A. J., Robert N. MOLL a Michael A. ARBIB. A programming approach to computability. New York: Springer-Verlag, 1982, viii, 251. ISBN 0-387-90743-2. info
Výukové metody
přednáška, cvičení, domácí úkoly
Metody hodnocení
Přednáška je doplněna cvičeními. Během semestru jsou studentům zadávány domácí úkoly. Zkouška je písemná s využitím materiálů. Požadavkem k připuštění ke zkoušce je získání daného počtu bodů za domácí úkoly.
Navazující předměty
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích podzim 2003, podzim 2004, podzim 2005, podzim 2006, podzim 2007, podzim 2008, podzim 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2023, podzim 2024.