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.
- 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.
- principais linguagens de representação de conhecimento de senso comum em Inteligência Artificial.
- algoritmos de raciocínio sobre essas linguagens, e sua utilidade.
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, 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.
- 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, 2003.
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, e para representação de conhecimento em 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
- Integração de dados baseada em Ontologias
- Raciocínio em linguagens de Ontologias
- Sistemas baseados em Regras
- Raciocínio não-monotónico
- Datalog
- Acesso a dados baseado em Datalog
- Integração de dados baseada em Datalog
- Programação por Conjuntos de Resposta