Efektivni předzpracování a parametrizované algoritmy
Kód | Zakončení | Kredity | Rozsah |
---|---|---|---|
MI-PAM | Z,ZK | 4 | 2P+1C |
- Přednášející:
- Ondřej Suchý (gar.)
- Cvičící:
- Ondřej Suchý (gar.), Radovan Červený
- Předmět zajišťuje:
- katedra teoretické informatiky
- Anotace:
-
Existuje řada optimalizačních problémů, pro které nejsou známy polynomiální algoritmy (např. NP-úplné problémy). Přesto je v praxi nutné takové problémy přesně řešit. Ukážeme si, že mnoho problémů lze řešit značně efektivněji, než prostým zkoušením všech řešení. Často lze nalézt společnou vlastnost (parametr) vstupů z praxe - např. všechna řešení jsou malá. Parametrizované algoritmy toho využívají tak, že jejich časová složitost je exponenciální pouze v tomto (malém) parametru, kdežto polynomiální vzhledem k délce vstupu (která může být obrovská).
Parametrizované algoritmy také představují způsob jak formalizovat pojem efektivního polynomiálního předzpracování vstupu pro těžké problémy, což v klasické výpočetní složitosti není možné. Takové polynomiální předzpracování je pak vhodným prvním krokem, ať už následně řešení hledáme libovolným způsobem.
Ukážeme si řadu metod jak parametrizované algoritmy navrhovat a zmíníme také jak ukázat, že pro jistý problém (a parametr) takový algoritmus neexistuje. Neopomineme také souvislosti s dalšími přístupy k těžkým problémům jako jsou mírně exponenciální algoritmy nebo approximační schémata.
- Požadavky:
-
Přednáška je určena spíše studentům vyšších ročníků, případně i doktorandům, ale pro pochopení je nutná znalost pouze základních pojmů z teorie grafů a základů složitosti (např. BI-GRA, BI-AG1, BI-AG2). Mohou ji tedy navštěvovat i studenti třetího ročníku bakalářského studia.
- Osnova přednášek:
-
1. Úvod. Omezené prohledávací stromy. Základní definice.
2. Kernelizace jako formalizace pojmu ``efektivní předzpracování.'' Ukázky jednoduchých kernelizací.
3. Prokládání kernelizace s omezenými prohledávacími stromy. Složitější prohledávací stromy.
4. Kernelizace založené na globálních pravidlech.
5. Neexistence polynomiálních kernelů pro některé problémy.
6. Dynamické programovaní, využití principu inkluze a exkluze. Barevné kódování.
7. Iterativní komprese. Hladové vyhledávání.
8. Stromová šířka a základní vlastnosti.
9. Dynamické programování na grafech omezené stromové šířky. Courcellova věta.
10. Approximační schémata Bakerové typu.
11. Minory, jejich využití ke konstrukci parametrizovaných algoritmů.
12. Parametrizované algoritmy pro rovinné grafy (Bidimensionalita).
13. Třídy parametrizované složitosti, parametrizované redukce, vazby na hypotézu ETH.
- Osnova cvičení:
-
Cvičení sestává z řešení zadaných úloh na probíraná témata studenty.
- Cíle studia:
-
Cílem studia je seznámit se se základními metodami návrhu parametrizovaných algoritmů, kernelizace, a metodami používanými pro vyloučení existence takových algoritmů.
- Studijní materiály:
-
M. Cygan, F.V. Fomin, Ł. Kowalik, D. Lokshtanov, D. Marx, Ma. Pilipczuk, Mi. Pilipczuk, S. Saurabh: Parameterized Algorithms, Springer, 2015.
Rodney G. Downey, Michael R. Fellows: Fundamentals of Parameterized Complexity, Springer, 2013.
Rolf Niedermeier: Invitation to Fixed-Parameter Algorithms, Oxford University Press, 2006.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/MI-PAM/
- Další informace:
- https://courses.fit.cvut.cz/MI-PAM/
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Znalostní inženýrství, verze 2016 a 2017 (volitelný předmět)
- Počítačová bezpečnost, verze 2016 až 2019 (volitelný předmět)
- Počítačové systémy a sítě, verze 2016 až 2019 (volitelný předmět)
- Návrh a programování vestavných systémů, verze 2016 až 2019 (volitelný předmět)
- Zaměření Informační systémy a management, verze 2016 až 2019 (volitelný předmět)
- Zaměření Softwarové inženýrství, verze 2016 až 2019 (volitelný předmět)
- Zaměření Webové inženýrství, verze 2016 až 2019 (volitelný předmět)
- Společný magisterský plán před přiřazením do oboru, verze 2016 až 2019 (volitelný předmět)
- Zaměření Systémové programování, verze 2016 až 2019 (volitelný předmět)
- Zaměření Teoretická informatika, verze 2016-2017 (volitelný předmět)
- Specializace Teoretická informatika, verze 2018 až 2019 (volitelný předmět)
- Znalostní inženýrství, verze 2018 to 2019 (volitelný předmět)