Detail předmětu
Složitost (v angličtině)
SLOa Ak. rok 2021/2022 letní semestr 5 kreditů
Turingovy stroje jako základní výpočetní model pro analýzu výpočetní složitosti, časová a prostorová složitost výpočtů na Turingových strojích. Alternativní modely výpočtů, skeletový jazyk, stroje RAM a RASP a jejich vztah k Turingovým strojům z hlediska výpočetní složitosti. Asymptotické odhady složitosti, pojem tříd složitosti založených na časově a prostorově zkonstruovatelných funkcích, typické příklady tříd složitosti. Vlastnosti tříd složitosti: význam determinismu a nedeterminismu v oblasti výpočetní složitosti, Savitchův teorém, vztah prostoru a času, uzavřenost tříd složitosti vůči doplňku, ostrost vztahů mezi třídami. Některé pokročilé vlastnosti tříd složitosti: Blumův teorém, gap theorem (a jeho vztah k definici tříd složitosti na základě časově a prostorově zkonstruovatelných funkcí). Redukovatelnost a pojem úplnosti tříd složitosti. Příklady problémů úplných pro různé třídy složitosti. Hlubší diskuse tříd P a NP s důrazem na NP-úplné problémy (problém splnitelnosti apod.). Vztah rozhodovacích a optimalizačních problémů. Metody řešení výpočetně složitých optimalizačních problémů: deterministické přístupy, aproximace, pravděpodobnostní algoritmy. Vztah výpočetní složitosti a kryptografie. Hlubší diskuse PSPACE-úplných problémů, výpočetní složitost typických problémů z oblasti formální verifikace.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 26 hod. přednášky
- 26 hod. projekty
Bodové hodnocení
- 70 bodů závěrečná zkouška (35 bodů písemná část, 35 bodů ústní část)
- 30 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Stránky předmětu
- E-learning VUT: Aktuální informace a domácí úlohy.
- Studijní materiály
Získané dovednosti, znalosti a kompetence z předmětu
Znalost teoretických i praktických mezí použitelnosti výpočetních systémů. Schopnost použít vybrané přístupy k řešení výpočetně složitých problémů.
Cíle předmětu
Seznámit studenty s teorií výpočetní složitosti, nutnou k pochopení praktických možností algoritmického řešení problémů na fyzikálně realizovatelných výpočetních systémech. Seznámit studenty s vybranými přístupy k řešení výpočetně složitých problémů.
Proč je předmět vyučován
Je důležité si uvědomit, že existují úlohy (často nazývané problémy), které jsou velmi těžko řešitelné pomocí počítačů. Technicky korektní algoritmus pro takovéto těžké úlohy často nemusí fungovat na reálných vstupech. Cílem předmětu je seznámit studenty s teoretickými základy, která stojí za klasifikací úloh na prakticky řešitelné a obecně neřešitelné. Dále pak představuje možnosti řešení těžkých úloh pomocí přibližných a nehodnostních algoritmů stejně tak jako možnosti využití těžkých úloh v rámci kryptografie.
Doporučené prerekvizity
- Teoretická informatika (TIN)
Požadované prerekvizitní znalosti a dovednosti
Teorie formálních jazyků a rozhodnutelnosti na magisterské úrovni.
Osnova přednášek
- Úvod, Turingovy stroje, složitost časová a prostorová.
- Alternativní modely výpočtů, skeletový jazyk, stroje typu RAM, RASP a jejich vztah k Turingovým strojům.
- Asymptotické odhady složitosti, třídy složitosti, determinismus a nedeterminismus z pohledu složitosti.
- Souvislosti prostoru a času z pohledu složitosti, uzavřenost tříd složitosti vůči doplňku, ostrost inkluzí mezi třídami složitosti.
- Blumův teorém. Gap theorem.
- Redukovatelnost, pojem úplnosti tříd složitosti, nejběžnější případy úplnosti.
- Třídy P a NP a jejich vlastnosti. NP-úplné problémy, problém splnitelnosti a jeho varianty.
- Problém obchodního cestujícího, problém batohu a další významné NP-úplné problémy.
- NP optimalizační problémy a jejich deterministické řešení: pseudo-polynomiální algoritmy, parametrizovaná složitost.
- Aproximační algoritmy, neaproximovatelnost.
- Pravděpodobnostní algoritmy a pravděpodobnostní třídy složitosti.
- Složitost a kryptografie.
- PSPACE-úplné problémy. Složitost a formální verifikace.
Osnova ostatní - projekty, práce
Tři dílčí domácí úlohy zaměřené na různé aspekty probírané látky.
Průběžná kontrola studia
- Tři projekty - každý za 10 bodů (doporučený minimální zisk z projektů je 15 bodů).
- Závěrečná zkouška: 70 bodů.
Zařazení předmětu ve studijních plánech
- Program IT-MGR-2, obor MBI, MBS, MGM, MPV, MSK, libovolný ročník, volitelný
- Program IT-MGR-2, obor MIN, libovolný ročník, povinně volitelný skupina B
- Program IT-MGR-2, obor MIS, 1. ročník, volitelný
- Program IT-MGR-2, obor MMM, libovolný ročník, povinně volitelný skupina L
- Program IT-MGR-2 (anglicky), obor MGMe, libovolný ročník, povinně volitelný skupina M
- Program MITAI, obor NADE, NBIO, NCPS, NEMB, NGRI, NHPC, NIDE, NISD, NISY, NISY do 2020/21, NMAL, NNET, NSEC, NSEN, NSPE, NVER, NVIZ, libovolný ročník, volitelný
- Program MITAI, obor NMAT, libovolný ročník, povinný