• Nenhum resultado encontrado

Universidade de Aveiro

N/A
N/A
Protected

Academic year: 2023

Share "Universidade de Aveiro"

Copied!
13
0
0

Texto

(1)

Universidade de Aveiro

1998/99

1o¯ Semestre 2o¯ Semestre Anual

¡¡

@@

Disciplina Introdu¸c˜ao `a Programa¸c˜ao em L´ogica (IPL)

Curso MAC

Docente Delfim Fernando Marado Torres – 1107

Aula Sum´ario

Te´orica 03.03.99

4a¯-feira, 10h30–12h00

Apresenta¸c˜ao:

– Enquadramento e Objectivos da disciplina;

– Organiza¸c˜ao e esquema de funcionamento;

– Avalia¸c˜ao;

– Programa e Bibliografia.

No¸c˜ao de Programa¸c˜ao e seus Paradigmas:

– Caracteriza¸c˜ao do conceito de problema, resolu¸c˜ao e solu¸c˜ao.

– Fases da programa¸c˜ao: da an´alise aos testes, passando pela prototipagem.

– Compara¸c˜ao do Paradigma de Programa¸c˜ao Imperativo com o Declarativo (Procedimental e L´ogico); referˆencia a linguagens t´ıpicas de cada um destes paradigmas.

O Docente

Aula Sum´ario

Te´orica 05.03.99

6a¯-feira, 9h00–10h30

Introdu¸c˜ao `a Programa¸c˜ao L´ogica:

– Conceitos e defini¸c˜oes base: constante, vari´avel, predicado, termo, ´atomo l´ogico, cl´ausula (facto e regra)

– Outros conceitos: Base de Conhecimento, programa l´ogico,

(2)

Te´orico–Pr´atica 05.03.99

6a¯-feira, 10h30–12h30

Como representar conhecimento em Prolog e como “ques- tionar” a base de conhecimento:

– exemplo de uma pequena base de conhecimento sobre video-gravadores;

– exemplo de um sistema de informa¸c˜ao para uma unidade de arqueologia.

Ida aos computadores e introdu¸c˜ao ao uso do SWI-Prolog:

– como introduzir/alterar conhecimento usando um editor de texto em ambiente Win31;

– como chamar o interpretador e sair;

– como consultar uma base de conhecimento;

– cria¸c˜ao do ficheiro “arqueologia.pl”. Coloca¸c˜ao de v´arias quest˜oes (recorrendo j´a ao conceito devari´avel).

O Docente

Aula Sum´ario

Te´orica 10.03.99

4a¯-feira, 10h30–12h00

Os enunciados dos primeiros trabalhos pr´aticos. Algumas considera¸c˜oes a esse respeito.

Programa¸c˜ao L´ogica: do enunciado informal `as cl´ausulas que descrevem o Universo de Conhecimento —as diferentes alter- nativas de representa¸c˜ao e as escolhas que ter˜ao de ser feitas.

V´arios exerc´ıcios de consolida¸c˜ao.

O Docente

(3)

Te´orica 12.03.99

6a¯-feira, 9h00–10h30

Mecanismo de inferˆencia e unifica¸c˜ao.

Programa¸c˜ao em L´ogica e a linguagemProlog.

O que se espera de um programa em l´ogica?

Introdu¸c˜ao `a Programa¸c˜ao L´ogica:

– Conceitos: substitui¸c˜ao, instˆancia e unifica¸c˜ao;

– O processo de prova e resolu¸c˜ao de quest˜oes: o conceito de

´

arvore de prova

O Docente

Aula Sum´ario

Te´orico–Pr´atica 12.03.99

6a¯-feira, 10h30–12h30 – Forma¸c˜ao de grupos de trabalho.

– Consolida¸c˜ao, atrav´es de exerc´ıcios, de alguns conceitos:

– Regras (implica¸c˜ao e conjun¸c˜ao);

– Defini¸c˜ao de regras recursivas;

– Como ´e que o prolog responde `as quest˜oes (retrocesso ou

“backtracking”).

O Docente

Aula Sum´ario

Te´orica 17.03.99

4a¯-feira, 10h30–12h00

Introdu¸c˜ao `a Programa¸c˜ao L´ogica: o processo de prova e a constru¸c˜ao (n˜ao determin´ıstica) de uma ´arvore de prova.

V´arios exerc´ıcios de consolida¸c˜ao.

O Docente

(4)

Te´orica 19.03.99

6a¯-feira, 9h00–10h30

Significado operacional determin´ıstico: constru¸c˜ao de´arvores de procura. Uso da “estrat´egia standard”. Exemplifica¸c˜ao.

Introdu¸c˜ao ao conceito de lista; defini¸c˜ao formal (recursiva).

Implementa¸c˜ao do predicado pertence/2: pertence(O,L) resulta verdadeiro se, e s´omente se,Opertence `a lista L. Uso deste predicado para mostrar que uma ´arvore de procura pode ter ramos infinitos (e tamb´em pode ter um n´umero infinito de folhas com sucesso).

Influˆencia da ordem das cl´ausulas.

O Docente

Aula Sum´ario

Te´orico–Pr´atica 19.03.99

6a¯-feira, 10h30–12h30 – Aritm´etica em Prolog: +,−,∗,/,mod,//; e o operadoris – Operadores de compara¸c˜ao: >,<,>=, =<, =:=, =\= – Resolu¸c˜ao do “Problema do macaco e das bananas”

– Ida aos computadores:

– testein loco da resolu¸c˜ao adoptada para o problema do macaco e das bananas;

– esclarecimento de d´uvidas acerca dos trabalhos.

O Docente

Aula Sum´ario

Te´orica 24.03.99

4a¯-feira, 10h30–12h00

Entrega dos primeiros trabalhos pr´aticos.

Os enunciados dos segundos trabalhos.

Vis˜ao procedimental da programa¸c˜ao em l´ogica.

Introdu¸c˜ao ao controlo: o corte. Significado operacional do corte e sua influˆencia no percurso standard da ´arvore de procura. Aplica¸c˜oes do corte. V´arios exemplos.

O Docente

(5)

Te´orica 26.03.99

6a¯-feira, 9h00–10h30

Apresenta¸c˜ao, discuss˜ao com os grupos e avalia¸c˜ao das reso- lu¸c˜oes dos primeiros trabalhos pr´aticos.

O Docente

Aula Sum´ario

Te´orico–Pr´atica 26.03.99

6a¯-feira, 10h30–12h30

Continua¸c˜ao da apresenta¸c˜ao, discuss˜ao com os grupos e avalia¸c˜ao das resolu¸c˜oes dos primeiros trabalhos pr´aticos.

O Docente

Aula Sum´ario

Te´orica 07.04.99

4a¯-feira, 10h30–12h00

Para al´em do formalismo l´ogico. O predicadocall/1.

Defini¸c˜ao do predicado ifthenelse/3 (condicional) e do predicado repeat/0. Exemplifica¸c˜ao da utilidade dos predi- cados implementados.

O Docente

Aula Sum´ario

Te´orica 09.04.99

6a¯-feira, 9h00–10h30

Nega¸c˜ao como falha.

A constantefail.

A hip´otese do “Mundo Fechado”.

Resolu¸c˜ao de exerc´ıcios.

O Docente

(6)

Te´orico–Pr´atica 09.04.99

6a¯-feira, 10h30–12h30

Manipula¸c˜ao de listas:

– Defini¸c˜ao (recursiva) de lista (introduzida na aula te´orica);

– Representa¸c˜ao de listas em Prolog (introduzida na aula te´orica);

– Consolida¸c˜ao do conceito de lista, `a custa da resolu¸c˜ao de v´arios exerc´ıcios: adiciona/3, tira/3, concatena/3, adiciona fim/3, inverte/2, comprimento par/1, comprimento impar/1.

