Programação em
Lógica - 98.2
Descrição geral desta (classe
de) disciplina, incluindo ementa, avaliação e material
bibliográfico encontram-se em: www.di.ufpe.br/~compint/prolog.html
Informações Gerais
Professor: Jacques
Robin
Monitor: Eloi Favero
(This) Homepage: www.di.ufpe.br/~compint/aulas-IAS/prolog-982/Welcome.html
Newsgroup: depto.cursos.grad.if278
Horários:
- aulas: 2a 16h-18h
e 5a 14h-16h
- orientação
- com professor 6a
12h-14h (Sala 41, Bloco C)
- com monitor 4a
12h-14h (Sala 316, Bloco A)
Local: 2a sala M3, 5a sala M6
Turma:
- Ana Cristina Rouiller (acr)
- Idevan Gonçalves Freire
Junior (igfj)
- Ioram Schechtman Sette (iss)
- Jefferson Valadares (jlfv)
- Leonardo Amorim de Lemos (lal)
- Paulo Borges Oliva (pbo)
- Reginaldo Valadares (rgv)
- Renata Viegas (rrv e reviegas@zaz.com.br), ouvinte
Calendário:
- Jacques
- Plano:
- Objetivo da
disciplina
- Metodologia didática
e de avaliação
- Ementa
- Material
bibliográfico
Aula 2: Programação em lógica
e lógica (19/10)
- Jacques
- Leitura devida: pp. 151-153,
157-163, 174 (Horn sentences), 185-201, 270-286, 304-306,
308 do AIMA
- Plano:
- Programação em
lógica: visão unificadora de varias áreas da
ciência da computação
- Revisão da Lógica
da 1a ordem:
- Sintaxe
- Forma normal
- Unificação
posicional
- Resolução: A
curiosidade matou o gato
- Transparências: prolog1.ppt
Aula 3: Prolog e lógica (22/10)
- Jacques
- Leitura devida: pp. 4-26,
38-43 do Bratko
- Plano:
- Clausulas de Horn
- Prolog x Lógica da 1a
ordem
- Exemplo de engenharia
do conhecimento em Prolog: West e criminoso?
- Busca e backtracking
- Sintaxe de Prolog
- Semântica de Prolog
- Exercícios dados:
- A terrível novela
em lógica da 1a ordem
- A terrível novela
em Prolog
- O banco de dados
acadêmico em Prolog
- O banco de dados
acadêmico em lógica da 1a ordem
- Transparências: prolog2.ppt
Aula 4: Prolog: predicados
built-in 1 (26/10)
- Jacques
- Leitura devida: pp. 56-63,
68-73, 82-84, 126-141 do Bratko
- Plano:
- Igualdade semântica
x unificão
- Listas
- Cut
- Negação por falha
- Transparências: prolog3.ppt
Aula 5: Prolog: predicados
built-in 2 (29/10)
- Jacques
- Leitura devida: pp. 88-91,
146-149, 156, 159, 162-163, 176-180, 182-184 do Bratko
- Plano:
- Aritmética
- Teste e conversão de
tipos
- Entrada-Saída
- Manipulação de
conjuntos
- Meta-programação
- Transparências: prolog4.ppt
Aula 6: Prolog: uso pratico nas
estações de trabalho (5/11)
- Eloi
- Leitura devida:
- pp. 195-197 do Bratko
- pp. 181-209 de
Clocksin & Mellish
- Plano:
- consult e reconsult
- trace e spy
- ^C e help
- Rodar Prolog II
dentro de Emacs
- Transparências: prolog5.ppt
Aula 7: Prolog x resto do mundo
(9/11)
- Jacques
- Leitura devida:
- pp. 297-298, 310-325
do AIMA
- Plano:
- Prolog x linguagens
de outros paradigmas de programação
- Programação
imperativa
- Programação
funcional
- Programação
orientada a objetos
- Programação
por restrições
- Prolog x outros
formalimos de representação de conhecimento
- FRCs
procedimentais
- Sistemas de
produção
- FRCs
orientados a objetos
- FRCs
híbridos
- Transparências:
- Jacques
- Leitura devida:
- pp. 31-33, 41-44,
153-157, 651-662 do AIMA
- pp. 1-3, 5-10. 45-49
da apóstila do JAI
- Plano:
- Agente explorador do
mundo do wumpus (Ana, Ioram, Leonardo)
- Agentes comunicativos
explorando o mundo do wumpus (Custodio, Marcelo,
Reginaldo, Renata)
- Processamento
de Linguagem Natural (PLN)
- Representações
internas de mensagens em LN em agentes
comunicativos
- Interpretação
de mensagens em português e/ou inglês
- Geração de
mensagens em português e/ou inglês
- Agente de mineração
de estatísticas de basquetebol disponíveis da
Web (Idevan, Jefferson, Paulo)
- Consultas
ad-hoc de estatísticas em paginas na Web
- Construção
de banco de dados a partir de paginas na
Web
- Mineração
de banco de dados construído a partir de
paginas na Web
- Transparências: projetos.ppt
Aula 9: Acompanhamento de projeto
1 (16/11)
Aula 10: Acompanhamento de
projeto 2 (19/11)
Aula 11: Correção dos
exercícios de engenharia do conhecimento em Prolog (23/11)
- Jacques
- Exercícios devidos:
- A terrível novela
em Prolog
- O banco de dados
acadêmico em Prolog
- Plano:
- A terrível novela
em lógica da 1a ordem
- A terrível novela
em Prolog
- O banco de dados
acadêmico em Prolog
- O banco de dados
acadêmico em lógica da 1a ordem
- Transparências: prolog-exos.ppt
Aula 12: Prolog: Agente
explorador do mundo do wumpus (26/11)
- Ana Cristina
- Leitura devida: pp. 45-49,
154-157, 201-210 do AIMA
- Plano:
- Exploração para
frente com encadeamento de regras para trás
- Regras ambiente =>
interface
- Regras ações =>
conhecimento(ambiente)
- Regras
conhecimento(ambiente) & objetivos =>
objetivos
- Regras
conhecimento(ambiente) => interface
- Regras ambiente =>
percepções
- Regras percepções
& conhecimento(ambiente) =>
conhecimento(ambiente)
- Regras
conhecimento(ambiente) => interface
- Regras
conhecimento(ambiente) & objetivos =>
ações
- Regras ações &
ambiente => ambiente
- Demo ao vivo
- Código fonte: wumpus-explor.pl
- Transparências: wumpus-explor.pro.ppt
- Ioram
- Leitura devida:
- Plano:
- Limitações de
Prolog
- LIFE: integração de
3 outros paradigmas de programação sobre uma
base Prolog
- Estrutura de dados
para representar conhecimento parcial: termos de
atributos (ou termos psi).
- Hierarquia de tipos
- Unificação
funcional
- Declaração de
classes e de restrições
- Exercícios dados: ??
- Transparências: life1.ppt
Aula 14: LIFE: integração de
predicados, funções, classes e restrições (07/12)
- Reginaldo
- Leitura devida:
- Plano:
- LOGIN: predicados e
regras com termos psi e hierarquia de tipos
- FOOL: funções com
termos psi e hierarquia de tipos
- LeFun: predicados com
funções
- LIFE: LOGIN + FOOL +
LeFun
- Exemplo de engenharia
do conhecimento com LIFE: A terrível novela
- LIFE x Prolog
- LIFE e orientação a
objetos
- Exercícios dados:
- West é criminoso em
LIFE
- O banco de dados
acadêmico em LIFE
- Transparências: life2.ppt
Aula 15: LIFE: predicados e
funções built-in (10/12)
- Leonardo e Paulo
- Leitura devida:
- Plano:
-
- Controle (cut, cond,
eval, quote)
- Aritmética
- Testes de tipo
- Variáveis globais e
atribuição destrutiva
- Parsing com EDCG
(gramáticas de clausulas definitas estendidas)
- Transparências: life3.ppt
Aula 16: LIFE: Uso pratico nas
estações de trabalho (14/12)
- Eloi
- Leitura devida: pp. 4-7,
55-60 de The Wild-LIFE handbook
- Plano:
- load
- pretty print
- Arquivo de
personalização
- Rodar LIFE dentro de
Emacs
- Transparências:
- Jacques
- Exercício devidos:
- West é criminoso em
LIFE
- O banco de dados
acadêmico em LIFE
- Plano:
- West é criminoso em
LIFE
- O banco de dados
acadêmico em LIFE
- Transparências:
21/12-27/01: Acompanhamento de
projetos
Aula 18: LIFE: Agente explorador
do mundo do wumpus (28/01)
- Ioram
- Leitura devida: pp. 154-157,
201-210 do AIMA
- Plano:
- Hierarquia de tipos
- Hierarquia de classes
de termos psi
- Regras
- Funções
- Comparação com a
versão Prolog
- Demo ao vivo
- Código fonte: wumpus-explor.lf
- Transparências: wumpus-explor.lf.ppt
- Jefferson
- Leitura devida:
- Plano:
- Linguagens de
consulta de banco de dados x linguagens de
programação
- Banco de dados
dedutivos e programação em lógica
- Banco de dados
orientado a objetos
- DOOD: banco de dados
dedutivos orientado a objetos
- F-Logic e FLORID
- Exemplo
introdutório: O banco de dados acadêmico em
FLORID
- Objetos, nomes de
objetos, métodos, atomos-F, moleculas-F e BD
extensional
- Classes, assinaturas,
herança e esquemas de BD
- Predicados e atomos-P
- Regras, consultas e
BD intencional
- Transparências: florid1.ppt
Aula 20: FLORID: caminhos,
negação e estratificação (01/02)
- Idevan
- Leitura devida:
- Plano:
- Caminhos
- Raciocínio dirigido
pelos dados e semântica do ponto fixo
- Negação
- Restrições de
segurança na conclusão das regras
- Estratificação
- Herança
- Verificação de
tipos
- FLORID x SQL
- Exercícios dados:
- West é criminoso em
FLORID
- A terrível novela em
FLORID
- Transparências: florid2.ppt
Aula 21: FLORID: predicados
built-in (04/02)
- Jefferson
- Leitura devida:
- Plano:
- Igualdade semântica
- Aritmética
- Agregação
- Cadeias de caracteres
e expressões regulares
- Interface para Web
- FLORID x LIFE
- FLORID x linguagens
de programação orientado a objetos
- Transparências: florid3.ppt
Aula 22: FLORID: uso pratico nas
estações de trabalho (08/02)
- Idevan
- Leitura devida: pp. 8-35 de The Florid 2.0 user manual
- Plano:
- Carregar e rodar
programa
- Consultas de
debugging
- Formatação da
saída e pretty printing
- Interface Tcl/Tk
- Rodar FLORID dentro
de Emacs
- Transparências: florid4.doc
Aula 23: LIFE: Interpretação de mensagens entre agentes exploradores
(18/02)
- Paulo e Renata
- Leitura devida: pp. 651-683,
703-719 do AIMA
- Plano:
- Representação
morfológica
- Representação
sintática de superfície
- Representação
sintática profunda
- Gramáticas de
cláusulas definidas e acumuladores LIFE
- Analisador
morfológico
- Analisador sintático
de superfície (parser)
- Analisador sintático
profundo
- Demo ao vivo
- Transparências: pln-interp.lf.ppt
Aula 24: Acompanhamento de
projeto 3 (22/02)
Aula 25: LIFE: Tradução e Geração de
mensagens entre agentes exploradores (25/02)
- Leonardo, Reginaldo e
Renata
- Leitura devida:
- Plano:
- Discrepâncias
sintáticas inglês-português
- Discrepâncias de
lexicalização inglês-português no
vocabulário do mundo do wumpus
- Regras de
transferência sintáticas
- Regras de
transferência lexicais (léxico bilíngüe)
- Regras de
transferência lexico-sintática
- Usar gramáticas de
cláusulas definidas para geração
- Regras estruturais e
de concordância da sintaxe do português
- Regras de escolha das
palavras de classe fechada do português
- Regras morfológica
do português
- Fontes de paráfrase
na tradução
- Demo ao vivo
- Código fonte do tradutor
completo: interpretador, transferência temático-lexical
e geração: wumpus-pln.lf
- Transparências: pln-transfgen.lf.ppt
Aula 26: FLORID Correção dos
exercícios de engenharia do conhecimento (03/03)
- Jacques
- Exercício devidos:
- West é criminoso em
FLORID
- A terrível novela em
FLORID
- Plano:
- West é criminoso
- A terrível novela
- Transparências: florid-exos.ppt
Aula 27: FLORID: Consultas ad-hoc
de estatísticas disponíveis na Web (03/03)
- Idevan
- Leitura devida:
- Plano:
- Extrair a estrutura
das páginas de estatísticas da NBA na ESPNET
- Definir uma ontologia
da NBA
- Percorrer as tabelas
de lideres estatísticos
- Calcular para cada
time o numero de jogadores seus aparecendo como
líder estatísticos
- Devolver a lista dos
times em ordem decrescente desse numero
- Código fonte: nba-web-adhoc.flp
- Transparências: nba-web-adhoc.flp.ppt
Aula 28: Acompanhamento de
projeto 4 (04/02)
Aula 29: FLORID: Construção de
banco de dados a partir de estatísticas em páginas na Web (08/03)
- Idevan e Reginaldo
- Leitura devida: Search, analysis
and integration of Web documents: a case study in FLORID
- Plano:
- Criar a partir das
paginas de estatísticas dos jogadores, e dos
times uma BD sobre estatísticas da temporada
97-98
- Enriquecer essa BD
com os 3 campos:
- Tendex
simples: pts + reb + ast + stl + blk -
(FGA-FGM) - (FTA-FTM) -TO
- Tendex
normalizado por ritmo de jogo
- Aproximação:
média FGA pelo time por jogo +
média FGA pelo adversário por
jogo
- Tendex
normalizado por ritmo de jogo e 48mn
- para tabelas
de estatísticas de jogadores e tabelas
de estatísticas de times
- Devolver os 50
primeiros jogadores e os times em ordem
decrescente dessas 3 novas estatísticas
- Código fonte: diretório nba-db
- Transparências: nba-db-from-web.flp.ppt
Aula 30: Demonstração final de
recuperação dos projetos (10/03)