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.
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, em particular para representação eficiente de conhecimento e a solução de 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. Raciocínio em linguagens de Ontologias
  3. Sistemas baseados em Regras
    1. Raciocínio não-monotónico
    2. Programação por Conjuntos de Resposta (ASP)
    3. Sintaxe e Semântica dos construtores principais em ASP
    4. Modelação eficiente com ASP
    5. Aprender programas com ASP

Cursos

Cursos onde a unidade curricular é leccionada: