Saltar para:
Logótipo
This page in english Ajuda Autenticar-se
Paulo Jesus: Exposição Retrospectiva
Você está em: Início > EIC0026
Autenticação




Mapa das Instalações
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Programação em Lógica

Código: EIC0026     Sigla: PLOG

Áreas Científicas
Classificação Área Científica
OFICIAL Programação

Ocorrência: 2015/2016 - 1S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado Integrado em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MIEIC 155 Plano de estudos a partir de 2009/10 3 - 4,5 56 121,5

Docência - Responsabilidades

Docente Responsabilidade
Rui Carlos Camacho de Sousa Ferreira da Silva Regente
Henrique Daniel de Avelar Lopes Cardoso Regente

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

O paradigma da Programação em Lógica apresenta uma abordagem declarativa e baseada em processos formais de raciocínio à programação, mais apropriada para a resolução de alguns tipos de problemas. A programação em lógica com restrições permite abordar problemas de satisfação de restrições e de optimização, modelando-os de uma forma directa e elegante.

Objetivos: Adquirir familiaridade com os paradigmas da Programação em Lógica e da Programação com Restrições. Desenvolver as capacidades de raciocínio abstracto e de representação de problemas de forma declarativa.

A Unidade Curricular centra-se no paradigma da programação baseada em lógica de primeira ordem. A componente prática baseia-se na utilização da linguagem de programação Prolog. Adicionalmente, é também abordada a programação em lógica com restrições, com ilustração de diversas aplicações práticas.

Distribuição Percentual: Componente científica: 50%; Componente tecnológica: 50%

Resultados de aprendizagem e competências

No final da Unidade Curricular, os estudantes deverão ter competências para:

  • Reconhecer as categorias de problemas em que a Programação em Lógica (e com Restrições) é particularmente adequada.
  • Aplicar as técnicas de programação em Prolog e em programação lógica com restrições.
  • Construir aplicações completas em Prolog com eventual ligação a outras linguagens.

Os estudantes deverão também ter apreendido competências de programação requeridas nos trabalhos das unidades curriculares da área da Inteligência Artificial.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Embora a Unidade Curricular não tenha pré-requisitos especiais, conhecimentos adquiridos nas unidades curriculares de Fundamentos de Programação, Programação, Algoritmos e Estruturas de Dados, e Concepção e Análise de Algoritmos, são muito úteis para a Unidade Curricular de Programação em Lógica.

Programa

Fundações da Programação em Lógica

  • Lógica proposicional. Lógica de predicados. Regras de inferência. Cláusulas de Horn. Unificação. Resolução. Forma normal conjuntiva.
  • Conceito de programação em lógica. Origens do Prolog.

Conceitos da Programação em Lógica

  • Cláusulas. Predicados. Factos. Perguntas. Regras. Variáveis lógicas. Instanciação.
  • Programação em lógica e bases de dados. Recursividade. Listas. Árvores. Expressões simbólicas.
  • Execução de um programa em lógica. Algoritmo da unificação. Interpretador abstracto. Traçados. Árvores de pesquisa. Negação.

A Linguagem Prolog

  • Modelo de execução. Backtracking. Ordem das regras e dos objectivos. Terminação.
  • Aritmética. Iteração. Inspecção de estruturas. Predicados meta-lógicos. Controlo: cuts e negação. Predicados extra-lógicos.

Técnicas Avançadas de Programação em Prolog

  • Programação não determinística. Estruturas de dados incompletas. Meta-interpretadores. Técnicas de pesquisa.

Programação em Lógica com Restrições

  • Restrições. Satisfação de restrições. Restrições em domínios finitos.
  • Programação em lógica com restrições (PLR). Controlo da pesquisa. Ordenação de variáveis e valores. Modelização de problemas em PLR. Programação com restrições no SICStus Prolog.

 

Bibliografia Obrigatória

Sterling, Leon; The Art of Prolog. ISBN: 0-262-69163-9
Marriot, Kim; Programming with constraints. ISBN: 0-262-13341-5
Clocksin, W. F.; Programming in prolog. ISBN: 0-387-58350-5

Bibliografia Complementar

Torres, Delfim Fernando Marado; Introdução à programação em lógica. ISBN: 972-8021-93-3
Bratko, Ivan; Prolog programming for artificial intelligence. ISBN: 0-201-40375-7
O.Keefe, Richard A.; The craft of Prolog. ISBN: 0-262-15039-5
Stuart Russell, Peter Norvig; Artificial intelligence. ISBN: 978-0-13-207148-2

Métodos de ensino e atividades de aprendizagem

As aulas teóricas são usadas para exposição formal da matéria, acompanhada da apresentação de exemplos e sua discussão. Nas aulas teórico-práticas são propostos exercícios de programação e acompanha-se o desenvolvimento dos trabalhos práticos dos alunos.

Software

SICStus Prolog - http://www.sics.se/sicstus/

Palavras-chave

Ciências Tecnológicas > Engenharia > Engenharia do conhecimento
Ciências Físicas > Ciência de computadores > Programação
Ciências Físicas > Matemática > Lógica matemática
Ciências Físicas > Ciência de computadores > Cibernética > Inteligência artificial

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 50,00
Participação presencial 0,00
Trabalho laboratorial 50,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 10,00
Frequência das aulas 52,00
Trabalho laboratorial 60,00
Total: 122,00

Obtenção de frequência

Um aluno inscrito obtém frequência se cumprir a assiduidade às aulas teórico-práticas (máximo de faltas permitido corresponde a 25% das aulas previstas) e obtiver um mínimo de 7 valores em 20 na avaliação de cada um dos trabalhos práticos. A nota de frequência corresponde à componente Trabalhos.

Fórmula de cálculo da classificação final

Nota Final = 50% * Trabalhos + 50% * Exame

Trabalhos = 65% * Trabalho1 + 35% * Trabalho2

Trabalho1 = 25% * Inter1 + 75% * Final1

Exame: Nota final do Exame.

Trabalhos: Nota global dos Trabalhos Práticos.

Inter1: Nota da Avaliação Intercalar do Trabalho 1.

Final1: Nota da Avaliação Final do Trabalho 1 (Relatório e Demonstração).

Trabalho2: Nota da Avaliação do Trabalho 2 (Relatório e Demonstração).

A nota mínima exigida no Exame para a obtenção de aprovação é de 7 valores em 20. No Exame permite-se a consulta de material de estudo em papel.

Provas e trabalhos especiais

A Unidade Curricular tem 50% de avaliação prática requerida a todos os inscritos e que é o resultado da realização dos trabalhos práticos nas épocas em que são propostos. O 1º trabalho prático tem interface com a Unidade Curricular de LAIG (para os estudantes inscritos nessa UC).

A avaliação em épocas especiais consiste na elaboração de um Trabalho prático e de um Exame escrito (com consulta), valendo cada uma destas componentes 50% da nota final.

Avaliação especial (TE, DA, ...)

A avaliação prática, realizada durante o semestre de funcionamento da Unidade Curricular, é exigida a todos os alunos, independentemente do regime de inscrição e da necessidade de obter avaliação de frequência. A avaliação prática é baseada na realização de 2 trabalhos práticos durante o semestre, em períodos divulgados na página da Unidade Curricular. Os alunos inscritos ao abrigo de regimes especiais sem frequência de aulas práticas devem acordar com os docentes sessões de acompanhamento e avaliação prática.

Melhoria de classificação

Melhoria da componente de Exame: realizada nas épocas de exame disponíveis.

Melhoria da classificação distribuída: a componente distribuída da avaliação é avaliação prática e só pode ser melhorada nas épocas de realização de trabalhos práticos da edição seguinte da Unidade Curricular.

Recomendar Página Voltar ao Topo
Copyright 1996-2018 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2018-12-15 às 00:56:29 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais