
Publicação em Diário da República: Despacho n.º 8644/2020 - 08/09/2020
6 ECTS; 2º Ano, 2º Semestre, 28,0 PL + 28,0 TP , Cód. 911941.
Docente(s)
- Manuel Fernando Martins de Barros (1)(2)
- Ana Cristina Barata Pires Lopes (2)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
Não aplicável.
Objetivos
Introduzir os conceitos nucleares na área de Inteligência Artificial (IA) desde a noção de agente, técnicas de pesquisa, programação em Lógica, planeamento e aplicação diferentes abordagens de aprendizagem máquina e de computação evolutiva.
1. Caracterizar a Inteligência Artificial, explicar os seus princípios fundamentais e a avaliar a sua aplicabilidade na solução de problemas.
2. Introduzir os agentes inteligentes, as suas arquiteturas, tipos e funcionalidades.
3. Implementar algoritmos de procura, avaliando as vantagens e limitações de cada algoritmo.
4. Aplicar técnicas de inteligência artificial em jogos como desenvolvimento de agentes inteligentes para jogos de tabuleiro, cartas, etc.
5. Modelação e resolução de problemas com Programação em Lógica. Aplicação da lógica para representar e raciocinar sobre o mundo.
6. Modelação e resolução de problemas utilizando técnicas de Satisfação de Restrições (CSP) como backtracking, propagação de restrições, etc.
7. Domínio de abordagens de aprendizagem máquina (supervisionado, não supervisionado, reforço). Aplicar as diferentes abordagens de aprendizagem máquina e computação evolutiva.
Programa
1. Introdução à Inteligência Artificial (IA)
a) Panorâmica e breve história da IA
b) Aplicações
2. Agentes inteligentes
a) Agentes racionais.
b) Natureza dos ambientes.
c)Arquiteturas de agentes.
3. Métodos de Resolução de Problemas
a) Métodos de procura: não-informados, informados, heurística, A*.
b) Teoria de jogos e agentes jogadores.
c) Problemas de restrição de soluções.
4. Representação do Conhecimento e Raciocínio.
a) Lógica Proposicional.
b) Lógica de Predicados.
c) Programação em lógica.
d) Planeamento.
5. Aprendizagem Computacional
a) Tipos de Aprendizagem.
b) Aprendizagem indutiva e árvores de decisão.
c) Redes Neuronais Artificiais: Princípios básicos e algoritmos fundamentais.
d) Máquinas de Vetores de Suporte (Support Vector Machines).
e) Aprendizagem por Reforço.
f) Aprendizagem em Profundidade (Deep Learning).
6. Computação evolutiva
a) Algoritmos genéticos;
b) Estratégias evolutivas;
c) Programação genética;
d) Técnicas híbridas de otimização.
7. a) Implementação de kits de aprendizagem computacional (Machine Learning) na prototipagem de aplicações. b) Seleção critica das primitivas. c) Correta adequação dos algoritmos de aprendizagem computacional: aos problemas.
Metodologia de avaliação
Avaliação final é a média das seguintes componentes:
- Prova Escrita (teste ou Exame)
- Prática Laboratorial (Labs)
Avaliação Final = Média(Prova Escrita, Labs)
Obs:
1. Em ambas as componentes é exigido uma avaliação mínima de 40%.
2. A avaliação final deve ser superior ou igual a 10 valores (em 20).
Bibliografia
- Alpaydin, E. (2014). Introduction to Machine Learning. (Vol. 3ed.). mitpress.mit.edu: MIT Press
- Barros, M. (2024). SISTEMAS INTELIGENTES E APRENDIZAGEM COMPUTACIONAL FUNDAMENTOS. (Vol. 1). (pp. 1-150). IPT: Unidade Departamental de Engenharias Instituto Politécnico de Tomar
- Bishop , C. (2006). Pattern Recognition and Machine Learning . (Vol. 1). Springer-Verlag New York: Springer
- Russel, S. e Norvig, P. (2020). Artificial Intelligence A Modern Approach.. (Vol. 4). http://aima.cs.berkeley.edu/: Prentice-Hall
- Simões, A. e Costa, E. (2008). Inteligência Artificial Fundamentos e Aplicações. Segunda Edição. (Vol. 2). FCA - Editora de Informática: FCA - Editora de Informática
Método de Ensino
Modelo de ensino baseado em aulas expositivas de conceitos teóricos e exemplos práticos, de aulas práticas laboratoriais e de trabalho autónomo. Privilegiar-se-a a apresentação, análise de problemas/abordagens na área de IA que motivem a aprendizagem
Software utilizado nas aulas
Linguagem de programação Python
Anaconda Framework
Jupiter Notebook
Scikit-learn
TensorFlow
Weka (https://sourceforge.net/projects/weka/)
Aprovado em Conselho Técnico Cientifico: 21 de maio de 2025
Download da Ficha da Unidade Curricular (FUC)