|
|
 |
.gif) |
I1 - Teoretická informatika
Garantující pracoviště: Katedra teoretické informatiky
a matematické logiky Odpovědný učitel: Doc. RNDr.
Roman Barták, Ph.D.
Povinné předměty
| kód |
Předmět |
Kredity |
ZS |
LS |
| NMAI064 |
Matematické struktury |
|
6 |
— |
2/2 Z+Zk |
| NTIN062 |
Složitost I |
|
5 |
2/1 Z+Zk |
— |
| NTIN064 |
Vyčíslitelnost I |
|
3 |
2/0 Zk |
— |
| NTIN066 |
Datové struktury I |
|
3 |
2/0 Zk |
— |
| NSZZ023 |
Diplomová práce I |
|
6 |
— |
0/4 Z |
| NSZZ024 |
Diplomová práce II |
|
9 |
0/6 Z |
— |
| NSZZ025 |
Diplomová práce III |
|
15 |
— |
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ň 60 kreditů:
| kód |
Předmět |
Kredity |
ZS |
LS |
| NTIN063 |
Složitost II |
|
5 |
— |
2/1 Z+Zk |
| NTIN065 |
Vyčíslitelnost II |
|
3 |
— |
2/0 Zk |
| NTIN067 |
Datové struktury II |
|
3 |
— |
2/0 Zk |
| NAIL076 |
Logické programování I |
|
3 |
2/0 Zk |
— |
| NAIL077 |
Logické programování II |
|
3 |
— |
2/0 Zk |
| NAIL069 |
Umělá inteligence I |
|
3 |
2/0 Zk |
— |
| NAIL070 |
Umělá inteligence II |
|
3 |
— |
2/0 Zk |
| NMAI060 |
Pravděpodobnostní metody |
|
3 |
2/0 Zk |
— |
| NMAI061 |
Metody matematické statistiky |
|
5 |
— |
2/1 Z+Zk |
| NTIN073 |
Rekurze I |
|
5 |
2/1 Z+Zk |
— |
| NTIN074 |
Rekurze II |
|
5 |
— |
2/1 Z+Zk |
| NDMI010 |
Grafové algoritmy |
|
3 |
2/0 Zk |
— |
| NTIN017 |
Paralelní algoritmy |
|
3 |
— |
2/0 Zk |
| NDMI007 |
Kombinatorické algoritmy |
|
6 |
2/2 Z+Zk |
— |
| NTIN087 |
Textové algoritmy |
|
3 |
2/0 Zk |
— |
| NAIL078 |
Lambda-kalkulus a funkcionální
programování I |
|
5 |
2/1 Z+Zk |
— |
| NAIL079 |
Lambda-kalkulus a funkcionální
programování II |
|
5 |
— |
2/1 Z+Zk |
| NAIL021 |
Booleovské funkce a jejich aplikace |
|
3 |
2/0 Zk |
— |
| NAIL031 |
Reprezentace booleovských funkcí |
|
3 |
— |
2/0 Zk |
| NAIL002 |
Neuronové sítě |
|
9 |
4/2 Z+Zk |
— |
| NDBI023 |
Dobývání znalostí |
|
9 |
— |
4/2 Z+Zk |
| NAIL013 |
Aplikace teorie neuronových sítí |
|
3 |
— |
2/0 Zk |
| NAIL060 |
Implementace neuronových sítí I |
|
6 |
2/2 Z+Zk |
— |
| NAIL015 |
Implementace neuronových sítí II |
|
6 |
— |
2/2 Z+Zk |
| NTIN018 |
Pravděpodobnostní analýza algoritmů |
|
3 |
2/0 Zk |
— |
| NAIL085 |
Automatické uvažování a dokazování vět |
|
3 |
2/0 Zk |
— |
| NAIL071 |
Plánování a rozvrhování |
|
3 |
— |
2/0 Zk |
| NAIL029 |
Strojové učení |
|
3 |
— |
2/0 Zk |
| NAIL022 |
Metody logického programování |
|
3 |
2/0 Zk |
— |
| NOPT042 |
Programování s omezujícími podmínkami |
|
3 |
2/0 Zk |
— |
| NSWI084 |
Multiagentní systémy I |
|
3 |
2/0 Zk |
— |
| NSWI125 |
Multiagentní systémy II |
|
3 |
— |
2/0 Zk |
| NDMI025 |
Pravděpodobnostní algoritmy |
|
3 |
— |
2/0 Zk |
| NTIN081 |
Strukturální složitost I |
|
3 |
2/0 Zk |
— |
| NTIN082 |
Strukturální složitost II |
|
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 |
| NAIL025 |
Evoluční algoritmy I |
|
6 |
2/2 Z+Zk |
— |
| NAIL086 |
Evoluční algoritmy II |
|
6 |
— |
2/2 Z+Zk |
| NAIL065 |
Evoluční robotika |
|
5 |
— |
2/1 Z+Zk |
| NAIL068 |
Umělé bytosti |
|
5 |
— |
2/1 Z+Zk |
Studijní plán: Algoritmy a složitost
Garantující pracoviště: Katedra teoretické informatiky
a matematické logiky Odpovědný učitel: RNDr. Václav
Koubek, DrSc.
Zkušební okruhy
- 1. Rekurze a strukturální složitost
- 2. Obecná teorie algoritmů
- 3. Konkrétní algoritmy
Zkušební požadavky
1. Rekurze a strukturální složitost Aritmetická
hierarchie tříd množin, třídy nekonečných větví rekurzivních stromů. Věta
o nízké bázi. Diagonálně nerekurzivní funkce, význam a aplikace.
Základy aritmetického forcingu, 1-generické množiny. Minimální stupně.
Algoritmická náhodnost, 1-náhodné množiny. Strukturální složitost,
Shanonova věta, pravděpodobnostní a neuniformní třídy složitosti,
polynomiální hierarchie a vztah k ostatním třídám. Úplné
problémy, řídké množiny a množiny nad jednoprvkovou abecedou
a separace tříd složitosti pomocí nich. Relativizace. Biimunost
a silná biimunost. Low and high hierarchie. Pokryto
předměty: NTIN073 Rekurze I, NTIN074 Rekurze II, NTIN081
Strukturální složitost I, NTIN082 Strukturální složitost II
Rozšiřující předměty: NTIN085 Vybrané kapitoly z výpočetní
složitosti I, NTIN086 Vybrané kapitoly z výpočetní
složitosti II
2. Obecná teorie algoritmů Pravděpodobnostní
a randomizované algoritmy: měření jejich složitosti a odhad
chyby, generování náhodných dat, třídy algoritmů BPP (Atlantic City), RPP
(Monte Carlo), ZPP (Las Vegas).
Paralelní algoritmy: modely paralelních počítačů, počítače první
a druhé třídy a paralelní teze, techniky paralelních algoritmů.
Dolní odhady, P-úplnost, NC- a AC-třídy.
Deterministické algoritmy: různé typy složitosti (složitost
v nejhorším případě, složitost v průměrném případě, amortizovaná
složitost). Distribuce vstupních dat, statistické metody odhady doby
výpočtu na základě experimentů, interpretace výsledků statistických
metod. Pokryto předměty: NTIN063 Složitost II, NTIN017
Paralelní algoritmy, NTIN018 Pravděpodobnostní analýza algoritmů, NTIN081
Strukturální složitost I, NMAI060 Pravděpodobnostní metody, NMAI061
Metody matematické statistiky Rozšiřující předměty: NDMI025
Pravděpodobnostní algoritmy
3. Konkrétní algoritmy Třídící algoritmy: algoritmy založené
na porovnávání prvků (Shellsort, Mergesort, Heapsort, Quicksort)
a jejich složitost, algoritmy založené na adresovacích metodách
(Bucketsort, Hybridsort). Hledání mediánu a k-tého prvku. Třídící
sítě, paralelní Mergesort, externí třídící algoritmy.
Algebraické algoritmy: algoritmy založené na algoritmech pro násobení
matic, rychlá diskrétní Fourierova transformace, rychlé násobení čísel
a polynomů, algoritmy založené na násobení čísel nebo polynomů. Testy
prvočíselnosti.
Grafové algoritmy: testy planarity, maximální tok v síti
a jeho aplikace (párování, k-souvislost), transitivní uzávěr, metoda
Eulerových cyklů, paralelní algoritmy pro souvislost a bisouvislost
grafu.
Algoritmy testování splnitelnosti pro speciální třídy boolovských
formulí. Pokryto předměty: NTIN067 Datové struktury II,
NDMI010 Grafové algoritmy, NTIN017 Paralelní algoritmy, NAIL021 Booleovské
funkce a jejich aplikace, NDMI025 Pravděpodobnostní algoritmy
Rozšiřující předměty: NDMI007 Kombinatorické algoritmy, NTIN081
Strukturální složitost I, NTIN084 Bioinformatické algoritmy, NTIN085
Vybrané kapitoly z výpočetní složitosti I, NTIN086 Vybrané
kapitoly z výpočetní složitosti II, NAIL025 Evoluční
algoritmy I, NAIL086 Evoluční algoritmy II, NTIN087 Textové
algoritmy
Studijní plán: Neprocedurální programování a umělá
inteligence
Garantující pracoviště: Katedra teoretické informatiky
a matematické logiky Odpovědný učitel: Prof. RNDr.
Petr Štěpánek, DrSc.
Zkušební okruhy
- 1. Logika a výpočtová složitost
- 2. Umělá inteligence
- 3. Neprocedurální programování
- 4. Neuronové sítě
- 5. Adaptivní agenti a evoluční algoritmy
Zkušební požadavky
1. Logika a výpočtová složitost Formální systémy, logika
1. řádu, jazyk, axiomy, odvozovací pravidla. Výroková logika, sémantika
výrokové logiky, tautologie a splnitelnost, dokazatelnost, věta
o dedukci, věta o kompaktnosti a věty o úplnosti.
Konjunktivně-disjunktivní a disjunktivně-konjunktivní tvary
formulí.
Predikátová logika, realizace jazyka, splňování a pravdivost
formulí. Teorie 1. řádu, dokazatelnost, věta o dedukci, věta
o konstantách, prenexní tvary formulí. Věta o korektnosti. Věta
o úplnosti, Henkinovy teorie, úplné teorie. Rozšíření teorie,
konservativní rozšíření, rozšíření teorie o definice funkcí
a predikátů.
Míry výpočtové složitosti, třídy složitosti (P, NP, PSPACE, NPSPACE,
LOGSPACE), NP-těžké a NP-úplné úlohy. Složitost algoritmů
v umělé inteligenci, prohledávání, rezoluční
odvozování. Pokryto předměty: NAIL062 Výroková
a predikátová logika, NTIN062 Složitost I Rozšiřující
předměty: NAIL021 Booleovské funkce a jejich aplikace, NAIL031
Reprezentace booleovských funkcí
2. Umělá inteligence Reprezentace znalostí: stavový prostor,
produkční systémy, reprezentace v predikátové logice. Prohledávací
algoritmy; stromové, grafové a lokální prohledávání, heuristiky,
algoritmus A* a jeho varianty. Hry; minimax a alfa-beta
algoritmy. Splňování omezujících podmínek. Strojové dokazování vět,
dopředné a zpětné řetězení, rezoluční metoda a unifikace.
Automatické plánování; plánovací doména a problém, plánovací
operátory. Zpracování neurčité informace; Bayesovské sítě, podmíněná
nezávislost, d-separace, výpočet v Bayesovské síti, rozhodovací
grafy, Markovské modely, Kalmanův filtr. Strojové učení; prohledávání
prostoru verzí, rozhodovací stromy, Bayesovské učení, maximálně věrohodná
hypotéza, EM algoritmus, zpětnovazební učení. Pokryto předměty:
NAIL069 Umělá inteligence I, NAIL070 Umělá inteligence II
Rozšiřující předměty: NAIL004 Seminář z umělé inteligence I,
NAIL052 Seminář z umělé inteligence II, NAIL021 Booleovské
funkce a jejich aplikace, NAIL031 Reprezentace booleovských funkcí,
NAIL029 Strojové učení, NOPT042 Programování s omezujícími
podmínkami, NAIL071 Plánování a rozvrhování, NAIL068 Umělé bytosti,
NAIL066 Automatické dokazování vět I, NAIL067 Automatické dokazování
vět II, NAIL085 Automatické uvažování a dokazování vět
3. Neprocedurální programování Odlišnost procedurálního
a neprocedurálního způsobu programování. Principy funkcionálního
a logického programování. Lambda kalkulus, syntax, volné
a vázané proměnné a principy redukce. Churchova a Rosserova
vlastnost a konsistence kalkulu. Věty o pevném bodu. Normální
tvar objektů. Typovaný lambda kalkul. Curryho a Churchovy systémy
typování. Základní charakteristiky funkcionálních jazyků.
Hornova logika, Hornovy klausule. Substituce, unifikace a jejich
vlastnosti. SLD-resoluce a logické programy. Korektnost
a úplnost SLD-resoluce. Negace definovaná neúspěchem, obecné logické
programy. Čistý Prolog jako podmnožina Prologu. Postačující podmínky
ukončení výpočtu. Unifikace bez kontroly výskytu proměnných. Implementace
Prologu. Programování s omezujícími podmínkami: inferenční
a prohledávací algoritmy splňování podmínek. Pokryto
předměty: NAIL078 Lambda-kalkulus a funkcionální programování I,
NAIL076 Logické programování I, NOPT042 Programování
s omezujícími podmínkami Rozšiřující předměty: NAIL079
Lambda-kalkulus a funkcionální programování II, NAIL077 Logické
programování II, NAIL022 Metody logického programování, NAIL006
Seminář z logického programování I, NAIL009 Seminář
z logického programování II
4. Neuronové sítě Neurofyziologické minimum: struktura
neuronu, typy synapsí, hlavní části mozku. Modely pro učení
s učitelem: perceptron, algoritmus zpětného šíření, strategie pro
urychlení učení, interní reprezentace znalostí, generalizace,
regularizační techniky. Asociativní paměti; Hebbovské učení, BAM,
Hopfieldův model, energetická funkce a hledání suboptimálních řešení.
Stochastické modely; simulované žíhání, Boltzmannův stroj. Klastrovací
techniky a samoorganizace; k-means algoritmus, hierarchické
shlukování, evoluční stromy. Umělé neuronové sítě založené na principu
učení bez učitele; Ojův algoritmus učení, laterální inhibice, Kohonenovy
mapy a jejich varianty pro učení s učitelem, sítě typu ART.
Modulární, hierarchické a hybridní modely neuronových sítí; adaptivní
směsi lokálních expertů, vícevrstvé Kohonenovy mapy, sítě se vstřícným
šířením, RBF-sítě, kaskádová korelace. Genetické algoritmy, věta
o schématech. Aplikace umělých neuronových sítí a evolučních
technik (analýza dat, bioinformatika, zpracování obrazové informace,
robotika a další). Pokryto předměty: NAIL002 Neuronové
sítě, NAIL013 Aplikace teorie neuronových sítí Rozšiřující předměty:
NTIN084 Bioinformatické algoritmy, NAIL053 Nové trendy v neuronových
sítích I, NAIL060 Implementace neuronových sítí I, NAIL015
Implementace neuronových sítí II, NAIL065 Evoluční robotika, NDBI023
Dobývání znalostí
5. Adaptivní agenti a evoluční algoritmy Agenti
a animati; virtuální svět, autonomie. Architektura agentů;
deliberativní, reaktivní, hybridní. Metody pro řízení agentů; symbolické
a konekcionistické reaktivní plánování, hybridní přístupy (BDI,
Soar), srovnání s plánovacími technikami, etologické motivace.
Problém hledání cesty; navigační pravidla, reprezentace terénu. Simulace
stádního chování. Komunikace a znalosti v multiagentních
systémech, ontologie, problém omezené racionality, Kripkeho sémantika
možných světů. Metody pro učení agentů; zpětnovazební učení.
Umělá evoluce; genetické algoritmy, genetické a evoluční
programování. Základní přístupy a pojmy: populace, fitness,
rekombinace, genetické operátory; dynamická vs. statická selekce,
mechanismus rulety, turnaje, elitismus. Reprezentační schémata, hypotéza
o stavebních blocích. Pravděpodobnostní modely jednoduchého
genetického algoritmu. Koevoluce, otevřená evoluce. Aplikace evolučních
algoritmů (výběr akcí, evoluce expertních systémů, konečných automatů,
adaptace evolučních pravidel, neuroevoluce, řešení kombinatorických
úloh). Pokryto předměty: NAIL068 Umělé bytosti, NAIL025 Evoluční
algoritmy I Rozšiřující předměty: NAIL071 Plánování
a rozvrhování, NAIL054 Adaptivní agenti, NSWI084 Multiagentní
systémy I, NSWI125 Multiagentní systémy II, NAIL086 Evoluční
algoritmy II, NSWI118 Seminář z multiagentních systémů I,
NSWI085 Seminář z multiagentních systémů II, NAIL082 Seminář
z umělých bytostí, NPFL026 Úvod do teoretické sémantiky, NAIL065
Evoluční robotika, NAIL002 Neuronové sítě
|