Inteligência Artificial
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Informática |
Ocorrência: 2023/2024 - 1S
Ciclos de Estudo/Cursos
Sigla |
Nº de Estudantes |
Plano de Estudos |
Anos Curriculares |
Créditos UCN |
Créditos ECTS |
Horas de Contacto |
Horas Totais |
INF |
172 |
Plano de Estudos |
3 |
- |
6 |
75 |
162 |
Docência - Responsabilidades
Língua de trabalho
Português
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.
Resultados de aprendizagem e competências
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
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
conhecimentos de programação avançados
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
Bibliografia Obrigatória
Elaine Rich;; Inteligencia Artificial
Stuart Russel and Peter Norvig; Artificial Intelligence: A Modern Approach
Robert Wilensky; Common Lispcraft
Métodos de ensino e atividades de aprendizagem
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.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Teste |
45,00 |
Trabalho de campo |
45,00 |
Trabalho laboratorial |
10,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
45,00 |
Frequência das aulas |
45,00 |
Trabalho escrito |
10,00 |
Total: |
100,00 |
Obtenção de frequência
A avaliação contempla dois modos possíveis, sendo um deles (B) vocacionado para alunos com estatuto de trabalhador-estudante.
Modo A (avaliação contínua):
Não contempla exame.
Este Modo só pode ser usado na época normal e não na de recurso ou especial
A falta a qualquer uma das séries de exercícios a realizar nas aulas teóricas (1), práticas (1) e de laboratório (4) dá origem à contabilização de zero valores nessa série. De notar que a média aritmética das 6 séries de exercícios terá de ter nota igual ou superior a 7,0 valores.
• Elementos:
o 6 mini-testes (Exercícios para avaliação)
o 2 projetos de programação (em LISP).
o Teste, realizado na última semana de aulas.
• Nota Final A = Exercícios*10% + Teste*45% + Projeto1*25% + Projeto2*20%
Obrigatório obter nota igual ou superior a 7,0 valores (na escala 0-20) em cada um dos 4 elementos de avaliação.
Modo B (avaliação por exame):
Não serão contados os exercícios das aulas, nem haverá controlo de presenças. Não contempla Teste. O Modo B pode ser usado em qualquer das épocas de avaliação.
• Elementos:
o 2 projetos de programação (em LISP).
o Exame final.
• Nota Final B = Projeto1*25% + Projeto2*20% + Exame final*55%
Obrigatório obter nota igual ou superior a 7,0 valores (na escala 0-20) em cada um dos 3 elementos de avaliação
Conceitos:
1) Mini-testes, ou seja séries de exercícios para avaliação a realizar nas aulas teóricas, práticas e de laboratório, para abordar até 30% dos objetivos de aprendizagem da UC, com uma duração entre 15 a 60 minutos;
2) Teste: Avaliação teórica e prática. Obrigatório apenas para os alunos que tenham optado pelo Modo A, a realizar na última semana de aulas, visando abordar entre 30% a 50% dos objetivos de aprendizagem da UC, com uma duração entre 60 a 120 minutos;
3) Exame Final: Avaliação teórica e prática. Obrigatório apenas para os alunos que tenham optado pelo Modo B
4) projetos de programação, obrigatórios para ambos os modos de avaliação. Os projetos serão realizados em grupos de 2 pessoas. Poderá haver situações excecionais em que se aceitem grupos de 3 ou individuais.
A documentação e o código LISP referentes aos projetos serão objeto de análise de plágio por ferramentas de software adequada, e a partir de um certo grau de similaridade (não muito elevado) conduzirá naturalmente à anulação do projeto. Situações de plágio extremas poderão dar origem a procedimento disciplinar. Todos os projetos serão objeto de avaliação oral individual, que incluirá aspetos conceptuais e a análise da implementação em LISP.
Fórmula de cálculo da classificação final
Cálculo da Nota Final:
A nota correspondente à nota final do Modo de avaliação mais favorável a cada aluno designar-se-á por “Nota Regular”. A nota final será obtida da seguinte forma:
• Nota Final = min (Nota Regular + Bónus; 20)
Em que “Bónus” será o valor de uma componente de avaliação opcional correspondente à realização de exercícios extra, sendo esta oportunidade oferecida a todo o qualquer aluno que o desejar, em qualquer dos Modos e épocas.
Considera-se que o aluno é aprovado na época de avaliação em que conseguir reunir as notas em cada um dos elementos de avaliação necessárias para obter uma Nota Final superior ou igual a 9,5 (que arredonda para 10).