Programacao Logica
Informacoes Gerais
Prof: Jacques Robin
Horas: 3a feira 14:00-16:00hs e 5a feira 16:00-18:00hs
Local: Sala 3
Livro de referencia: ``Programming in Prolog'' de W.F.
Clocksin & C.S. Mellish
Avaliacao
2 trabalhinhos iniciais de programacao (cada um 15% da nota)
+ 1 projeto final (35% da nota)
+ 1 prova final no laboratorio (35% da nota)
Conteudo
Aula 1: Introducao Tutorial 1
- Plano:
1.1 O que e' Programacao Logica?
1.2 Fatos
1.3 Perguntas
- Transparencias
- Leitura dada: Capitulo 1 de Clocksin & Mellish.
Aula 2: Introducao Tutorial 2
- Plano:
1.4 Variaveis
1.5 Conjuncoes
1.6 Regras
- Transparencias
- Leitura devida: Capitulo 1 de Clocksin & Mellish.
- Leitura dada: Capitulo 2 de Clocksin & Mellish.
Aula 3: Introducao Tutorial 3
- Plano:
1.7 Sintaxe
1.8 Operadores
1.9 Igualdade e matching
- Transparencias
- Leitura devida: Capitulo 2 de Clocksin & Mellish.
Aula 4: Introducao Tutorial 4
- Plano:
1.10 Operadores Aritmeticos
1.11 Operadores Logicos
1.12 Declaracao de Operadores
1.13 Recapitulacao
1.14 Exercicios
- Transparencias
- Leitura dada: Capitulo 3 de Clocksin & Mellish.
Aula 5: Estrutura de Dados e Recursao 1
- Plano:
2.1 Estruras e arvores
2.2 Listas
2.3 Exemplos de manipulacao recursiva de listas
2.4 Exercicios
- Transparencias
- Leitura devida: Capitulo 3 de Clocksin & Mellish.
Aula 6: Introducao Tutorial 5
Aula 7: Estrutura de Dados e Recursao 2
- Plano:
2.5 Representar conjuntos com listas
2.6 Arvores binarias
2.7 Dicionarios binarios
2.8 Grafos
2.9 Exercicios
- Transparencias
Aula 8: Controle de Busca 1
- Plano:
3.1 Exercicios: revisao do backtracking
3.2 O cut: !
3.3 Especificar a regra certa
- Transparencias
- Trabalho 1 devido
- Leitura dada: Capitulo 4 de Clocksin & Mellish.
Aula 9: Introducao Tutorial 6
Aula 10: Controle de Busca 2
- Plano:
3.4 Cut e fail
3.5 Cut e negacao
3.6 ``Gerar e Testar''
3.7 Cuts verdes vs. cuts vermelhos
3.8 Repeat
- Transparencias
- Leitura devida: Capitulo 4 de Clocksin & Mellish.
Aula 11: Manipulacao de Termos
- Plano:
4.1 Teste de tipo de termo.
4.2 Predicados Meta-Logicos.
4.3 Manipulacao Explicita de Estrutura.
- Transparencias
- Leitura dada: Secoes 6.3, 6.4 e 6.5 de Clocksin &
Mellish.
Aula 12: Controle de Busca 3
- Plano:
3.9 Call.
3.10 Meta-Variaveis.
3.11 Predicados de Manipulacao de Conjuntos
- Transparencias
- Leitura devida: Secoes 6.3, 6.4 e 6.5 de Clocksin &
Mellish.
Aula 13: Entrada e Saida.
- Plano:
1. Entrada/Saida em Programacao Logica
2. Ler e escrever termos.
3. Formatar saida para legibilidade.
3. Ler e escrever carateres.
4. Conversao de estruturas de carateres.
5. Ler e escrever em arquivos.
6. Carregar arquivos fonte no ambiente do interpretador.
- Transparencias
- Leitura dada: Capitulo 5 de Clocksin & Mellish.
- Trabalho
2 dado
Aula 14: Manipulacao Dinamica de Programa
- Plano:
1. Predicados Built-in de Manipulacao Dinamica de
Programa
2. Listing e Clause
3. Assert e Retract
3. Perigos do uso de Assert e Retract
4. Memoizacao
5. Failure-Driven Loops
- Transparencias
- Leitura devida: Capitulo 5 de Clocksin & Mellish.
- Leitura dada: Secoes 6.4, 7.8 e 7.13 de Clocksin &
Mellish.
- Trabalho 2 devido
Aula 15: Controle de Busca 4 e Manipulacao de Termos 2
Aula 16: Gramaticas de Clausulas Definidas
- Plano:
1. GCD e PLN
2. Reconhecimento de Frases Gramaticais com GCD
3. Restricoes como Argumentos Suplementares
4. Restricoes como Objetivos PROLOG
5. Parsing
- Transparencias
- Leitura devida: Secoes 6.4, 7.8 e 7.13 de Clocksin &
Mellish.
- Leitura dada: Capitulo 9 de Clocksin & Mellish.
Aula 17: Prolog e Logica 1
- Plano:
1. Prolog e Programacao Logica
2. Logica dos Predicados da 1a ordem
3. Forma Clausal
4. Clausulas de Horn
- Transparencias
- Leitura devida: Capitulo 9 de Clocksin & Mellish.
- Leitura dada: Capitulo 10 de Clocksin & Mellish.
Aula 18: Prolog e Logica 2
- Plano:
5. Principio de Resolucao
6. Prolog como Provador de Teorema
7. Unificacao e Occur-Check
8. Predicados Built-in e Logica
- Transparencias
- Leitura devida: Capitulo 10 de Clocksin & Mellish.
Aula 19: Presentacao dos Topicos de Projeto
- Plano:
1. Traducao Automatica de Horarios
2. Dialogos em Linguagem Natural: ELIZA
3. Unificacao Funcional
4. Prolog Orientado a Objetos
5. Provador de Teorema
6. Agente Inteligente no Mundo do Wumpus
7. Agentes Comunicando em Portugues no Mundo do Wumpus
- Descricao
dos Topicos