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.
Os testes e o exame são presenciais e sem consulta.

Cada teste vale 25% da nota (ou o exame 50%) e cada trabalho 25% da nota. É obrigatório obter uma média superior a 9,5 valores na média dos testes ou no exame.

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.

  1. Introdução à Representação de Conhecimento e Raciocínio
  2. Sistemas baseados em Ontologias
    1. Modelação de informação através de Ontologias
    2. Linguagens de ontologies (Lógicas de Descrição)
    3. Resposta a consultas a Bases de Dados e Ontologias
    4. Acesso a dados baseado em Ontologias
    5. Integração de dados baseada em Ontologias
    6. Raciocínio em linguagens de Ontologias
  3. Sistemas baseados em Regras
    1. Raciocínio não-monotónico
    2. Datalog
    3. Acesso a dados baseado em Datalog
    4. Integração de dados baseada em Datalog
    5. Programação por Conjuntos de Resposta

Cursos

Cursos onde a unidade curricular é leccionada: