DSP332 Fundamentals of Artificial Intelligence

Code DSP332
Name Fundamentals of Artificial Intelligence
Status Compulsory/Courses of Limited Choice; Courses of Free Choice
Level and type Undergraduate Studies, Academic
Field of study Computer Science
Academic staff Alla Anohina-Naumeca
Credit points 3.0 (4.5 ECTS)
Parts 1
Annotation Artificial intelligence is a sub-field of computer science that deals with the design and development of such computer systems that possess characteristics (ability to understand, solve problems, infer, learn, etc.) related to the intelligence in human behaviour. Last decades influence of artificial intelligence on society is growing extremely quickly: speech recognition and natural language processing technologies, strategic planning and diagnosis, process and systems control and management, computer vision and authentication, information retrieval and data mining are only some directions where progress is impossible without artificial intelligence. Such a quickly growing role of artificial intelligence in the modern and future society determines the necessity for academically educated specialists, which have mastered fundamentals of artificial intelligence, know its perspectives and have experience in solving problems of artificial intelligence. This course focuses on two fundamental research objects of artificial intelligence: solution search and knowledge representation. The main attention is paid to the construction of a state space of a problem and searching a solution using uninformed and heuristically informed search algorithms, as well as representing knowledge about a problem using different knowledge representation schemas. Implementation of two-person games with full information is used as a practical application of all concepts and algorithms taught in the course. During the semester, students working in class in pairs or small groups solve practical tasks with the aim of strengthening mastered knowledge..
Goals and objectives
of the course in terms
of competences and skills
The goal of the course is to develop students’ knowledge system on fundamental objects of artificial intelligence (search and knowledge representation) and to develop skills of solving complex problems using such methods of artificial intelligence as the construction of a state space, uninformed search algorithms, heuristically informed search algorithms, and knowledge representation schemes
Learning outcomes
and assessment
Students will know definition categories of artificial intelligence, Turing test, goals, approaches, tasks, methods, and research objects of artificial intelligence - Assessment 1, theoretical questions of the exam
Students will know definitions, elements, and characteristics of state space and game tree, general principles of search, search directions, implementation principles of uninformed search algorithms - Assessment 2, theoretical questions of the exam
Students will be able to create a game tree for two-person game with perfect information - Practical task 1, a practical task of the exam
Students will be able to implement uninformed search algorithms - Practical task 2, a practical task of the exam
Students will know definitions and application of heuristic knowledge, constituent parts of heuristic evaluation function, principles of calculation of state space complexity and methods of reducing it, implementation principles of heuristically uninformed search and game algorithms - Assessment 3, theoretical questions of the exam
Students will be able to define a heuristic evaluation function, as well as to implement heuristically informed search algorithms - Practical task 3, a practical task of the exam
Students will be able to apply the Minimax algorithm and the Alpha-Beta pruning for the implementation of two-person games with perfect information - Practical task 4, a practical task of the exam
Students will know what is a knowledge representation, knowledge base, inference engine, as well as elements, representation rules, advantages, and drawbacks of different knowledge representation schemes - Assessment 4, theoretical questions of the exam
Students will be able to represent domain knowledge using different knowledge representation schemes - Practical task 5, a practical task of the exam
Course prerequisites Students must know characteristics and processing capabilities of different data structures such as lists, stacks and queues, implementation methods of recursive algorithms, sets and set operations, relations, their types and characteristics, basic concepts of graph theory and special graph types - trees and networks

[Extended course information PDF]