Fez-se notar a versatilidade dos predicados implementados, os quais podem ser usados com fins n˜ao pensados `a priori (uso de v´arias configura¸c˜oes poss´ıveis para inputs e out- puts).

O Docente

Aula Sum´ario

Te´orica 14.04.99

4a¯-feira, 10h30–12h00

Conceito dePilha.

As nota¸c˜oes infixa, pr´efixa e p´osfixa.

Algoritmo para o c´alculo do valor de uma express˜ao p´osfixa.

Constru¸c˜ao e decomposi¸c˜ao de termos: =.. ename. O pre- dicado pr´e-definidonumber/1.

Come¸co da implementa¸c˜ao em Prolog do programa para o c´alculo do valor de express˜oes matem´aticas (ficheiromath.pl).

Concretamente, implementaram-se os seguintes predica- dos principais: primeiros/4, postfix/2, str list/2, valor/2.

(Deixou-se apenas a defini¸c˜ao do predicado infix to postfix/2 para a pr´oxima aula.)

O Docente

Aula Sum´ario

Te´orica 16.04.99

6a¯-feira, 9h00–10h30

Algoritmo de convers˜ao de uma express˜ao infixa para p´osfixa.

Conclus˜ao da implementa¸c˜ao em Prolog do programa para o c´alculo do valor de express˜oes matem´aticas (ficheiromath.pl).

O Docente

(7)

Te´orico–Pr´atica 16.04.99

6a¯-feira, 10h30–12h30

Resolu¸c˜ao do Problema“ ´Elle-´e-´erre”, proposto no CeNPL’99 (Concurso/encontro Nacional de Programa¸c˜ao em L´ogica de 1999).

Resolu¸c˜ao do Problema“Os dez degraus do Miguel”, proposto no CNPL’98.

O Docente

Aula Sum´ario

Te´orica 21.04.99

4a¯-feira, 10h30–12h00

Grafos. V´arios tipos de grafos: n˜ao orientados, orientados (digrafos) e grafos pesados (redes). Uma poss´ıvel representa-

¸c˜ao de grafos em Prolog, usando o predicadoarco. Resolu¸c˜ao dos seguintes problemas:

– encontrar um caminho entre dois v´ertices;

– caminho de Hamilton;

– o caminho de custo m´ınimo;

– o caminho de custo m´aximo.

O Docente

Aula Sum´ario

Te´orica 23.04.99

6a¯-feira, 9h00–10h30

Grafos: representa¸c˜oes alternativas emProlog. Compara¸c˜ao das v´arias representa¸c˜oes: identifica¸c˜ao das vantagens e desvantagens de acordo com os problemas a resolver.

Constru¸c˜ao de predicados que transformam grafos de uma representa¸c˜ao para outra.

Arvores. Implementa¸c˜´ ao do predicadoeArvoreque indica se um determinado grafo ´e ou n˜ao uma ´arvore. ´Arvore geradora:

implementa¸c˜ao do predicadoeArvoreGeradora.

O Docente

(8)

Te´orico–Pr´atica 23.04.99

6a¯-feira, 10h30–12h30

Resolu¸c˜ao do ProblemaDiofanto:

– C´alculo do M´aximo Divisor Comum de dois n´umeros. Im- plementa¸c˜ao do predicadomdc/4usando o algoritmo de Eu- clides.

– Algumas equa¸c˜oes em n´umeros inteiros. Implementa¸c˜ao do predicadodiofantina/5.

O Docente

Aula Sum´ario

Te´orica 05.05.99

4a¯-feira, 10h30–12h00

Arvores Bin´´ arias:

– Defini¸c˜ao e representa¸c˜ao emProlog.

– Travessias: pr´efixa; infixa e p´osfixa. C´alculo do valor de uma express˜ao matem´atica com operadores bin´arios (tra- vessia p´osfixa numa ´arvore bin´aria).

– Resolu¸c˜ao de exerc´ıcios: pertence/2enodos/2.

O Docente

Aula Sum´ario

Te´orica 07.05.99

6a¯-feira, 9h00–10h30

Introdu¸c˜ao ao conceito de aut´omato finito determinista (AFD): exemplos de motiva¸c˜ao e defini¸c˜ao formal.

Os AFDs como reconhecedores de uma linguagem. Alguns exemplos e exerc´ıcios:

– Dado um AFD determinar a linguagem por ele definida (reconhecida).

– Dada uma linguagem, definir um aut´omato que a aceite.

Aut´omatos completos eincompletos. Como tornar um AFD incompleto num completo.

O Docente

(9)

Te´orico–Pr´atica 07.05.99

6a¯-feira, 10h30–12h30

Os mecanismos de Entrada/Sa´ıda do Prolog. Terminal e teclado encarados como um ficheiro e referidos pelo nome user.

– Os predicados: see,tell,seen,told.

– O ´atomoend of file.

– Ler caracteres com ogeteget0.

– Escrever caracteres com oput.

Exemplo da leitura de um ficheiro com informa¸c˜ao na forma item(NumItem,Descri¸c~ao,Pre¸co,NomeFornecedor) e cria¸c˜ao de um outro ficheiro que s´o cont´em items de um dado fornecedor especificado.

Resolu¸c˜ao, com um grafo, do problema Parentes proposto no CeNPL’99.

O Docente

Aula Sum´ario

Te´orica 14.05.99

6a¯-feira, 9h00–10h30

Exemplos de modela¸c˜ao de sistemas reais com aut´omatos.

Implementa¸c˜ao em Prolog de aut´omatos deterministas e de programas gen´ericos de simula¸c˜ao / reconhecimento guiados por AFD’s com ac¸c˜oes semˆanticas (aut´omatos reactivos).

Simula¸c˜ao de umam´aquina de venda de caf´es.

O Docente

Aula Sum´ario

Te´orico–Pr´atica 14.05.99

6a¯-feira, 10h30–12h30

Gera¸c˜ao de n´umeros primos pelo algoritmo do Crivo de Erat´ostenes. Implementa¸c˜ao do predicadoprimos/2.

Resolu¸c˜ao do problemaCodificaproposto no CNPL’98.

(10)

Te´orica 19.05.99

4a¯-feira, 10h30–12h00

Simula¸c˜ao de um multi-banco por meio de um aut´omato reactivo.

Aut´omatos finitos n˜ao deterministas. Exemplos.

Aut´omatos finitos com transi¸c˜oes vazias. Exemplos.

Implementa¸c˜ao destes aut´omatos emProlog.

O Docente

Aula Sum´ario

Te´orica 21.05.99

6a¯-feira, 9h00–10h30

Defini¸c˜ao de gram´atica. Gram´aticas Independentes do Con- texto (GIC) na nota¸c˜ao BNF (“Backus-Naur Form”). Exem- plos.

Introdu¸c˜ao de argumentos nos s´ımbolos n˜ao terminais de uma gram´atica: as Gram´aticas de Cl´ausulas Definidas (DCGs).

Sintaxe das DCG’s em Prolog: defini¸c˜ao; convers˜ao (au- tom´atica) para cl´ausulas; execu¸c˜ao.

Exemplo de uma DCG reconhecedora de um subconjunto da l´ıngua portuguesa.

O Docente

Aula Sum´ario

Te´orico–Pr´atica 21.05.99

6a¯-feira, 10h30–12h30

Modela¸c˜ao, por meio de um aut´omato finito determinista, de um controlador `a distˆancia para uma aparelhagem electr´onica de som. Resolu¸c˜ao do problema Comandos proposto no CeNPL’99.

O Docente

(11)

Te´orica 26.05.99

4a¯-feira, 10h30–12h00

Conclus˜ao do estudo das Gram´aticas de Cl´ausulas Definidas (DCGs). Exemplos:

– DCG “email”;

– Cria¸c˜ao de um interface em l´ıngua natural para descri¸c˜ao de grafos:

– DCG “grafo”;

– transforma¸c˜ao de uma frase em l´ıngua natural, dada como uma string de palavras separadas por espa¸cos, numa lista cujos elementos s˜ao as palavras.

Entrega dos segundos trabalhos pr´aticos. Algumas consid- era¸c˜oes sobre aapresenta¸c˜ao dos trabalhos.

O Docente

Aula Sum´ario

Te´orica 02.06.99

4a¯-feira, 10h30–12h00

Apresenta¸c˜ao oral, discuss˜ao com os grupos e avalia¸c˜ao das resolu¸c˜oes dos segundos trabalhos pr´aticos.

O Docente

Aula Sum´ario

Te´orica 04.06.99

6a¯-feira, 9h00–10h30

Continua¸c˜ao da apresenta¸c˜ao oral, discuss˜ao com os grupos e avalia¸c˜ao das resolu¸c˜oes dos segundos trabalhos pr´aticos.

O Docente

Aula Sum´ario

Te´orico–Pr´atica 04.06.99

6a¯-feira, 10h30–12h30 – Resolu¸c˜ao do problema das oito rainhas.

– Implementa¸c˜ao, recorrendo a uma DCG, de um interface em l´ıngua natural que permita interagir (acrescentar e con-

(12)

Te´orica 09.06.99

4a¯-feira, 10h30–12h00

Sistemas Periciais (SP):

– Introdu¸c˜ao e generalidades sobre os SP.

– Implementa¸c˜ao de um SP emProlog.

O Docente

Aula Sum´ario

Te´orica 11.06.99

6a¯-feira, 9h00–10h30

Os Sistemas Periciais e o tratamento da Incerteza. Conjuntos difusos (vagos) e a l´ogica difusa. Implementa¸c˜ao da l´ogica difusa emProlog.

O Docente

Aula Sum´ario

Te´orico–Pr´atica 11.06.99

6a¯-feira, 10h30–12h30

O “paradoxo” da programa¸c˜ao: muitas vezes, a maneira mais f´acil de resolver um problema consiste em resolver uma sua generaliza¸c˜ao! Ilustra¸c˜ao deste princ´ıpio na resolu¸c˜ao do Problema das Torres de Hanoi, atrav´es de uma abordagem generalista e recursiva.

O Docente

(13)

Estat´ısticas

Turno Dadas N˜ao dadas

Te´oricas

1 24 0

Te´orico-Pr´aticas

1 12 0

Referências

Documentos relacionados

A fase emergen- cial do Plano São Paulo para enfrentar a pandemia do novo coronavírus, em vigor desde segunda-feira (15) em todo o estado, deve colocar mais motoboys nas

O diferencial é que, ao invés de parar em 1991, quando houve a desintegração da União Soviética (URSS), o autor prossegue até os dias atuais enfrentando o que

Refere-se aos salários pagos aos empregados da cooperativa e seus respectivos encargos, assim como os valores pagos aos cooperados a título remuneração de dirigentes e/ou

próteses polirnerizadas por energia de microondas e pelo método convencional. Associado a essa variável, foi utilizado Micro Liquid nas resinas. Foram feitas

É por isso que, com a nossa Solução em Silicone (assim como ocorre com o Sistema de poliéster flexível Fibersals), também não é necessário remover as estruturas existentes..

TST, AIRR 406/1990-038-01-40.0, DJ 08/10/2004: AGRAVO DE INSTRUMENTO. RECURSO DE REVISTA. EMBARGOS DECLARATÓRIOS INTERPOSTOS EM DESFAVOR DE DESPACHO DENEGATÓRIO

In conclusion, our study establishes that cytokines, important airway inflammation modulators, produced by different cell sources, can also contribute to the establishes that

Ao articular a homofobia enquanto marcador de hierarquias nas suas relações, as crianças e adolescentes operam a partir da lógica da exclusão ou da segregação, já que os