The purpose of the MAI611 AI Fundamentals course is to introduce students to the fundamental principles and techniques that underline software systems that exhibit “intelligent” behavior.

Upon completion of this course, students will have acquired a good understanding of symbolic Artificial Intelligence, the problems that it addresses and the fundamental solution methods that it uses. More specifically the students will know the main knowledge representation techniques and reasoning methods that underlie artificial intelligence problem solving and be able to develop simple solvers for artificial intelligence systems.

The course introduces the fundamental principles and methods used in Artificial Intelligence to solve problems, with a special focus on the search in the state space, action planning, knowledge representation and reasoning, constraint satisfaction, intelligent agents and on the methods for dealing with uncertain knowledge. The course content includes the following thematic units:

·       Introduction to Artificial Intelligence: Turing test for machine intelligence, historical perspective, symbol processing, algorithms and heuristics, main application fields, introduction to knowledge-based systems and architectural organization.

·       Problem Solving in AI: Representation problem, navigation mechanisms (blind search, heuristic guidance), classification and synthesis problems, frame problem. Games. Constraint satisfaction problems. Search methods, meta heuristics, solving through decomposition, constraint relaxation, branch-and-bound techniques. Linear planning.

·       Intelligent Agents and Multiagent Systems: Autonomous/rational agents, abstract and concrete architectures, communication, interaction, and communication between agents.

·       Knowledge Representation and reasoning: Distinction between data, information and knowledge, expertise (types of knowledge), desirable practical and theoretical properties, descriptive/declarative versus procedural representation. Predicate logic. Conjunctive Normal Form and resolution-refutation. Horn clauses and negation as failure. Representing Terminological Knowledge: semantic networks, frames and inheritance. Uncertainty and probabilistic reasoning.

·       Rule-based systems: Production rules, control structure and rule chaining, forward chaining and RETE, backward chaining, goal-driven reasoning and explanations, meta-rules, strategic explanations. Limitations of rule-based systems.

·       Expert Systems Technology: Basic forms of reasoning (deduction, abduction, induction). First and second generation of expert systems (deep knowledge-based systems, multi-modelling, strategic explanations, collaborating specialists, generic tasks architecture).

·       Knowledge engineering methodologies: Developing and modelling expertise, total task investigation methods, basic principles, and multiple models of CommonKADS methodology.

·       Case-based reasoning as an alternative paradigm to model-based reasoning supporting incremental learning.

·       Intelligent Data Analysis: Data mining and data abstraction.

·       AI and Explanations: The significance of explanations in AI, some theories of explanation that have influenced AI, tracing the history of explanations in symbolic AI (rule-based, abductive, causal, case-based, strategic, explanations), the resurgence of interest in explanation in connectionist AI (XAI) – opening the ‘black box’.

Computer vision deals with obtaining a high-level understanding of the world, through analyzing visual data such as 2D/3D images or videos and extracting the semantics and geometry of real scenes. This course aims to build a fundamental understanding of classic computer vision, starting with low-level vision tasks such as filtering and edge detection, moving to mid-level vision tasks such as feature detection and matching, and ending with high-level tasks, such as segmentation and reconstruction. An overview of recent developments in deep learning for computer vision will also be made. 

This interdisciplinary course covers a variety of topics within the intersection of Artificial Intelligence and Human-Computer Interaction, with an emphasis on incorporating human factors in intelligent interactive systems’ design. Specifically, it covers: i) theoretical foundations of intelligent user interfaces and the importance of human factors in such contexts; ii) state-of-the-art processes and techniques for implementing intelligent interactive systems; and iii) research and practice on how intelligent user interfaces can be applied in various application domains.