Artificial Intelligence

Coordinated by: Department of Theoretical Computer Science and Mathematical Logic
Study branch coordinator: Prof. RNDr. Roman Barták, Ph.D.

Specializations:

Intelligent agents
Machine learning
Robotics

The study program Artificial Intelligence provides education in the area of theoretical and applied knowledge for design of intelligent systems in various areas including data analysis, automated problem solving, and robotic applications. The emphasis is put on deep understanding of formal theoretical foundations and their practical applicability. Students will gain knowledge about design of efficient data structures, about formal modeling of problems and knowledge by using techniques of mathematical logic and probability theory, about algorithms (classical and nature-inspired) for problem solving, for control of autonomous agents, for machine learning, and for data mining, and about complexity analysis of computational methods. The students will learn how to apply these techniques and how to extent them both for abstract (data) and physical (robotic) worlds in single-agent and multi-agent environments. The study program Artificial Intelligence can be studied in three specializations: Intelligent agents, Machine learning, and Robotics.

Graduates can apply and further extend techniques for the design of intelligent systems, including knowledge modeling and formal modeling of complex systems by means of mathematical logic and probability theory, automated problem solving, planning and scheduling, control of autonomous agents (both virtual and physical), machine learning, and data mining. They are also able to analyze and formally model a complex decision problem, propose an appropriate solving technique, and implement it. Graduates can work in research and development in either academia or industry in any position requiring logical reasoning, analytical capabilities, an algorithmic approach, and the exploitation of modern methods of computer science (declarative and nature-inspired programming).

6.1 Obligatory Courses

CodeSubjectCreditsWinterSummer
NAIL069Artificial Intelligence 1 42/1 C+Ex
NAIL070Artificial Intelligence 2 32/0 Ex
NTIN066Data Structures 1 62/2 C+Ex
NTIN090Introduction to Complexity and Computability 42/1 C+Ex
NSZZ023Diploma Thesis I 60/4 C
NSZZ024Diploma Thesis II 90/6 C
NSZZ025Diploma Thesis III 150/10 C

6.2 Elective Courses - Set 1 - Profiling Courses

The student needs to obtain at least 38 credits for the courses from the following set.

CodeSubjectCreditsWinterSummer
NAIL002Neural Networks 84/2 C+Ex
NAIL013Applications of Neural Networks Theory 32/0 Ex
NAIL025Evolutionary Algorithms 1 52/2 C+Ex
NAIL029Machine Learning 32/0 Ex
NAIL060Neural Networks Implementation 1 52/2 C+Ex
NAIL065Evolutionary Robotics 42/1 C+Ex
NAIL068Human-like Artificial Agents 52/2 C+Ex
NAIL071Planning and Scheduling 32/0 Ex
NAIL076Logic Programming 1 32/0 Ex
NAIL078Lambda Calculus and Functional Programming 1 42/1 C+Ex
NAIL086Evolutionary Algorithms 2 52/2 C+Ex
NAIL094Decision procedures and SAT/SMT solvers 52/2 C+Ex
NAIL101Probabilistic Robotics 52/2 C+Ex
NAIL104Probabilistic graphical models 32/0 Ex
NAIL105Internet and Classification Methods 21/1 C+Ex
NAIL106Multiagent Systems 52/2 C+Ex
NAIL107Machine Learning in Bioinformatics 52/2 C+Ex
NAIL108Mobile Robotics 31/1 MC
NAIL116Social networks and their analysis 52/2 C+Ex
NAIL126Foundations of Robotics 52/2 C+Ex
NOPT042Constraint Programming 52/2 C+Ex
NDBI023Data Mining 52/2 C+Ex
NSWE001Embedded and Real Time Systems 52/2 C+Ex
NSWI035Principles of Distributed Systems 32/0 Ex
NPGR036Computer Vision 52/2 C+Ex
NPFL067Statistical Methods in Natural Language Processing I 52/2 C+Ex
NPFL103Information Retrieval 52/2 C+Ex

6.3 Elective Courses - Set 2

The student needs to obtain at least 15 credits for the courses from the following set.

CodeSubjectCreditsWinterSummer
NAIL004Seminar on Artificial Intelligence 1 20/2 C
NAIL015Neural Networks Implementation 2 52/2 C+Ex
NAIL021Boolean Functions and Their Applications 32/0 Ex
NAIL052Seminar on Artificial Intelligence 2 20/2 C
NAIL061Seminar on Mobile Robotics 30/2 C
NAIL073Robot 1 30/2 C
NAIL074Robot 2 30/2 C
NAIL077Logic Programming 2 32/0 Ex
NAIL079Lambda Calculus and Functional Programming 2 42/1 C+Ex
NAIL087Computers and Cognitive Sciences 1 63/1 C+Ex
NAIL088Computers and Cognitive Sciences 2 63/1 C+Ex
NAIL109Applications of Computational Intelligence Methods 50/4 C
NOPT021Game Theory 32/0 Ex
NMAI060Probabilistic Methods 32/0 Ex
NMAI067Logic in Computer Science 32/0 Ex
NPFL114Deep Learning 73/2 C+Ex
NPFL122Deep Reinforcement Learning 52/2 C+Ex
NPFL123Dialogue Systems 52/2 C+Ex
NDBI031Statistical Methods in Data Mining Systems 21/1 C+Ex
NPGR0013D Computer Vision 52/2 Ex
NPGR002Digital Image Processing 43/0 Ex
NPGR035Machine Learning in Computer Vision 52/2 C+Ex
NSWI054Software Engineering for Dependable Systems 30/2 C
NPRG037Microcontroller Programming 52/2 C+Ex
NPRG069Software Project 120/8 C0/8 C
NPRG070Research Project 90/6 C0/6 C
NPRG071Company Project 60/4 C0/4 C
NPRG072Increased project scope 30/2 C0/2 C

6.4 State Final Exam

The student will select three examination areas from the following lists depending on selected specialization and she or he will get one question from each of the selected areas. One area may be selected from another specialization. In total, each student will get three questions.

Specialization: Intelligent agents

Examination areas

1. Knowledge representation and problem solving
2. Nonprocedural programming
3. Multiagent systems
4. Nature inspired computing

Knowledge requirements

1. Knowledge representation and problem solving
Propositional and first-order logic; satisfiability and provability, automated theorem proving, model checking (DPLL), forward and backward chaining, resolution and unification. Conditional independence, Bayesian networks, evaluation in Bayesian networks, MDP, POMDP, reinforcement learning. Search algorithms: state space, tree, graph, and local search, uninformed and heuristic search. Games and basics of theory of games. Constraint satisfaction; consistency techniques, global constraints. Automated planning: planning domain and problem, planning operators, planning techniques and algorithms.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL069Artificial Intelligence 1 42/1 C+Ex
NAIL070Artificial Intelligence 2 32/0 Ex
NAIL071Planning and Scheduling 32/0 Ex
NOPT042Constraint Programming 52/2 C+Ex
NAIL094Decision procedures and SAT/SMT solvers 52/2 C+Ex
NAIL104Probabilistic graphical models 32/0 Ex

2. Nonprocedural programming
Differences between procedural and non-procedural styles of programming. Principles of functional and logic programming. Lambda calculus, its syntax, and reduction principles. Church and Rosser property and consistency of calculus. Fixed point theorems. Normal form of terms. Typed lambda calculus.

Substitution and unification. Horn clauses, SLD resolution and logic programs. Pure Prolog, negation as failure, general logic programs. Sufficient conditions of program termination. Implementation of Prolog. Constraint logic programming.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL076Logic Programming 1 32/0 Ex
NAIL077Logic Programming 2 32/0 Ex
NAIL078Lambda Calculus and Functional Programming 1 42/1 C+Ex
NOPT042Constraint Programming 52/2 C+Ex

3. Multiagent systems
Autonomous agent architectures; agent perception, agent action selection mechanism, agent memory. Psychological inspiration. Methods for agent control; symbolic and connectionist reactive planning, hybrid approaches. Path search problem, steering rules, terrain representation. Communication and knowledge in multiagent systems, ontologies, speech acts, FIPA-ACL, protocols. Distributed problem solving, cooperation, Nash equilibria, Pareto efficiency, source allocation, auctions. Agent design methodologies, agent languages and environments. Ethological inspiration, models of population dynamics. Methods for agent learning; reinforcement learning, basic forms of animal learning. Design methodology, languages and environments for multiagent systems

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL106Multiagent Systems 52/2 C+Ex
NAIL068Human-like Artificial Agents 52/2 C+Ex

4. Nature inspired computing
Genetic algorithms, genetic and evolutionary programming. Schemata theory, probabilistic models of simple genetic algorithm. Evolutionary strategies, differential evolution, coevolution, open ended evolution. Swarm optimization algorithms. Memetic algorithms, hill climbing, simulated annealing. Application of evolutionary algorithms (expert systems evolution, neuroevolution, combinatorial optimization, multi-objective optimization).

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL025Evolutionary Algorithms 1 52/2 C+Ex
NAIL086Evolutionary Algorithms 2 52/2 C+Ex
NAIL065Evolutionary Robotics 42/1 C+Ex

