Informatika - Umělá inteligence
Tato stránka vychází z podkladů pro tištěné studijní plány (tzv. Karolinku).
Garantující pracoviště: Katedra teoretické informatiky a matematické logiky
Oborový garant: Prof. RNDr. Roman Barták, Ph.D.
Zaměření:
- – inteligentní agenti
- – strojové učení
- – robotika
- – strojové učení
Cílem programu Informatika - Umělá inteligence je vychovávat absolventy, kteří dokáží používat a vyvíjet techniky umělé inteligence zejména pak v následujících oblastech: řešení úloh a rozhodovacích problémů, automatické plánování a rozvrhování, přírodou inspirované techniky, strojové učení včetně neuronových sítí a robotika včetně práce s přirozeným jazykem a obrazem. Absolvent programu dokáže aplikovat a dále rozvíjet různé techniky návrhu inteligentních systémů, jako je automatické řešení úloh, řízení autonomních agentů (jak virtuálních, tak fyzických), plánování, strojové učení a dolování dat. Je schopen analyzovat a formálně popsat komplexní rozhodovací problém, navrhnout vhodnou řešící techniku a tuto techniku také implementovat. Program má tři zaměření: inteligentní agenti, strojové učení a robotika.
Povinné předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL069 | Umělá inteligence 1 | 4 | 2/1 Z+Zk | — | |
NAIL070 | Umělá inteligence 2 | 3 | — | 2/0 Zk | |
NTIN066 | Datové struktury 1 | 6 | 2/2 Z+Zk | — | |
NTIN090 | Základy složitosti a vyčíslitelnosti | 4 | 2/1 Z+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é profilující předměty
Je požadováno splnění povinně volitelných předmětů z následujícího seznamu v rozsahu alespoň 38 kreditů. Předměty je doporučené volit tak, aby pokrývaly zvolené studijní okruhy státní závěrečné zkoušky.
kód | Předmět | Kredity | ZS | LS | |
NAIL002 | Neuronové sítě | 8 | 4/2 Z+Zk | — | |
NAIL013 | Aplikace teorie neuronových sítí | 3 | — | 2/0 Zk | |
NAIL025 | Evoluční algoritmy 1 | 5 | 2/2 Z+Zk | — | |
NAIL029 | Strojové učení | 3 | — | 2/0 Zk | |
NAIL060 | Implementace neuronových sítí 1 | 5 | 2/2 Z+Zk | — | |
NAIL065 | Evoluční robotika | 4 | — | 2/1 Z+Zk | |
NAIL068 | Umělé bytosti | 5 | — | 2/2 Z+Zk | |
NAIL071 | Plánování a rozvrhování | 3 | — | 2/0 Zk | |
NAIL076 | Logické programování 1 | 3 | 2/0 Zk | — | |
NAIL078 | Lambda-kalkulus a funkcionální programování 1 | 4 | 2/1 Z+Zk | — | |
NAIL086 | Evoluční algoritmy 2 | 5 | — | 2/2 Z+Zk | |
NAIL094 | Rozhodovací procedury a SAT/SMT řešiče | 5 | — | 2/2 Z+Zk | |
NAIL101 | Pravděpodobnostní robotika | 5 | — | 2/2 Z+Zk | |
NAIL104 | Pravděpodobnostní grafické modely | 3 | 2/0 Zk | — | |
NAIL105 | Internet a klasifikační metody | 2 | — | 1/1 Z+Zk | |
NAIL106 | Multiagentní systémy | 5 | — | 2/2 Z+Zk | |
NAIL107 | Strojové učení v bioinformatice | 5 | — | 2/2 Z+Zk | |
NAIL108 | Mobilní robotika | 3 | — | 1/1 KZ | |
NAIL116 | Sociální sítě a jejich analýza | 5 | 2/2 Z+Zk | — | |
NAIL126 | Základy robotiky | 5 | 2/2 Z+Zk | — | |
NOPT042 | Programování s omezujícími podmínkami | 5 | 2/2 Z+Zk | — | |
NDBI023 | Dobývání znalostí | 5 | — | 2/2 Z+Zk | |
NSWE001 | Vestavěné systémy a systémy reálného času | 5 | — | 2/2 Z+Zk | |
NSWI035 | Principy distribuovaných systémů | 3 | 2/0 Zk | — | |
NPGR036 | Počítačové vidění | 5 | — | 2/2 Z+Zk | |
NPFL067 | Statistické metody zpracování přirozených jazyků I | 5 | 2/2 Z+Zk | — | |
NPFL103 | Vyhledávání informací | 5 | 2/2 Z+Zk | — |
Povinně volitelné předměty rozšiřující
Je požadováno splnění povinně volitelných předmětů z následujícího seznamu v rozsahu alespoň 15 kreditů.
kód | Předmět | Kredity | ZS | LS | |
NAIL004 | Seminář z umělé inteligence 1 | 2 | 0/2 Z | — | |
NAIL015 | Implementace neuronových sítí 2 | 5 | — | 2/2 Z+Zk | |
NAIL021 | Booleovské funkce a jejich aplikace | 3 | 2/0 Zk | — | |
NAIL052 | Seminář z umělé inteligence 2 | 2 | — | 0/2 Z | |
NAIL061 | Seminář z mobilní robotiky | 3 | — | 0/2 Z | |
NAIL073 | Robot 1 | 3 | 0/2 Z | — | |
NAIL074 | Robot 2 | 3 | — | 0/2 Z | |
NAIL077 | Logické programování 2 | 3 | — | 2/0 Zk | |
NAIL079 | Lambda-kalkulus a funkcionální programování 2 | 4 | — | 2/1 Z+Zk | |
NAIL087 | Informatika a kognitivní vědy 1 | 6 | 3/1 Z+Zk | — | |
NAIL088 | Informatika a kognitivní vědy 2 | 6 | — | 3/1 Z+Zk | |
NAIL109 | Aplikace metod výpočetní inteligence | 5 | 0/4 Z | — | |
NOPT021 | Algoritmy moderní teorie her | 5 | 2/2 Z+Zk | — | |
NMAI060 | Pravděpodobnostní metody | 3 | 2/0 Zk | — | |
NMAI067 | Logika v informatice | 3 | 2/0 Zk | — | |
NPFL114 | Hluboké učení | 7 | — | 3/2 Z+Zk | |
NPFL122 | Hluboké zpětnovazební učení | 5 | 2/2 Z+Zk | — | |
NPFL123 | Dialogové systémy | 5 | — | 2/2 Z+Zk | |
NDBI031 | Statistické metody v systémech pro dobývání znalostí z dat | 2 | 1/1 Z+Zk | — | |
NPGR001 | 3D počítačové vidění | 5 | 2/2 Zk | — | |
NPGR002 | Digitální zpracování obrazu | 4 | 3/0 Zk | — | |
NPGR035 | Strojové učení v počítačovém vidění | 5 | 2/2 Z+Zk | — | |
NSWI054 | Softwarové inženýrství pro spolehlivé systémy | 3 | — | 0/2 Z | |
NPRG037 | Programování mikrokontrolerů | 5 | 2/2 Z+Zk | — | |
NPRG069 | Softwarový projekt | 12 | 0/8 Z | 0/8 Z | |
NPRG070 | Výzkumný projekt | 9 | 0/6 Z | 0/6 Z | |
NPRG071 | Firemní projekt | 6 | 0/4 Z | 0/4 Z | |
NPRG072 | Zvýšený rozsah projektu | 3 | 0/2 Z | 0/2 Z |
Státní závěrečná zkouška
Student si zvolí tři okruhy z nabídky daného zaměření a z každého dostane po jedné otázce. Jeden okruh si může student vybrat z nabídky jiného zaměření programu. Celkově tedy každý student dostane tři otázky.
Zaměření: Inteligentní agenti
Zkušební okruhy
- 1. Reprezentace znalostí a řešení úloh
- 2. Neprocedurální programování
- 3. Multiagentní systémy
- 4. Přírodou inspirované počítání
- 2. Neprocedurální programování
Zkušební požadavky
1. Reprezentace znalostí a řešení úloh
Výroková a predikátová logika; splnitelnost a dokazatelnost, strojové dokazování vět, model checking (DPLL), dopředné a zpětné řetězení, rezoluční metoda a unifikace. Podmíněná nezávislost, Bayesovské sítě, výpočet v Bayesovské síti, markovské rozhodovací procesy, částečně pozorovatelné markovské rozhodovací procesy, zpětnovazební učení. Prohledávací algoritmy; stavový prostor, stromové, grafové a lokální prohledávání, neinformované a heuristické prohledávání. Hry a základy teorie her. Splňování omezujících podmínek; konzistenční techniky, globální podmínky. Automatické plánování; plánovací doména a problém, plánovací operátory, základní plánovací techniky a algoritmy.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL069 | Umělá inteligence 1 | 4 | 2/1 Z+Zk | — | |
NAIL070 | Umělá inteligence 2 | 3 | — | 2/0 Zk | |
NAIL071 | Plánování a rozvrhování | 3 | — | 2/0 Zk | |
NOPT042 | Programování s omezujícími podmínkami | 5 | 2/2 Z+Zk | — | |
NAIL094 | Rozhodovací procedury a SAT/SMT řešiče | 5 | — | 2/2 Z+Zk | |
NAIL104 | Pravděpodobnostní grafické modely | 3 | 2/0 Zk | — |
2. 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, principy redukce. Churchova a Rosserova vlastnost a konsistence kalkulu. Věty o pevném bodu. Normální tvar objektů. Typovaný lambda kalkul. Substituce a unifikace. Hornovy klauzule, SLD-rezoluce a logické programy. Čistý Prolog, negace definovaná neúspěchem, obecné logické programy. Postačující podmínky ukončení výpočtu. Implementace Prologu. Logické programování s omezujícími podmínkami.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL076 | Logické programování 1 | 3 | 2/0 Zk | — | |
NAIL077 | Logické programování 2 | 3 | — | 2/0 Zk | |
NAIL078 | Lambda-kalkulus a funkcionální programování 1 | 4 | 2/1 Z+Zk | — | |
NOPT042 | Programování s omezujícími podmínkami | 5 | 2/2 Z+Zk | — |
3. Multiagentní systémy
Architektura autonomního agenta; percepce, mechanismus výběru akcí, paměť; psychologické inspirace. Metody pro řízení agentů; symbolické a konekcionistické reaktivní plánování, hybridní přístupy. Problém hledání cesty; navigační pravidla, reprezentace terénu. Komunikace a znalosti v multiagentních systémech, ontologie, řečové akty, FIPA-ACL, protokoly. Distribuované řešení problémů, kooperace, Nashova ekvilibria, Paretova efektivita, alokace zdrojů, aukce. Etologické motivace, modely populační dynamiky. Metody pro učení agentů; zpětnovazební učení, základní formy učení zvířat. Metodologie návrhu, jazyky a prostředí multiagentních systémů.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL106 | Multiagentní systémy | 5 | — | 2/2 Z+Zk | |
NAIL068 | Umělé bytosti | 5 | — | 2/2 Z+Zk |
4. Přírodou inspirované počítání
Genetické algoritmy, genetické a evoluční programování. Teorie schémat, pravděpodobnostní modely jednoduchého genetického algoritmu. Evoluční strategie, diferenciální evoluce, koevoluce, otevřená evoluce. Rojové optimalizační algoritmy. Memetické algoritmy, hill climbing, simulované žíhání. Aplikace evolučních algoritmů (evoluce expertních systémů, neuroevoluce, řešení kombinatorických úloh, vícekriteriální optimalizace).
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL025 | Evoluční algoritmy 1 | 5 | 2/2 Z+Zk | — | |
NAIL086 | Evoluční algoritmy 2 | 5 | — | 2/2 Z+Zk | |
NAIL065 | Evoluční robotika | 4 | — | 2/1 Z+Zk |
Zaměření: Strojové učení
Zkušební okruhy
- 1. Strojové učení a jeho aplikace
- 2. Neuronové sítě
- 3. Dobývání znalostí
- 2. Neuronové sítě
Zkušební požadavky
1. Strojové učení a jeho aplikace
Strojové učení; učení s učitelem a bez učitele, zpětnovazební učení, teoretické aspekty strojového učení. Pravděpodobnostní přístupy; neorientované grafické modely, Gaussovské procesy. Evoluční algoritmy; základní pojmy a teoretické poznatky, hypotéza o stavebních blocích, koevoluce, aplikace evolučních algoritmů. Strojové učení v počítačové lingvistice. Algoritmy pro analýzu biologických sekvencí; hledání motivů v DNA, Markovské modely a strategie pro detekci genů či predikci struktury proteinů.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL029 | Strojové učení | 3 | — | 2/0 Zk | |
NPFL067 | Statistické metody zpracování přirozených jazyků I | 5 | 2/2 Z+Zk | — | |
NAIL025 | Evoluční algoritmy 1 | 5 | 2/2 Z+Zk | — | |
NAIL107 | Strojové učení v bioinformatice | 5 | — | 2/2 Z+Zk |
2. Neuronové sítě
Modely pro učení s učitelem; algoritmus zpětného šíření, strategie pro urychlení učení, regularizační techniky a generalizace. Asociativní paměti; Hebbovské učení a hledání suboptimálních řešení, stochastické modely. Umělé neuronové sítě založené na principu učení bez učitele. Modulární, hierarchické a hybridní modely neuronových sítí. Modely hlubokých neuronových sítí; konvoluční neuronové sítě, sítě typu DBN a LSTM-sítě. Evoluční učení neuronových sítí a jeho aplikace.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL002 | Neuronové sítě | 8 | 4/2 Z+Zk | — | |
NAIL060 | Implementace neuronových sítí 1 | 5 | 2/2 Z+Zk | — | |
NAIL013 | Aplikace teorie neuronových sítí | 3 | — | 2/0 Zk | |
NAIL065 | Evoluční robotika | 4 | — | 2/1 Z+Zk |
3. Dobývání znalostí
Základní paradigmata dobývání znalostí. Příprava dat; výběr atributů a metody pro analýzu jejich relevance. Metody pro dobývání znalostí; asociační pravidla, přístupy založené na principu učení s učitelem a klastrová analýza. Metody pro extrakci charakteristických diskriminačních pravidel a měření jejich zajímavosti. Reprezentace, vyhodnocování a vizualizace získaných znalostí. Modely pro analýzu sociálních sítí; míry centrality, detekce komunit. Praktické využití technik pro dobývání znalostí a analýzu sociálních sítí.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NDBI023 | Dobývání znalostí | 5 | — | 2/2 Z+Zk | |
NAIL116 | Sociální sítě a jejich analýza | 5 | 2/2 Z+Zk | — | |
NAIL105 | Internet a klasifikační metody | 2 | — | 1/1 Z+Zk | |
NAIL099 | Seminář strojového učení a modelování 1 | 2 | 0/1 Z | — |
Zaměření: Robotika
Zkušební okruhy
- 1. Lokalizace a mapování
- 2. Řídící systémy
- 3. Robotické systémy
- 4. Plánování a navigace
- 2. Řídící systémy
Zkušební požadavky
1. Lokalizace a mapování
Základní typy lokalizace. Pravděpodobnostní lokalizace, částicové filtry, metody Monte-Carlo. Reprezentace prostředí, reprezentace map, problém korespondence, mapování v dynamickém prostředí. Vztah lokalizace a mapování, SLAM.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL126 | Základy robotiky | 5 | 2/2 Z+Zk | — | |
NAIL101 | Pravděpodobnostní robotika | 5 | — | 2/2 Z+Zk | |
NAIL108 | Mobilní robotika | 3 | — | 1/1 KZ |
2. Řídící systémy
Řídící systémy robotů. Zpracování signálu, rozpoznávání, feature matching and tracking. Systémy pro modelování, virtuální robotika, simulátory. Distribuované algoritmy, systémy řízení pro multirobotické systémy, komunikace, synchronizace, koordinace. Softwarová realizace, programování pro specifické běhové prostředí, ladící prostředky a postupy.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL126 | Základy robotiky | 5 | 2/2 Z+Zk | — | |
NPGR001 | 3D počítačové vidění | 5 | 2/2 Zk | — | |
NPGR002 | Digitální zpracování obrazu | 4 | 3/0 Zk | — | |
NSWI035 | Principy distribuovaných systémů | 3 | 2/0 Zk | — |
3. Robotické systémy
Základní kinematický a dynamický model, inverzní kinematika a dynamika. Nízkoúrovňový hardware a software, vestavěné systémy. Typy senzorů a aktuátorů, principy a typické oblasti použití. Vysokoúrovňové robotické systémy a jejich řízení: manipulátory, mobilní robotika, autonomní robotika.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL126 | Základy robotiky | 5 | 2/2 Z+Zk | — | |
NAIL108 | Mobilní robotika | 3 | — | 1/1 KZ | |
NSWE001 | Vestavěné systémy a systémy reálného času | 5 | — | 2/2 Z+Zk |
4. Plánování a navigace
Základní navigační postupy: dead-reckoning, odometrie, triangulace a trilaterace, inerciální navigace. Navigační a prohledávací algoritmy. Plánování akcí, formulace plánovacího problému, základní plánovací algoritmy, plánování s časem a zdroji.
Doporučené předměty
kód | Předmět | Kredity | ZS | LS | |
NAIL126 | Základy robotiky | 5 | 2/2 Z+Zk | — | |
NAIL108 | Mobilní robotika | 3 | — | 1/1 KZ | |
NAIL071 | Plánování a rozvrhování | 3 | — | 2/0 Zk |