Inteligência Artificial


To provide the students with the historical and current context of Artificial Intelligence. To teach the functioning of a wide array of Artificial Intelligence methods, from the most classical techniques of search and reasoning to the most cutting-edge methods of machine learning. To raise awareness to the issue of ethics in Artificial Intelligence.

Caracterização geral





Professor responsável

Vítor Manuel Pereira Duarte dos Santos


Semanais - A disponibilizar brevemente

Totais - A disponibilizar brevemente

Idioma de ensino

Português. No caso de existirem alunos de Erasmus, as aulas serão leccionadas em Inglês


None. This is an introductory course, with a wide range of contents, but not very deep, in particular on the most advanced methods. No programming skills required. The mathematics used is extremely basic.


Método de ensino

Lessons include:
   - Theoretical explanations (on the white board)
   - Demos (on the computer)
   - Exercises (on paper)
   - Usage of some software (on the computer)
   - Tutorials by invited lecturers


Método de avaliação

The theoretical evaluation will have a final written exam. 

The practical evaluation is composed by two components:

 - Prolog´s Project  (mandatory) - 20%  

 - Individual assignments  (4 small size assignments  to be chosen between 10 that will be proposed during the classes) - 80% 


     one medium size AI project (Game of life)  - 80%


The grades of the practical and the theoretical assessments must be greater than eight.


1st phase Evaluation: Theoretical exam (30%) + Practice(70%)

2nd phase Evaluation: Theoretical exam (100%) or Theoretical exam (50%) + Practice(50%)



The curricular unit is organized in seven Learning Units (LU):

1 - Overview and brief history of AI

AI and Philosophy

Historical Overview of AI and applications

Paradigms and approaches

2 - Knowledge Representation and Reasoning

Software Agents (Cognitive Agents v. Reactive Agents, BDI model,...)

Propositional Logic & First Order Logic 

Logic Programming 

An Introduction to Prolog 

3 - Problem Solving

Agents and search problems 

Blind search (breadth-first, uniform cost, depth-first, bidirectional)

Heuristic search (informed) ( A*, iterative deepening A* (IDA*), Tabu, SMA`*) 

Local search and optimization problems ((hill climbing, simulated annealing)

Search with opponents (Games)

4 - Machine Learning

Apprentice agents. Approaches to the problem of learning

Artificial Neural Networks

   Neurobiology fundamentals

   McCulloch & Pitts¿ Neuron

   Hebb's Law

   Simple Pattern Recognition Networks: Perceptron, Adaline (hints to non-linearly separable problems and multi-layer neural nets);

   Pattern Associations (Hetero-Associative, Self-associative, Bidirectional (BAM))

   Unsupervised Competition-based networks (Maxnet, Mexican Hat, Hamming Net,  SOM)

   Multilayered artificial neural network (Backpropagation, Neocognitron)

5 -  Evolutionary computing

An introduction to Genetic Algorithms

Artificial Life

6.-  Distributed AI

Software Agent Societies

Social Reasoning / Social Laws

Strategies and approaches

7.- Future of Artificial Intelligence and social/philosophical impacts