IB107 Vyčíslitelnost a složitost

Fakulta informatiky
podzim 2023
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. Jakub Balabán (cvičící)
RNDr. Martin Jonáš, Ph.D. (cvičící)
doc. RNDr. Petr Novotný, Ph.D. (cvičící)
Bc. David Dokoupil (pomocník)
Bc. Ondřej Huvar (pomocník)
RNDr. David Klaška (pomocník)
Mgr. Martin Kurečka (pomocník)
Mgr. Tomáš Macháček (pomocník)
RNDr. Vojtěch Suchánek (pomocník)
Bc. Jakub Šárník (pomocník)
Bc. Adéla Štěpková (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 10:00–11:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB107/A: Po 16:00–16:50 A218, J. Strejček
IB107/02: Čt 16:00–16:50 A218, J. Balabán
IB107/03: Út 16:00–16:50 A218, M. Jonáš
IB107/04: Út 17:00–17:50 A218, M. Jonáš
IB107/05: Čt 9:00–9:50 A318, P. Novotný
IB107/06: Po 17:00–17: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 2022, podzim 2024.