Specialization: Machine learning

Examination areas

1. Machine learning and its applications
2. Neural networks
3. Data mining

Knowledge requirements

1. Machine learning and its applications
Machine learning; supervised learning and self-organization, reinforcement learning, theoretical aspects of machine learning. Probabilistic approaches; undirected graphical models, Gaussian processes. Evolutionary algorithms; fundamental concepts and theoretical knowledge, the building block hypothesis, coevolution, applications of evolutionary algorithms. Machine learning in computational linguistics. Algorithms for biological sequence analysis; search for motifs in DNA sequences, Markov models and strategies for gene detection or protein structure prediction.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL029Machine Learning 32/0 Ex
NPFL067Statistical Methods in Natural Language Processing I 52/2 C+Ex
NAIL025Evolutionary Algorithms 1 52/2 C+Ex
NAIL107Machine Learning in Bioinformatics 52/2 C+Ex

2. Neural networks
Models for supervised learning; the back-propagation algorithm, strategies to speed up the training process, regularization techniques and generalization. Associative memories; Hebbian learning and the search for suboptimal solutions, stochastic models. Artificial neural networks based on unsupervised learning. Modular, hierarchical and hybrid models of neural networks. Models of deep neural networks; convolutional neural networks, deep belief networks, LSTM-networks. Evolutionary learning of neural networks and its applications.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL002Neural Networks 84/2 C+Ex
NAIL060Neural Networks Implementation 1 52/2 C+Ex
NAIL013Applications of Neural Networks Theory 32/0 Ex
NAIL065Evolutionary Robotics 42/1 C+Ex

3. Data mining
Basic paradigms of data mining. Data preparation; attribute selection and methods for relevance analysis of attributes. Data mining methods; association rules, approaches based on supervised learning and cluster analysis. Methods for the extraction of characteristic and discriminant rules and measures of their interestingness. Representation, evaluation and visualization of the extracted knowledge. Models for the analysis of social networks; centrality measures, community detection. Practical applications of data mining and social network analysis.

Recommended courses

CodeSubjectCreditsWinterSummer
NDBI023Data Mining 52/2 C+Ex
NAIL116Social networks and their analysis 52/2 C+Ex
NAIL105Internet and Classification Methods 21/1 C+Ex
NAIL099Seminar of machine learning and modelling 1 20/1 C

Specialization: Robotics

Examination areas

1. Localization and mapping
2. Control systems
3. Robotic systems
4. Planning and navigation

Knowledge requirements

1. Localization and mapping
Basic localization methods. Probabilistic localization, particle filters, Monte-Carlo methods. Environment representation, map formats, correspondence problem, mapping in dynamic environment. Localization and mapping relation, SLAM.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL126Foundations of Robotics 52/2 C+Ex
NAIL101Probabilistic Robotics 52/2 C+Ex
NAIL108Mobile Robotics 31/1 MC

2. Control systems
Robot control systems. Signal processing, object recognition, feature matching and tracking. Modeling systems, virtual robotics, simulators. Distributed algorithms, multirobot control systems, communication, synchronization, coordination. Software implementation, programming for specific runtime environment, debugging tools and techniques.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL126Foundations of Robotics 52/2 C+Ex
NPGR0013D Computer Vision 52/2 Ex
NPGR002Digital Image Processing 43/0 Ex
NSWI035Principles of Distributed Systems 32/0 Ex

3. Robotic systems
Basic kinematic and dynamic model, inverse kinematics and dynamics. Low-level hardware and software, embedded systems. Sensor and actuator types, principles and typical usage. High-level robot systems and their control: manipulators, mobile robotics, autonomous robotics.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL126Foundations of Robotics 52/2 C+Ex
NAIL108Mobile Robotics 31/1 MC
NSWE001Embedded and Real Time Systems 52/2 C+Ex

4. Planning and navigation
Basic navigation techniques: dead-reckoning, odometry, triangulation and trilateration, inertial navigation. Navigation and exploration algorithms. Action planning, planning problem formulation, basic planning techniques and planning with time and resources.

Recommended courses

CodeSubjectCreditsWinterSummer
NAIL126Foundations of Robotics 52/2 C+Ex
NAIL108Mobile Robotics 31/1 MC
NAIL071Planning and Scheduling 32/0 Ex