Raciocínio Simbólico
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Engenharia Informática |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2024/2025 - 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 |
M.IA |
0 |
Plano de estudos oficial |
1 |
- |
6 |
42 |
162 |
2 |
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
Pretende-se fornecer conhecimento básico de várias areas da Inteligência Artifical Simbólica incluindo raciocínio automático, representação do conhecimento e procura.
A UC irá ser organizada em módulos que abordarão tópicos complementares de natureza teórica, de investigação, de experimentação empírica ou de desenvolvimento e aplicação.
Resultados de aprendizagem e competências
Como resultado desta UC, os estudantes deverão ser capazes de:
O1. Entender os fundamentos de lógica computacional, como base de raciocínio simbólico em IA.
O2. Entender os fundamentos e as principais práticas de programação no paradigma de programação em lógica.
O3. Entender os fundamentos e os principais algoritmos de aplicação de conceitos de raciocínio simbólico em IA.
O4. Entender os fundamentos e práticas de programação em diversas extensões no âmbito do paradigma de programação em lógica.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Conceitos básicos de Lógica Computacional e Programação em Lógica.
Programa
1. Algoritmos para determinar satisfatibilidade:
- Lógica proposicional
- Resolutores SAT; método de Davis–Putnam–Logemann–Loveland baseado na aprendizagem de cláusulas orientada por conflito - Heurísticas de decisão
- Solvers para teorias decidíveis em lógica de primeira ordem
- Algoritmo DPLL para teorias arbitrárias
- Biblioteca para Satisfiability Modulo Theories e demonstrador de teoremas Z3
2. Programação lógica:
- Resolução seletiva linear para cláusula definida
- Modelos mínimos de programas de lógica definida
- Negação por falha; programas lógicos estratificados e estratificados localmente
- Prolog com aplicações para representação do conhecimento e processamento de linguagem natural.
3. Aplicações:
- Métodos de procura de soluções (complexidade temporal e espacial)
- Estratégias de busca informadas e não informadas
- Pesquisa adversária
- Funções heurísticas
Bibliografia Obrigatória
Stuart Jonathan Russell;
Artificial intelligence. ISBN: 978-1-292-40113-3
Armin Biere;
Handbook of satisfiability. ISBN: 978-1-58603-929-5
Daniel Kroening;
Decision procedures. ISBN: 978-3-662-50497-0
C. J. Hogger;
Essentials of logic programming. ISBN: 0-19-853832-4
Bibliografia Complementar
Jean Goubault-Larrecq;
Proof theory and automated deduction. ISBN: 978-0-7923-4593-0
Métodos de ensino e atividades de aprendizagem
Aulas parcialmente expositivas com a apresentação de conceitos, algoritmos e exemplos de aplicação. O restante das aulas será utilizado para exercícios práticos propostos e para o acompanhamento do desenvolvimento de projetos ao longo da UC. Os projetos serão completados fora das aulas. Haverá um exame final individual. Poderão ser realizados testes individuais ao longo do semestre que dispensam o exame final,
Software
Python
Prolog
SAT solvers
Z3 solver
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Participação presencial |
10,00 |
Exame |
50,00 |
Trabalho laboratorial |
40,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
40,00 |
Estudo autónomo |
80,00 |
Frequência das aulas |
42,00 |
Total: |
162,00 |
Obtenção de frequência
Um aluno inscrito obtém frequência se comparecer a pelo menos 3/4 das aulas.
Fórmula de cálculo da classificação final
Fórmula de avaliação:
Nota Final =
10% * Participação nas Aulas +
40% * Projetos práticos +
50% * Testes individuais ou exame final
A nota mínima do exame /testes é 6 em 20.
Provas e trabalhos especiais
Trabalho de estágio/projeto
Avaliação especial (TE, DA, ...)
Melhoria de classificação
Observações