The logo of the Faculty Faculty of Mathematics and Physics
Czech version ...

Change encoding
CU > MFF > Study > Bachelor and Master Study > Study programs > I1 Teoretická informatika
The logo of the Faculty
The logo of the Faculty
linka

 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ě
   Content responsibility: STUD
 0   0   1   0   5   7   1 
Last modification: September 1, 2008, http://www.mff.cuni.cz/toISO-8859-2.en/studium/bcmgr/ok/i3b51.htm?auth=yes