Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2025/2026

Úvod do výpočetní složitosti

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
NI-ICC Z,ZK 6 2P+1C+1L česky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra teoretické informatiky
Anotace:

Prezenční přednášky a cvičení s podporou e-learningového portálu s podklady, streamovanými a nahranými přednáškami a prosemináři. Důraz je kladen na aktivní zapojení studentů a diskuzi

Požadavky:

Předpokládají se znalosti teorie grafů a grafových algoritmů v rámci kurzu BI-AG1, jakož i znalosti formálních jazyků a nedeterminismu v rámci kurzu BI-AAG. Znalosti z kurzu BI-AG2 jsou výhodou.

Osnova přednášek:

1. Deterministické Turingovy stroje, výpočet a univerzální Turingův stroj.

2. Nerozhodnutelnost, Halting problém, časová složitost, třída P, věta o časové hierarchii (bez důkazu).

3. Nedeterministické Turingovy stroje, výpočet a univerzální Turingův stroj, příklady výpočtů, třída NP.

4. Many-one redukce, NP-těžkost a NP-úplnost, Cookova věta (bez důkazu), příklady redukcí (Nezávislá množina,...).

5. Vliv čísel na vstupu - silná a slabá NP-těžkost, pseudopolynomiální algoritmy (dynamický program pro problém batohu a příbuzné problémy).

6. Prostorová složitost, třídy DSPACE a NSPACE, Savitchova věta.

7. Řešení těžkých problémů pomocí SAT řešičů.

8. Řešení těžkých problémů pomocí ILP řešičů.

9. Mírně exponenciální algoritmy pro těžké problémy. Heldův-Karpův algoritmus. Využití principu vícenásobné inkluze. Efektivní rekurzivní algoritmy.

10. Aproximační algoritmy pro těžké problémy. Ukázky pro vrcholové pokrytí, s využitím LP, a pro další problémy, např. k-Center.

11. FPT algoritmy a kernelizace pro těžké problémy. Ukázky pro vrcholové pokrytí a případně další problémy.

12. Heuristické metody pro přístup k těžkým problémům. Local Search a metody založené na něm. Metaheuristiky.

13. Orákulové TS a polynomiální hierarchie.

Osnova cvičení:

1. Návrh jednoduchých Turingových strojů

2. Omezení Turingových strojů, snižení počtu pásek

3. Návrh nedeterministických Turingových strojů, charakterizace třídy NP

4. Návrh polynomiálních redukcí

5. Návrh pokročilejších polynomiálních redukcí

6. Návrh pseudopolynomiálních algoritmů

7. Fomulace problémů jako úlohy SAT

8. Fomulace problémů jako úlohy ILP

9. Návrh mírně exponenciálních algoritmů

10. Návrh aproximačních algoritmů

11. Návrh fpt algoritmů

12. Návrh heuristických algoritmů

Cíle studia:

Cílem předmětu je seznámit studenty s úplnými základy teorie vyčíslitelnosti a základy teorie složitosti, zejména nerozhodnutelností, NP-těžkostí a NP-úplností. Dále se základy prostorové složitosti. Následně jsou předvedeny jednotlivé způsoby jak lze ke zvládání těžkých výpočetních problémů přistupovat -- zejména SAT a ILP řešiče, návrh mírně

exponenciálních algoritmů, aproximační algoritmy, parametrizované algoritmy a heuristiky

Studijní materiály:

1. Arora, S., Barak, B: Computational Complexity: A Modern Approach. Cambridge University Press, 2009. ISBN 0521424267.

2. Wigderson, A.: Mathematics and Computation: A Theory Revolutionizing Technology and Science. Princeton University Press, 2019. ISBN 9780691189130.

3. Goldreich, O.: Computational Complexity: A Conceptual Perspective. Cambridge University Press, 2008. ISBN 052188473X.

Poznámka:

předmět je vyučován v češtině

Další informace:
bude doplněno
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 27. 3. 2026
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet8587806.html