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 branch 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 branch 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 analyse 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).
7.1 Obligatory courses
Code | Subject | Credits | Winter | Summer | |
NTIN090 | Introduction to Complexity and Computability | 5 | 2/1 C+Ex | — | |
NTIN066 | Data Structures I | 5 | 2/1 C+Ex | — | |
NMAI060 | Probabilistic Methods | 3 | 2/0 Ex | — | |
NAIL070 | Artificial Intelligence II | 3 | — | 2/0 Ex | |
NSZZ023 | Diploma Thesis I | 6 | 0/4 C | 0/4 C | |
NSZZ024 | Diploma Thesis II | 9 | 0/6 C | 0/6 C | |
NSZZ025 | Diploma Thesis III | 15 | 0/10 C | 0/10 C |
7.2 Elective courses
The student needs to obtain at least 60 credits for the courses from the following set:
Code | Subject | Credits | Winter | Summer | |
NAIL002 | Neural Networks | 9 | 4/2 C+Ex | — | |
NAIL013 | Applications of Neural Networks Theory | 3 | — | 2/0 Ex | |
NAIL060 | Neural Networks Implementation I | 6 | 2/2 C+Ex | — | |
NAIL021 | Boolean Functions and Their Applications | 3 | 2/0 Ex | — | |
NAIL022 | Methods of Logic Programming | 3 | 2/0 Ex | — | |
NAIL025 | Evolutionary Algorithms I | 6 | 2/2 C+Ex | — | |
NAIL086 | Evolutionary Algorithms II | 6 | — | 2/2 C+Ex | |
NAIL028 | Introduction to Robotics | 6 | 2/2 C+Ex | — | |
NAIL029 | Machine Learning | 3 | — | 2/0 Ex | |
NAIL004 | Seminar on Artificial Intelligence I | 3 | 0/2 C | — | |
NAIL052 | Seminar on Artificial Intelligence II | 3 | — | 0/2 C | |
NAIL061 | Seminar on Mobile Robotics | 3 | — | 0/2 C | |
NAIL065 | Evolutionary Robotics | 5 | — | 2/1 C+Ex | |
NAIL068 | Human-like Artificial Agents | 6 | — | 2/2 C+Ex | |
NAIL069 | Artificial Intelligence I | 5 | 2/1 C+Ex | — | |
NAIL071 | Planning and Scheduling | 3 | — | 2/0 Ex | |
NAIL073 | Robot I | 3 | 0/2 C | — | |
NAIL074 | Robot II | 3 | — | 0/2 C | |
NAIL076 | Logic Programming I | 3 | 2/0 Ex | — | |
NAIL077 | Logic Programming II | 3 | — | 2/0 Ex | |
NAIL078 | Lambda Calculus and Functional Programming I | 5 | 2/1 C+Ex | — | |
NAIL087 | Computers and Cognitive Sciences I | 6 | 3/1 C+Ex | — | |
NAIL088 | Computers and Cognitive Sciences II | 6 | — | 3/1 C+Ex | |
NAIL094 | Decision Procedures and Verification | 6 | — | 2/2 C+Ex | |
NAIL101 | Probabilistic Robotics | 6 | — | 2/2 C+Ex | |
NAIL104 | Probabilistic graphical models | 3 | 2/0 Ex | — | |
NAIL105 | Internet and Classification Methods | 3 | — | 1/1 C+Ex | |
NAIL106 | Multiagent Systems | 6 | — | 2/2 C+Ex | |
NAIL107 | Machine Learning in Bioinformatics | 6 | — | 2/2 C+Ex | |
NAIL108 | Mobile Robotics | 3 | — | 1/1 MC | |
NAIL116 | Social network and their analysis | 6 | 2/2 C+Ex | — | |
NDBI023 | Data Mining | 9 | — | 4/2 C+Ex | |
NDBI031 | Statistical Methods in Data Mining Systems | 3 | 1/1 C+Ex | — | |
NMAI061 | Methods of Mathematical Statistics | 5 | — | 2/1 C+Ex | |
NMAI067 | Logic in Computer Science | 3 | 2/0 Ex | — | |
NOPT021 | Game Theory | 3 | 2/0 Ex | — | |
NOPT042 | Constraint Programming | 6 | 2/2 C+Ex | — | |
NPFL067 | Statistical Methods in Natural Language Processing I | 6 | 2/2 C+Ex | — | |
NPFL068 | Statistical Methods in Natural Language Processing II | 6 | — | 2/2 C+Ex | |
NPFL097 | Selected Problems in Machine Learning | 3 | 0/2 C | — | |
NPFL104 | Machine Learning Methods | 5 | — | 1/2 C+Ex | |
NPGR001 | Computer vision and intelligent robotics | 3 | 2/0 Ex | — | |
NPRG023 | Software Project | 9 | 0/6 C | 0/6 C | |
NPRG027 | Credit for Project | 6 | 0/4 C | 0/4 C | |
NPRG037 | Microcontroller Programming | 6 | 2/2 C+Ex | — | |
NSWE001 | Embedded and Real Time Systems | 6 | — | 2/2 C+Ex | |
NSWI054 | Software Engineering for Dependable Systems | 3 | — | 0/2 MC | |
NPFL114 | Deep Learning | 7 | — | 3/2 C+Ex |
7.3 Other recommended courses
Code | Subject | Credits | Winter | Summer | |
NAIL015 | Neural Networks Implementation II | 6 | — | 2/2 C+Ex | |
NAIL031 | Representations of Boolean Functions | 3 | — | 2/0 Ex | |
NAIL079 | Lambda Calculus and Functional Programming II | 5 | — | 2/1 C+Ex | |
NAIL110 | Practical Course in Robotics | 6 | — | 1/3 MC | |
NPFL038 | Fundamentals of Speech Recognition and Generation | 6 | 2/2 C+Ex | — | |
NPFL054 | Introduction to Machine Learning | 5 | 2/2 C+Ex | — | |
NPFL079 | Algorithms in Speech Recognition | 6 | — | 2/2 C+Ex | |
NPFL087 | Statistical Machine Translation | 6 | — | 2/2 C+Ex | |
NPFL103 | Information Retrieval | 6 | 2/2 C+Ex | — | |
NPGR002 | Digital Image Processing | 5 | 3/0 Ex | — | |
NTIN084 | Bioinformatics Algorithms | 6 | 2/2 C+Ex | — | |
NSWI103 | Project Management System Dynamics I | 3 | 0/2 C | — | |
NSWI104 | Company Management System Dynamics II | 3 | — | 0/2 C |
7.4 State Final Exam
In addition to the two examination areas that are obligatory for all study branches, the student will select three examination areas from the following lists. At least two examination areas must be selected from a chosen specialization (one area is obligatory for the specialization Intelligent agents), one area may be selected from another specialization. In total, each student will get five questions.
Specialization: Intelligent agents
Examination areas
- 1. Knowledge representation (obligatory for the specialization Intelligent agents)
- 2. Problem solving and planning
- 3. Nonprocedural programming
- 4. Multi-agent systems
- 5. Nature inspired computing
Knowledge requirements
1. Knowledge representation
Formal systems, first-order logic, syntax, axioms, inference rules. Propositional logic, its semantics, tautology and satisfiability, provability. Normal forms of formulae. Automated theorem proving, model checking (DPLL), forward and backward chaining, resolution and unification.
Conditional independence, Bayesian networks, evaluation in Bayesian networks, naive Bayes classifier, decision graphs, MDP, POMDP, reinforcement learning, conditional random fields.
Recommended courses
Code | Subject | Credits | Winter | Summer | |
NAIL062 | Propositional and Predicate Logic | 6 | 2/2 C+Ex | — | |
NMAI060 | Probabilistic Methods | 3 | 2/0 Ex | — | |
NAIL069 | Artificial Intelligence I | 5 | 2/1 C+Ex | — | |
NAIL070 | Artificial Intelligence II | 3 | — | 2/0 Ex | |
NAIL104 | Probabilistic graphical models | 3 | 2/0 Ex | — |
2. Problem solving and planning
Knowledge representation: state space, production systems, logical representation. Search algorithms: tree, graph, and local search, heuristics. SAT solving and constraint satisfaction. Problem modeling. Automated planning: planning domain and problem, planning operators. Planning techniques and algorithms, heuristics, and extensions of planning techniques. Planning and scheduling.
Recommended courses
Code | Subject | Credits | Winter | Summer | |
NAIL069 | Artificial Intelligence I | 5 | 2/1 C+Ex | — | |
NAIL071 | Planning and Scheduling | 3 | — | 2/0 Ex | |
NOPT042 | Constraint Programming | 6 | 2/2 C+Ex | — | |
NAIL094 | Decision Procedures and Verification | 6 | — | 2/2 C+Ex |
3. 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
Code | Subject | Credits | Winter | Summer | |
NAIL076 | Logic Programming I | 3 | 2/0 Ex | — | |
NAIL077 | Logic Programming II | 3 | — | 2/0 Ex | |
NAIL078 | Lambda Calculus and Functional Programming I | 5 | 2/1 C+Ex | — | |
NAIL022 | Methods of Logic Programming | 3 | 2/0 Ex | — | |
NOPT042 | Constraint Programming | 6 | 2/2 C+Ex | — |
4. Multi-agent 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.
Recommended courses
Code | Subject | Credits | Winter | Summer | |
NAIL106 | Multiagent Systems | 6 | — | 2/2 C+Ex | |
NAIL068 | Human-like Artificial Agents | 6 | — | 2/2 C+Ex |
5. 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
Code | Subject | Credits | Winter | Summer | |
NAIL025 | Evolutionary Algorithms I | 6 | 2/2 C+Ex | — | |
NAIL086 | Evolutionary Algorithms II | 6 | — | 2/2 C+Ex | |
NAIL065 | Evolutionary Robotics | 5 | — | 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; version space search, supervised learning and self-organization, probabilistic approaches, reinforcement learning, theoretical aspects of machine learning. Evolutionary algorithms; fundamental concepts and theoretical knowledge, the building block hypothesis, coevolution, applications of evolutionary algorithms. Machine learning in computational linguistics. Probabilistic algorithms for biological sequence analysis; search for motifs in DNA sequences, strategies for gene detection and protein structure prediction.
Recommended courses
Code | Subject | Credits | Winter | Summer | |
NAIL029 | Machine Learning | 3 | — | 2/0 Ex | |
NPFL067 | Statistical Methods in Natural Language Processing I | 6 | 2/2 C+Ex | — | |
NAIL025 | Evolutionary Algorithms I | 6 | 2/2 C+Ex | — | |
NAIL107 | Machine Learning in Bioinformatics | 6 | — | 2/2 C+Ex |
2. Neural networks
Neurophysiological minimum. 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 the principle of unsupervised learning. Modular, hierarchical and hybrid models of neural networks. Genetic algorithms and their application for training of artificial neural networks.
Recommended courses
Code | Subject | Credits | Winter | Summer | |
NAIL002 | Neural Networks | 9 | 4/2 C+Ex | — | |
NAIL060 | Neural Networks Implementation I | 6 | 2/2 C+Ex | — | |
NAIL013 | Applications of Neural Networks Theory | 3 | — | 2/0 Ex | |
NAIL065 | Evolutionary Robotics | 5 | — | 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 and evaluation of information retrieval. Practical applications of data mining techniques and methods for information retrieval.
Recommended courses
Code | Subject | Credits | Winter | Summer | |
NDBI023 | Data Mining | 9 | — | 4/2 C+Ex | |
NPFL103 | Information Retrieval | 6 | 2/2 C+Ex | — | |
NAIL105 | Internet and Classification Methods | 3 | — | 1/1 C+Ex | |
NAIL099 | Seminar of machine learning and modelling I | 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
Code | Subject | Credits | Winter | Summer | |
NAIL028 | Introduction to Robotics | 6 | 2/2 C+Ex | — | |
NAIL101 | Probabilistic Robotics | 6 | — | 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
Code | Subject | Credits | Winter | Summer | |
NAIL028 | Introduction to Robotics | 6 | 2/2 C+Ex | — | |
NPGR001 | Computer vision and intelligent robotics | 3 | 2/0 Ex | — | |
NPGR002 | Digital Image Processing | 5 | 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
Code | Subject | Credits | Winter | Summer | |
NAIL028 | Introduction to Robotics | 6 | 2/2 C+Ex | — | |
NAIL108 | Mobile Robotics | 3 | — | 1/1 MC | |
NSWE001 | Embedded and Real Time Systems | 6 | — | 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 and planning with time and resources.
Recommended courses
Code | Subject | Credits | Winter | Summer | |
NAIL028 | Introduction to Robotics | 6 | 2/2 C+Ex | — | |
NAIL108 | Mobile Robotics | 3 | — | 1/1 MC | |
NAIL071 | Planning and Scheduling | 3 | — | 2/0 Ex |