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
 

Charles University, Faculty of Mathematics and Physics
Ke Karlovu 3, 121 16 Praha 2, Czech Republic
VAT ID: CZ00216208

HR Award at Charles University

4EU+ Alliance