Representação de Conhecimento e Sistemas de Raciocínio
Objetivos
Conhecimento:
- Principais linguagens de representação de ontologias.
- Algoritmos de raciocínio sobre essas linguagens, e sua utilidade.
- Acesso a dados com base em ontologias (ODBA).
- Problemática da expressividade das linguagens de representação versus a complexidade computacional do raciocínio.
- Limitações dessas linguagens para representação de conhecimento de senso comum.
- Programação por conjuntos de resposta como linguagem de representação de conhecimento de senso comum em Inteligência Artificial e para resolver problemas de grande combinatoria.
- Algoritmos de raciocínio sobre essa linguagem, e sua utilidade.
- Modelação eficiente com programação por conjuntos de resposta.
- Aprender programas lógicos (em programação por conjuntos de resposta).
Aptidões:
- Usar as linguagens de representação de conhecimento na modelação de bases de dados, e de domínios de aplicação simples em Inteligência Artificial.
- Aplicar os mecanismos de raciocínio sobre essas linguagens de representação de conhecimento para testes de correção de modelos de Bases de Dados e formulação de perguntas mais expressivas em Bases de Dados.
- Aplicar os mecanismos de raciocínio sobre essas linguagens para derivação de consequências em domínios (em Inteligência Artificial).
- Relacionar essas linguagens com problemas de integração de dados em Bases de Dados;
- Aplicar essas linguagens na representação de problemas, incluindo de problemas de satisfação e de escalonamento.
- Utilizar sistemas que implementam mecanismos de raciocínio sobre essas linguagens de forma eficiente, e integrar com outros sistemas para a construção de aplicações.
Competências:
- Aplicação de conhecimentos teóricos formais em aplicações práticas.
- Pesquisa autónoma para a resolução de problemas.
- Estar ciente de trade-offs no desenho.
Caracterização geral
Código
11539
Créditos
6.0
Professor responsável
João Alexandre Carvalho Pinheiro Leite, Jorg Matthias Knorr
Horas
Semanais - 4
Totais - 56
Idioma de ensino
Português
Pré-requisitos
A disponibilizar brevemente
Bibliografia
Livros de Texto
• Knowledge Representation and Reasoning by Ronald Brachman & Hector Levesque, Morgan Kaufmann 2004.
• Answer Set Solving in Practice by M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub. Synthesis Lectures on Artificial Intelligence and Machine Learning, Morgan and Claypool, 2012.
• Handbook of Knowledge Representation edited by Frank van Harmelen, Vladimir Lifschitz and Bruce Porter, Elsevier 2007.
• The Description Logic Handbook: Theory, Implementation, and Applications. F. Baader, D. Calvanese, D. McGuinness, D. Nardi, and P. F. Patel-Schneider. Cambridge University Press, 2nd edtion, 2010.
Método de ensino
O programa é leccionado em aulas teóricas e práticas. Nas primeiras são leccionados os conceitos e técnicas relevantes.
Nas aulas práticas são resolvidos problemas, feitas experiências em laboratório de computadores, e (parcialmente) desenvolvidos os trabalhos práticos.
Método de avaliação
A avaliação de conhecimentos inclui:
- 2 testes individuais teóricos (ou um exame de recurso), onde é avaliado o conhecimento que os alunos adquiriram dos conceitos e características das técnicas leccionadas.
- 2 trabalhos práticos, elaborados em grupos de 2 estudantes, que consistem: a) no desenvolvimento de uma ontologia e sua utilização para acesso a dados e b) na modelação de um problema usando Programação por Conjuntos de Resposta.
Conteúdo
A UC tem uma primeira parte que se foca em linguagens para especificação de domínios (por vezes também conhecidas como Ontology Languages), e em métodos e algoritmos para raciocínio nestas linguagens. Estas linguagens têm aplicação quer na área de Inteligência Artificial, quer na área de Bases de Dados e Sistemas de Informação. Na segunda parte, a UC foca-se em linguagens e sistemas para representação de conhecimento em problemas típicos da área de Inteligência Artificial, nomeadamente em linguagens para representação de conhecimento de senso comum, em particular para representação eficiente de conhecimento e a solução de problemas de satisfação, escalonamento e planeamento.
- Introdução à Representação de Conhecimento e Raciocínio
- Sistemas baseados em Ontologias
- Modelação de informação através de Ontologias
- Linguagens de ontologies (Lógicas de Descrição)
- Resposta a consultas a Bases de Dados e Ontologias
- Acesso a dados baseado em Ontologias
- Raciocínio em linguagens de Ontologias
- Sistemas baseados em Regras
- Raciocínio não-monotónico
- Programação por Conjuntos de Resposta (ASP)
- Sintaxe e Semântica dos construtores principais em ASP
- Modelação eficiente com ASP
- Aprender programas com ASP