# 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

Code | Subject | Credits | Winter | Summer | |

NAIL069 | Artificial Intelligence 1 | 4 | 2/1 C+Ex | — | |

NAIL070 | Artificial Intelligence 2 | 3 | — | 2/0 Ex | |

NTIN066 | Data Structures 1 | 6 | — | 2/2 C+Ex | |

NTIN090 | Introduction to Complexity and Computability | 4 | 2/1 C+Ex | — | |

NSZZ023 | Diploma Thesis I | 6 | — | 0/4 C | |

NSZZ024 | Diploma Thesis II | 9 | 0/6 C | — | |

NSZZ025 | Diploma Thesis III | 15 | — | 0/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.

Code | Subject | Credits | Winter | Summer | |

NAIL002 | Neural Networks | 8 | 4/2 C+Ex | — | |

NAIL013 | Applications of Neural Networks Theory | 3 | — | 2/0 Ex | |

NAIL025 | Evolutionary Algorithms 1 | 5 | 2/2 C+Ex | — | |

NAIL029 | Machine Learning | 3 | — | 2/0 Ex | |

NAIL060 | Neural Networks Implementation 1 | 5 | 2/2 C+Ex | — | |

NAIL065 | Evolutionary Robotics | 4 | — | 2/1 C+Ex | |

NAIL068 | Human-like Artificial Agents | 5 | — | 2/2 C+Ex | |

NAIL071 | Planning and Scheduling | 3 | — | 2/0 Ex | |

NAIL076 | Logic Programming 1 | 3 | 2/0 Ex | — | |

NAIL078 | Lambda Calculus and Functional Programming 1 | 4 | 2/1 C+Ex | — | |

NAIL086 | Evolutionary Algorithms 2 | 5 | — | 2/2 C+Ex | |

NAIL094 | Decision procedures and SAT/SMT solvers | 5 | — | 2/2 C+Ex | |

NAIL101 | Probabilistic Robotics | 5 | — | 2/2 C+Ex | |

NAIL104 | Probabilistic graphical models | 3 | 2/0 Ex | — | |

NAIL105 | Internet and Classification Methods | 2 | — | 1/1 C+Ex | |

NAIL106 | Multiagent Systems | 5 | — | 2/2 C+Ex | |

NAIL107 | Machine Learning in Bioinformatics | 5 | — | 2/2 C+Ex | |

NAIL108 | Mobile Robotics | 3 | — | 1/1 MC | |

NAIL116 | Social networks and their analysis | 5 | 2/2 C+Ex | — | |

NAIL126 | Foundations of Robotics | 5 | 2/2 C+Ex | — | |

NOPT042 | Constraint Programming | 5 | 2/2 C+Ex | — | |

NDBI023 | Data Mining | 5 | — | 2/2 C+Ex | |

NSWE001 | Embedded and Real Time Systems | 5 | — | 2/2 C+Ex | |

NSWI035 | Principles of Distributed Systems | 3 | 2/0 Ex | — | |

NPGR036 | Computer Vision | 5 | — | 2/2 C+Ex | |

NPFL067 | Statistical Methods in Natural Language Processing I | 5 | 2/2 C+Ex | — | |

NPFL103 | Information Retrieval | 5 | 2/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.

Code | Subject | Credits | Winter | Summer | |

NAIL004 | Seminar on Artificial Intelligence 1 | 2 | 0/2 C | — | |

NAIL015 | Neural Networks Implementation 2 | 5 | — | 2/2 C+Ex | |

NAIL021 | Boolean Functions and Their Applications | 3 | 2/0 Ex | — | |

NAIL052 | Seminar on Artificial Intelligence 2 | 2 | — | 0/2 C | |

NAIL061 | Seminar on Mobile Robotics | 3 | — | 0/2 C | |

NAIL073 | Robot 1 | 3 | 0/2 C | — | |

NAIL074 | Robot 2 | 3 | — | 0/2 C | |

NAIL077 | Logic Programming 2 | 3 | — | 2/0 Ex | |

NAIL079 | Lambda Calculus and Functional Programming 2 | 4 | — | 2/1 C+Ex | |

NAIL087 | Computers and Cognitive Sciences 1 | 6 | 3/1 C+Ex | — | |

NAIL088 | Computers and Cognitive Sciences 2 | 6 | — | 3/1 C+Ex | |

NAIL109 | Applications of Computational Intelligence Methods | 5 | 0/4 C | — | |

NOPT021 | Game Theory | 3 | 2/0 Ex | — | |

NMAI060 | Probabilistic Methods | 3 | 2/0 Ex | — | |

NMAI067 | Logic in Computer Science | 3 | 2/0 Ex | — | |

NPFL114 | Deep Learning | 7 | — | 3/2 C+Ex | |

NPFL122 | Deep Reinforcement Learning | 5 | 2/2 C+Ex | — | |

NPFL123 | Dialogue Systems | 5 | — | 2/2 C+Ex | |

NDBI031 | Statistical Methods in Data Mining Systems | 2 | 1/1 C+Ex | — | |

NPGR001 | 3D Computer Vision | 5 | 2/2 Ex | — | |

NPGR002 | Digital Image Processing | 4 | 3/0 Ex | — | |

NPGR035 | Machine Learning in Computer Vision | 5 | 2/2 C+Ex | — | |

NSWI054 | Software Engineering for Dependable Systems | 3 | — | 0/2 C | |

NPRG037 | Microcontroller Programming | 5 | 2/2 C+Ex | — | |

NPRG069 | Software Project | 12 | 0/8 C | 0/8 C | |

NPRG070 | Research Project | 9 | 0/6 C | 0/6 C | |

NPRG071 | Company Project | 6 | 0/4 C | 0/4 C | |

NPRG072 | Increased project scope | 3 | 0/2 C | 0/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL069 | Artificial Intelligence 1 | 4 | 2/1 C+Ex | — | |

NAIL070 | Artificial Intelligence 2 | 3 | — | 2/0 Ex | |

NAIL071 | Planning and Scheduling | 3 | — | 2/0 Ex | |

NOPT042 | Constraint Programming | 5 | 2/2 C+Ex | — | |

NAIL094 | Decision procedures and SAT/SMT solvers | 5 | — | 2/2 C+Ex | |

NAIL104 | Probabilistic graphical models | 3 | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL076 | Logic Programming 1 | 3 | 2/0 Ex | — | |

NAIL077 | Logic Programming 2 | 3 | — | 2/0 Ex | |

NAIL078 | Lambda Calculus and Functional Programming 1 | 4 | 2/1 C+Ex | — | |

NOPT042 | Constraint Programming | 5 | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL106 | Multiagent Systems | 5 | — | 2/2 C+Ex | |

NAIL068 | Human-like Artificial Agents | 5 | — | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL025 | Evolutionary Algorithms 1 | 5 | 2/2 C+Ex | — | |

NAIL086 | Evolutionary Algorithms 2 | 5 | — | 2/2 C+Ex | |

NAIL065 | Evolutionary Robotics | 4 | — | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL029 | Machine Learning | 3 | — | 2/0 Ex | |

NPFL067 | Statistical Methods in Natural Language Processing I | 5 | 2/2 C+Ex | — | |

NAIL025 | Evolutionary Algorithms 1 | 5 | 2/2 C+Ex | — | |

NAIL107 | Machine Learning in Bioinformatics | 5 | — | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL002 | Neural Networks | 8 | 4/2 C+Ex | — | |

NAIL060 | Neural Networks Implementation 1 | 5 | 2/2 C+Ex | — | |

NAIL013 | Applications of Neural Networks Theory | 3 | — | 2/0 Ex | |

NAIL065 | Evolutionary Robotics | 4 | — | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NDBI023 | Data Mining | 5 | — | 2/2 C+Ex | |

NAIL116 | Social networks and their analysis | 5 | 2/2 C+Ex | — | |

NAIL105 | Internet and Classification Methods | 2 | — | 1/1 C+Ex | |

NAIL099 | Seminar of machine learning and modelling 1 | 2 | 0/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL126 | Foundations of Robotics | 5 | 2/2 C+Ex | — | |

NAIL101 | Probabilistic Robotics | 5 | — | 2/2 C+Ex | |

NAIL108 | Mobile Robotics | 3 | — | 1/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL126 | Foundations of Robotics | 5 | 2/2 C+Ex | — | |

NPGR001 | 3D Computer Vision | 5 | 2/2 Ex | — | |

NPGR002 | Digital Image Processing | 4 | 3/0 Ex | — | |

NSWI035 | Principles of Distributed Systems | 3 | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL126 | Foundations of Robotics | 5 | 2/2 C+Ex | — | |

NAIL108 | Mobile Robotics | 3 | — | 1/1 MC | |

NSWE001 | Embedded and Real Time Systems | 5 | — | 2/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**

**Recommended courses**

Code | Subject | Credits | Winter | Summer | |

NAIL126 | Foundations of Robotics | 5 | 2/2 C+Ex | — | |

NAIL108 | Mobile Robotics | 3 | — | 1/1 MC | |

NAIL071 | Planning and Scheduling | 3 | — | 2/0 Ex |