Inteligência Artificial
-
Conhecimentos de Base Recomendados
conhecimentos de programação avançados
-
Objetivos
Dar aos alunos conhecimentos de métodos de resolução de problemas baseados em técnicas de Inteligência Artificial, tipicamente recorrendo à representação e utilização de conhecimento. Pretende-se dotar os alunos da compreensão e capacidade de programação de algoritmos de procura em espaço de estados e outros usados em teoria de jogos.
Os alunos adquirem
- capacidades técnicas de programação funcional através do ensino do LISP
- capacidades de trabalho em grupo e de apresentar o seu trabalho a uma audiência, através da apresentação de projetos
- capacidade de resolver problemas complexos através do ensino da procura em espaço de estados -
Métodos de Ensino
Aulas teóricas: exposição com auxílio de slides + avaliação formativa e/ou sumativa.
Aulas práticas: aprendizagem dos conceitos necessários da linguagem de programação LISP e resolução de problemas de programação nesta linguagem + avaliação formativa e/ou sumativa.
Aulas de laboratório: Exercicios de programação para resolver no computador. Algum acompanhamento no desenvolvimento dos projetos da disciplina + avaliação formativa e/ou sumativa. Nos laboratórios será usado o método de pair-programming inclusive na resolução das séries de exercícios para avaliação. -
Estágio(s)
Não
-
Programa
1. Introdução à Inteligência Artificial
1.1. Tipos de problemas e soluções
1.2. Sub-áreas da Inteligência Artificial
2. Aprofundamento do LISP como linguagens de programação para a Inteligência Artificial
2.1. Recursividade e programação funcional
2.2. Átomos e Listas: estruturas de dados e funções; funções lambda.
2.3. O avaliador de LISP; Meta-funções
3. Resolução de problemas
3.1. Definição e características dos problemas
3.1.1. Explosão combinatória
3.1.2. O papel do conhecimento
3.2. Procura em Espaço de Estados
3.2.1. Métodos exaustivos
3.2.2. Satisfação de constrangimentos
3.2.3. Métodos informados; heurísticas; algoritmos
4. Engenharia do conhecimento
4.1. Técnicas de representação de conhecimento
4.1.1. Sistemas baseados em regras
4.1.2. Representação de conhecimento incerto/incompleto
4.2. Processos de Inferência
4.2.1. Inferência baseada em forward chaining e backward chaining
4.2.2. O algoritmo RETE
4.3. Metodologias de Desenvolvimento de Sistemas Periciais
5. Teoria de jogos
5.1. Os jogos como problemas de procura em espaço de estados
5.2. O algoritmo minimax
5.3. O algoritmo alfabeta -
Demonstração de conteúdos
-
-
Demonstração da metodologia
-
-
Docente(s) responsável(eis)
-
-
Bibliografia
Elaine Rich;; Inteligencia Artificial
Stuart Russel and Peter Norvig; Artificial Intelligence: A Modern Approach
Robert Wilensky; Common Lispcraft
Detalhes do curso
-
Código
INF32185
-
Modo de Ensino
PRESENCIAL
-
ECTS
6.0
-
Duração
Semestral
-
Horas
30h Práticas e Laboratórios
45h Teórico-Práticas
