Teoretická informatika

2. Teoretická informatika

Garantující pracoviště: Katedra teoretické informatiky a matematické logiky, Informatický ústav Univerzity Karlovy
Oborový garant: Doc. Mgr. Michal Koucký, Ph.D.

Obor se nedělí na zaměření

Absolvent důkladně rozumí teoretickým základům výpočetních systémů a zároveň má přehled o praktických výpočetních metodách a postupech. Rozumí tak různým modelům výpočtů a jejich vzájemným vztahům, zná možnosti a limity efektivních výpočtů, disponuje širokým spektrem algoritmických technik a technik konstrukce datových struktur. Má důkladné znalosti v oblasti pravděpodobnosti a jejího využití při návrhu a analýze algoritmů a výpočetních systémů.

Povinné předměty

kód Předmět Kredity ZS LS
NTIN090 Základy složitosti a vyčíslitelnosti   5 2/1 Z+Zk
NTIN066 Datové struktury I   5 2/1 Z+Zk
NTIN022 Pravděpodobnostní techniky   6 2/2 Z+Zk
NTIN063 Složitost   5 2/1 Z+Zk
NTIN100 Základy přenosu a zpracování informace   5 2/1 Z+Zk
NSZZ023 Diplomová práce I   6 0/4 Z 0/4 Z
NSZZ024 Diplomová práce II   9 0/6 Z 0/6 Z
NSZZ025 Diplomová práce III   15 0/10 Z 0/10 Z

Povinně volitelné předměty

Je požadováno splnění povinně volitelných předmětů z následujícího seznamu v rozsahu alespoň 45 kreditů:

kód Předmět Kredity ZS LS
NAIL021 Booleovské funkce a jejich aplikace   3 2/0 Zk
NAIL031 Reprezentace booleovských funkcí   3 2/0 Zk
NAIL094 Rozhodovací procedury a verifikace   6 2/2 Z+Zk
NMAG563 Úvod do složitosti CSP   3 2/0 Zk
NDMI010 Grafové algoritmy   3 2/0 Zk
NDMI013 Kombinatorická a výpočetní geometrie II   6 2/2 Z+Zk
NDMI018 Aproximační a online algoritmy   6 2/2 Z+Zk
NDMI025 Pravděpodobnostní algoritmy   6 2/2 Z+Zk
NDMI067 Toky, cesty a řezy   3 2/0 Zk
NDMI074 Algoritmy a jejich implementace   6 2/2 Z+Zk
NDMI077 Algoritmy pro specifické třídy grafů   3 2/0 Zk
NDMI088 Grafové algoritmy II   3 2/0 Zk
NMAG446 Logika a složitost   3 2/0 Zk
NMAG536 Důkazová složitost a P vs. NP problém   3 2/0 Zk
NMAI067 Logika v informatice   3 2/0 Zk
NOPT034 Matematické programování a polyedrální kombinatorika   5 2/1 Z+Zk
NSWI072 Algoritmy komprese dat   3 2/0 Zk
NTIN017 Paralelní algoritmy   3 2/0 Zk
NTIN018 Pravděpodobnostní analýza algoritmů   3 2/0 Zk
NTIN033 Experimentální analýza algoritmů   6 2/2 Z+Zk
NTIN064 Vyčíslitelnost   3 2/0 Zk
NTIN067 Datové struktury II   3 2/0 Zk
NTIN073 Rekurze   3 2/0 Zk
NTIN081 Strukturální složitost   3 2/0 Zk
NTIN082 Výpočetní složitost   3 2/0 Zk
NTIN084 Bioinformatické algoritmy   6 2/2 Z+Zk
NTIN085 Vybrané kapitoly z výpočetní složitosti I   5 2/1 Z+Zk
NTIN086 Vybrané kapitoly z výpočetní složitosti II   5 2/1 Z+Zk
NTIN087 Textové algoritmy   3 2/0 Zk
NTIN088 Algoritmická náhodnost   3 2/0 Zk
NTIN096 Pseudo-Booleovská optimalizace   3 2/0 Zk
NTIN097 Problémy na hyperkrychlích   3 2/0 Zk
NTIN098 Pokročilé datové struktury   3 2/0 Zk
NTIN099 Algoritmické aspekty booleovských funkcí a parametrizovaná složitost   3 2/0 Zk
NTIN104 Foundations of theoretical cryptography   5 2/1 Z+Zk
NTIN103 Introduction to Parameterized Algorithms   6 2/2 Z+Zk

Doporučené volitelné předměty

kód Předmět Kredity ZS LS
NOPT016 Celočíselné programování   6 2/2 Z+Zk
NOPT042 Programování s omezujícími podmínkami   6 2/2 Z+Zk
NTIN023 Dynamické grafové datové struktury   3 2/0 Zk

Státní závěrečná zkouška

Ke dvěma povinným okruhům společným pro všechny obory si student vybere dva další okruhy z následující nabídky. Jako poslední okruh si student může zvolit buď také okruh z následující nabídky, nebo libovolný okruh oboru Diskrétní modely a algoritmy, libovolný okruh zaměření Inteligentní agenti nebo Strojové učení oboru Umělá inteligence, nebo libovolný okruh zaměření Počítačová grafika oboru Počítačová grafika a vývoj počítačových her. Celkem tedy každý student dostane pět otázek.

Zkušební okruhy

1. Složitost a vyčíslitelnost
2. Booleovské funkce
3. Algoritmy
4. Pokročilé datové struktury

Zkušební požadavky

1. Složitost a vyčíslitelnost
Výpočty s orákuly a relativizované výpočetní třídy. Polynomiální hierarchie. Neuniformní modely výpočtu. Pravděpodobnostní výpočetní třídy. Interaktivní protokoly, PCP věta. Jednosměrné funkce a pseudonáhodné generátory. Komunikační složitost. Důkazová složitost. Vztahy a separace různých tříd složitosti. Věty o rekurzi a jejich použití. Efektivně neoddělitelné množiny. Relativní vyčíslitelnost a operace skoku. Aritmetická hierarchie.

Doporučené předměty

kód Předmět Kredity ZS LS
NTIN063 Složitost   5 2/1 Z+Zk
NTIN081 Strukturální složitost   3 2/0 Zk
NTIN082 Výpočetní složitost   3 2/0 Zk
NMAG536 Důkazová složitost a P vs. NP problém   3 2/0 Zk
NTIN064 Vyčíslitelnost   3 2/0 Zk
NTIN100 Základy přenosu a zpracování informace   5 2/1 Z+Zk

2. Booleovské funkce
Rezoluce a její úplnost. Třídy booleovských funkcí se speciálními vlastnostmi. Algoritmy pro SAT a MAXSAT. Reprezentace booleovských funkcí pomocí BDD a OBDD. Řešiče pro SAT a jejich využití pro SMT. Parametrizovaná složitost. Hyperkrychlové grafy.

Doporučené předměty

kód Předmět Kredity ZS LS
NTIN099 Algoritmické aspekty booleovských funkcí a parametrizovaná složitost   3 2/0 Zk
NAIL094 Rozhodovací procedury a verifikace   6 2/2 Z+Zk
NTIN097 Problémy na hyperkrychlích   3 2/0 Zk
NAIL021 Booleovské funkce a jejich aplikace   3 2/0 Zk
NAIL031 Reprezentace booleovských funkcí   3 2/0 Zk

3. Algoritmy
Pokročilé grafové algoritmy, toky v síti, algoritmy pro rovinné grafy. Lineární a semidefinitní programování, polynomiální algoritmy, použití v grafových a aproximačních algoritmech. Kombinatorické aproximační algoritmy a schémata. Pravděpodobnostní algoritmy, přibližné počítání, hašování a jeho aplikace. Interaktivní protokoly a verifikace, PCP věta a její aplikace. Paralelní výpočetní modely a třídy, techniky a příklady paralelních algoritmů. Textové algoritmy, posloupnosti, podřetězce, regulární výrazy a vyhledávání.

Doporučené předměty

kód Předmět Kredity ZS LS
NDMI010 Grafové algoritmy   3 2/0 Zk
NDMI018 Aproximační a online algoritmy   6 2/2 Z+Zk
NDMI025 Pravděpodobnostní algoritmy   6 2/2 Z+Zk
NTIN017 Paralelní algoritmy   3 2/0 Zk
NTIN087 Textové algoritmy   3 2/0 Zk

4. Pokročilé datové struktury
Entropie a informace. Samoopravné kódy. Komprese dat. Datové struktury pro práci s řetězci. Dynamické datové struktury pro reprezentaci grafů. Slovníkové datové struktury. Pravděpodobnostní vyhledávací struktury. Pokročilé haldy. Datové struktury pro práci s celými čísly. Persistentní datové struktury. Samoupravující se datové struktury. Cache oblivious analýza a optimální algoritmy. Data-streamové problémy.

Doporučené předměty

kód Předmět Kredity ZS LS
NTIN100 Základy přenosu a zpracování informace   5 2/1 Z+Zk
NTIN067 Datové struktury II   3 2/0 Zk
NTIN087 Textové algoritmy   3 2/0 Zk
NDMI010 Grafové algoritmy   3 2/0 Zk
NSWI072 Algoritmy komprese dat   3 2/0 Zk