Artificial Intelligence


  • Paradigms, areas and applications of Artificial Intelligence.
  • Blind, informed and local search algorithms. Heuristics and evaluation functions. Complexity.
  • Inference in propositional logic, first order logic and Bayesian networks. Limitations.
  • Planning languages and algorithms for plan generation.
  • Learning approaches and its essential algorithms.
  • Model search problems, specify heurisitics and assess its behaviour in practice.
  • Implement search algorithms. Parameterise and experiment with the algorithms.
  • Model and solve problems with Logic Programming.
  • Model knowledge with Bayesian networks. Perform predictive and diagnosis tasks.
  • Choose appropriately instruments weighing the solution quality against the time/space necessary to obtain it.
  • Justify or choose solutions.
  • Do team work with report writing and deadline fulfillment.
  • Abstract modelling capabilities.

General characterization





Responsible teacher

João Alexandre Carvalho Pinheiro Leite


Weekly - 5

Total - 69

Teaching language



Available soon


The adopted book is [Stuart Russell & Peter Norvig, 2010].

Some topics are covered only in [Costa & Simões, 2008].

The remaining books are optional readings.


  • Stuart Russel and Peter Norvig. Artificial Intelligence. A Modern Approach, 3rd edition. Prentice-Hall, Inc., 2010.
  • E. Costa e A. Simões. Inteligência Artificial. Fundamentos e Aplicações. 2nd Edition, FCA, 2008.
  • L. Sterling and E. Shapiro. The Art of Prolog (2nd Ed.). MIT Press, 1994.


  • Matt Ginsberg. Essentials of Artificial Intelligence. Morgan Kaufmann, 1994
  • Nils J. Nilson. Artificial Intelligence: A new synthesis. Morgan Kaufmann, 1998
  • I. Bratko. Prolog Programming for Artificial Intelligence, 3rd Edition, Pearson-Education, 2001.
  • P. Blackburn, J. Bos, e K. Striegnitz. Learn prolog Now! College Publications, 2006.

Teaching method

In the theoretical classes, the essential points of the subject are presented orally and should be complemented with the reading of the advised manual. The laboratory classes are intended for the presentation and realization of practical work on various topics, accompanied by teachers. Some of the practical classes are designed for modeling and performing selected exercises from previous exams, in particular from Bayesian networks and Quest with opponents. Some assignments end with a quiz to assess student performance.

Students have at their disposal a web page that keeps up-to-date information on how it works.

The assessment is continuous and consists of a summative component that includes active participation in practical classes and the completion of the assignments (30% of the final grade), 2 tests (35% of the final grade each) during the semester or a final exam. (70% of grade in replacement of tests). It is necessary to have a test average or exam grade higher than 9.5.

Evaluation method


The curricular unit has two evaluation components that contribute to the approval and final classification:

  • Theoretical-Practical Assessment Component
  • Summative Assessment Component

Theoretical-Practical Assessment Component

It can be carried out through two theoretical-practical tests, on dates to be indicated in CLIP, the two tests contributing with equal weight for the grade of this component. It may also be carried out through an exam, on a date to be indicated in CLIP. The Theoretical-Practical evaluation component, as well as each of its parts (tests and exam), is classified with a grade of 0-20 points, rounded to the first decimal place.

The tests and the exam will take place in person. In the event that this is not possible, and they have to be carried out at a distance, the proctoring tool adopted by FCT NOVA will be used - possibly the Respondus tool (Lock Down Browser + Respondus Monitor) or similar.

In the 2nd test and in the exam it is recommended to use a calculator, as long as it is a scientific calculator. Calculators with graphic functions and/or programming capacity and/or capacity for internet connection and/or mobile phones will not be allowed.

Summative Assessment Component

Students'' performance in practical classes will contribute to this evaluation component, including attendance, active participation in given tasks (modeling exercises, implementation exercises, etc.), and answering small questionnaires (quizes).

The summative assessment component is graded from 0-20, rounded to the first decimal place.

Conditions for Approval and Final Classification

In order to pass the curricular unit, cumulatively, a classification of not less than 9.5 points in the Theoretical-Practical evaluation component is required, and a final classification of not less than 10 points, which is obtained through the weighted average of the two evaluation components, rounded to the nearest integer, with the following relative weights:

  • Theoretical-Practical Assessment Component: 70%
  • Summative Component: 30%

Summative component obtained in previous editions

The grades for the practical or summative assessement component of this course obtained in the academic years 2012/2013 to 2021/2022 are valid for this year''s Summative assessment component. Students who wish to maintain the grade in this component will not be able to enroll in lab classes.

Subject matter


1.Overview of Artificial Intelligence and its applications


2.1.Search agents and search problems.

2.2.Blind search.

2.3.Heuristic search in state-­space graphs. A* algorithm.

2.4.Local search and optimisation problems.

2.5.Adaptative agents.

2.6.Constraint Satisfaction Problems.

2.7.Adversarial search.

3.Knowledge Representation and Reasoning

3.1.Propositional logic.

3.2.First-­order logic.

3.3.Logic programming


4.1.Logical representation of classical planning problems.

4.2.Planning languages and algorithms. Partial order planning.


5.Uncertainty and probabilistic reasoning

5.1.Probability theory and Bayes'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' rule.

5.2.Bayesian networks.

6.Machine Learning

6.1.Learning agents. Approaches to the learning problem.

6.2.Conceptual and inductive learning.

6.3.Neuronal networks.



Informed Search
Local Search
Adverserial Search
Logic Programming
Uncertainty and Proabilistic Reasoning
Automated Learning