IB107 Vyčíslitelnost a složitost

Fakulta informatiky
podzim 2018
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. Daniel Kráľ, Ph.D., DSc. (přednášející)
doc. RNDr. Petr Novotný, Ph.D. (cvičící)
RNDr. Samuel Pastva, Ph.D. (cvičící)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: prof. RNDr. Daniel Kráľ, Ph.D., DSc.
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Pá 10:00–11:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB107/01: každý sudý čtvrtek 8:00–9:50 A218, D. Kráľ
IB107/02: každý lichý čtvrtek 8:00–9:50 A218, D. Kráľ
IB107/03: Po 17. 9. až Po 10. 12. každé sudé pondělí 8:00–9:50 C416, P. Novotný
IB107/04: Po 17. 9. až Po 10. 12. každé liché pondělí 8:00–9:50 C416, P. Novotný
IB107/05: každou sudou středu 12:00–13:50 A318, P. Novotný
IB107/06: každou lichou středu 12:00–13:50 A318, P. Novotný
IB107/07: každé sudé pondělí 10:00–11:50 C525, S. Pastva
IB107/08: Po 17. 9. až Po 10. 12. každé liché pondělí 10:00–11:50 C525, S. Pastva
IB107/09: každé sudé pondělí 12:00–13:50 C525, S. Pastva
IB107/10: Po 17. 9. až Po 10. 12. každé liché pondělí 12:00–13:50 C525, S. Pastva
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í a provést základní klasifikaci. 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 klasifikační techniky redukce, diagonalizace a uzávěrové vlastnosti; umět tyto techniky aplikovat na jednoduche 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é; 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 povinnými cvičeními. Během semestru jsou studentům zadávány domácí úkoly. Zkouška je písemná. Požadavkem k připuštění ke zkoušce je získání daného počtu bodů za domácí úkoly. Tyto body se rovněž započítavájí do celkového hodnocení. Pomocné materiály nejsou při zkoušce povoleny.
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 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023, podzim 2024.