Course Details

Course Information Package

Course Unit CodeACSC368
Course Unit DetailsBSc Computer Engineering (Computer Electives) - BSc Computer Science (Required Courses) -
Number of ECTS credits allocated6
Learning Outcomes of the course unitBy the end of the course, the students should be able to:
  1. Identify and describe some of the main areas that comprise the field of Artificial Intelligence and discuss the practical application of Artificial Intelligence techniques in computer systems.
  2. Describe and explain the fundamental concepts behind some of the most important Artificial Intelligence algorithms.
  3. Analyze and propose ways of dealing with the main issues involved in various areas of Artificial Intelligence.
  4. Formulate and assess problems in Artificial Intelligence.
  5. Demonstrate and explain the execution of some of the most important Artificial Intelligence algorithms.
  6. Analyse, evaluate and compare the suitability of different Artificial Intelligence techniques for given problems.
Mode of DeliveryFace-to-face
Recommended optional program componentsNONE
Course Contents

Introduction to Artificial Intelligence: What is Artificial Intelligence; The Turing test; History of Artificial Intelligence; The state of the art.

Intelligent Agents: Agents and environments; The concept of rationality; Task environment specification and characteristics; Agent structures; Agent programs; Simple reflex agents; Model-based agents; Goal-based agents; Utility-based agents; Learning agents.

Solving Problems by Searching: Problem-solving agents; Formulating problems; Example toy and real world problems; Measuring problem-solving performance; Breadth-first search; Uniform-cost search; Depth-first search; Depth-limited search; Iterative deepening search; Uninformed search comparison; Avoiding repeated states.

Informed Search Strategies: Greedy best-first search; A* search; Admissible heuristics and optimality of A* search; Heuristic functions; The effect of heuristic accuracy on performance; Inventing admissible heuristic functions.

Local Search Algorithms and Optimization Problems: Local search problem formulation; State space landscape; Hill-climbing search; Simulated annealing search; Local beam search; Genetic algorithms.

Adversarial Search: Optimal decisions in Games; Optimal strategies; The minimax algorithm; Alpha-beta pruning; Evaluation functions and cutting off search; Games with chances; The expectiminimax algorithm; Complexity of expectiminimax.

Logical Agents: Knowledge-based agents; Logic; Propositional logic; Syntax and semantics of propositional logic; Inference; Equivalence, validity and satisfiability; Reasoning patterns in propositional logic; Resolution; Forward and backward chaining; Propositional inference; Agents based on propositional logic.

First-Order Logic: Syntax and semantics of first-order logic; Assertions and queries in first-order logic; Numbers, sets and lists; Knowledge engineering in first-order-logic.

Inference in First-Order Logic: Propositional vs. First-order inference; Unification and lifting; Forward chaining; Backward chaining; Resolution.

Machine Learning: Forms of learning; Inductive learning; Learning decision trees; Expressiveness of decision trees; Inducing decision trees from examples; Noise and overfitting; Ensemble learning; Instance-based learning; The nearest neighbours algorithm.

Recommended and/or required reading:
  • Stuart J. Russel and Peter Norvig, Artificial Intelligence: A Modern Approach, 2nd Edition, Prentice Hall, 2002.
  • George F. Luger, Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 6th Edition, Addison Wesley, 2009.
  • Ivan Bratko, Prolog-Programming for Artificial Intelligence, 3rd Edition, Addison Wesley, 2001.
Planned learning activities and teaching methods

The course is delivered through three hours of lectures per week, which include presentation of new material and demonstration of concepts and algorithms. Lectures also include in-class exercises to enhance the material learning process and to assess the student level of understanding and provide feedback accordingly.

Laboratory work consists of the application of Artificial Intelligence algorithms to different problems and experimentation with different settings. This provides students with practical experience on the ideas and issues discussed in class.

All lecture notes and other material is available to students through the course homepage.

Assessment methods and criteria
Final Exam60%
Language of instructionEnglish
Work placement(s)NO

 Εκτύπωση  Ηλεκτρονικό ταχυδρομείο