Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword or section
Like this
4Activity

Table Of Contents

Fundamentos e T´ecnicas de Programa¸c˜ao em Prolog
Introdu¸c˜ao ao Prolog
1.1 Hist´orico
1.2. Programa = regras + fatos 5
1.2 Programa = regras + fatos
1.2.1 Regras e fatos em Prolog
1.2.2 Termos e predicados
1.2.3 Conven¸c˜oes para leitura de cl´ausulas
1.2.4 Perguntas
1.3 Revis˜ao
1.4 SWI-Polog
1.4.1 Entrando no SWI-Prolog
1.4.2 Rodando um programa
1.5 Erros de sintaxe
Teoria da Programa¸c˜ao em L´ogica
2.1 L´ogica proposicional
2.2 L´ogica de cl´ausulas (para proposi¸c˜oes)
2.2.1 Provas por refuta¸c˜ao (para proposi¸c˜oes)
2.3. L´ogica de primeira ordem (ou predicados) 21
2.3 L´ogica de primeira ordem (ou predicados)
2.3.1 Cl´ausulas de Horn com predicados
2.3.2 O significado de um programa
2.3.3 Universo de Herbrand
2.4. O procedimento de resolu¸c˜ao 25
2.4 O procedimento de resolu¸c˜ao
2.4.1 Estrat´egias de resolu¸c˜ao
2.5 F´ormulas l´ogicas x Cl´ausulas
2.5.1 Transforma¸c˜ao de f´ormulas em cl´ausulas
2.5.2 Transforma¸c˜oes para cl´ausulas
2.6 Conclus˜ao
2.6.1 Transforma¸c˜oes para cl´ausulas
Programa¸c˜ao com Listas
3.1 Opera¸c˜oes sobre o tipo lista
3.2 O tipo de dados lista
3.3. Programa¸c˜ao recursiva 35
3.3 Programa¸c˜ao recursiva
3.3.1 Usando um acumulador
3.4. Sele¸c˜ao em Listas 39
3.4 Sele¸c˜ao em Listas
3.4.1 Membros de uma lista
3.4.2 Explorando o significado de um predicado
3.5. Constru¸c˜ao de listas 41
3.5 Constru¸c˜ao de listas
3.6 Trabalhando com ordem
3.6.1 Ordem alfanum´erica
3.7 Listas para teoria dos conjuntos
3.8 Refatora¸c˜ao: Otimiza¸c˜ao de predicados
3.9. Predicados para listas do SWI-Prolog 51
3.9 Predicados para listas do SWI-Prolog
3.10 *Programa¸c˜ao procedural vs l´ogica (Opcional)
Programando o fluxo de controle
4.1 Interpreta¸c˜ao procedimental para cl´ausulas
4.2. Predicados de controle 57
4.2 Predicados de controle
4.2.1 Os predicados fail/0, true/0 e repeat/0
4.2.2 O operador de corte (!)
4.2.3 If-then-else ( −> ; )
4.2.4 Nega¸c˜ao por falha
4.2.5 Meta chamada e resposta ´unica
4.3 Recursividade com entrada e sa´ıda
4.3.1 Mudando a ordem de predicados
Programa¸c˜ao aritm´etica
5.1 Avaliando express˜oes aritm´eticas
5.2 Processamento aritm´etico
5.3. Recursividade e itera¸c˜ao 69
5.3 Recursividade e itera¸c˜ao
5.3.1 Somando os ´ımpares
5.4. Refinamento de programas 71
5.3.2 Valores aleat´orios (randˆomicos)
5.4 Refinamento de programas
5.4.1 Criptografia aritm´etica
5.4.2 Vers˜ao inicial
5.4.3 Uma solu¸c˜ao mais eficiente
5.5. Gerar histograma para dados estat´ısticos 75
5.5 Gerar histograma para dados estat´ısticos
5.5.1 Conclus˜ao
Estruturas de Dados
6.1 Manipula¸c˜ao de Dados
6.1.1 Metapredicados
6.1.2 Incluindo e excluindo fatos e regras
6.2 ´Arvores bin´arias
6.2.1 Mais sobre representa¸c˜ao de informa¸c˜ao
6.2.2 Percurso em ´arvores bin´arias
6.3 ´Arvore de busca
6.3.1 Busca
6.3.2 Inser¸c˜ao
6.3.3 Remo¸c˜ao
6.4 Manipula¸c˜ao de grafos
6.4.1 Usando um custo em cada nodo
6.4.2 Trabalhando com uma lista de arcos
6.5 **Diferen¸ca de listas (t´opico avan¸cado)
6.5.1 Concatenar diferen¸cas de listas
6.5.2 Usando diferen¸cas de listas no percurso de ´arvores
Anima¸c˜ao de programas
7.1 Torres de Hanoi
7.1.1 Salvando e atualizando o estado das hastes
7.2 Jogo-da-Velha
7.2.1 Estrat´egia de jogo para vencer (ou n˜ao perder)
7.2.2 O jogo do advers´ario do computador
7.2.3 Desenhar o tabuleiro
7.2.4 A listagem do programa todo
7.2.5 Falando sobre testes
7.3. Projetos: Utilizando estrat´egias de jogo 117
7.3 Projetos: Utilizando estrat´egias de jogo
Classifica¸c˜ao e ordena¸c˜ao
8.1 Ordena¸c˜ao por permuta¸c˜ao
8.2 Inser¸c˜ao direta
8.3 Ordena¸c˜ao por sele¸c˜ao
8.4 Ordena¸c˜ao por troca (bublle sort)
8.5. Ordena¸c˜ao por intercala¸c˜ao 123
8.5 Ordena¸c˜ao por intercala¸c˜ao
8.6 Ordena¸c˜ao por intercala¸c˜ao (otimizada)
8.7. Ordena¸c˜ao por parti¸c˜ao e troca (Quick sort) 125
8.7 Ordena¸c˜ao por parti¸c˜ao e troca (Quick sort)
8.8 Medindo a performance de programas
Ambientes de Programa¸c˜ao e Sintaxe do Prolog ISO
Depura¸c˜ao de Programas
Figura 9.1: O modelo de caixa e portas de Byrd
9.1 O modelo de execu¸c˜ao de Byrd
9.2 Controle do n´ıvel de espionagem
9.3. Modos de depura¸c˜ao: trace ou debugging 137
9.3 Modos de depura¸c˜ao: trace ou debugging
9.4 Interagindo com o trace
O padr˜ao ISO Prolog
10.1 Cl´ausulas e Termos
10.1.1 Tipos de dados
10.1.2 Termo composto
10.1.3 Dados vs programa = s´ımbolos funcionais vs predicativos
10.1.4 Coment´arios
10.2 Operadores
Figura 10.1: Operadores predefinidos conforme o Prolog ISO
10.2.1 Operadores vs ´Arvore sint´atica
10.3. Express˜oes aritm´eticas 149
10.3 Express˜oes aritm´eticas
10.6.1 Entrada e sa´ıda em arquivos (padr˜ao Edimburgo)
10.6.2 Trabalhando com arquivos-texto no padr˜ao Edimburgo
10.6.3 Entrada e sa´ıda no Prolog ISO
10.6.4 Leitura de fitas
10.6.5 Trabalhando com arquivos no Prolog ISO
10.6.6 Arquivos bin´arios
Estudos de Casos e Aplica¸c˜oes
Programa¸c˜ao de Gram´aticas
11.1 N´ıveis ling¨u´ısticos
11.2 Gram´aticas em Prolog: DCG
11.2.1 Gram´atica regular
Arvore sint´atica com atributos sintetizados (S-GA), para contar os a(s)
11.4 Avaliar express˜oes aritm´eticas
11.4.1 Programando a GLC como DCG
11.4.2 Calculando o valor com equa¸c˜oes semˆanticas
11.4.3 O problema da associatividade `a esquerda para LL(k)
11.5 Gerando nota¸c˜ao polonesa com a¸c˜oes semˆanticas
Romanos para decimais e Decimais por extenso
12.1 Romanos para decimais e vice versa
12.2. Traduzindo decimais por extenso e vice-versa 179
12.2 Traduzindo decimais por extenso e vice-versa
Tokens para express˜oes aritm´eticas
Figura 13.1: Autˆomato finito para tokens de express˜oes aritm´eticas
13.1 Testando o programa
Calcular express˜oes aritm´eticas com vari´aveis
Um compilador: tradutor e interpretador
15.1 A minilinguagem
15.2 O scanner: an´alise l´exica
15.4 O tradutor: analise sint´atica e gera¸c˜ao de c´odigo
15.4.1 Gram´atica da minilinguagem
15.4.2 Testes para o tradutor
15.5. O interpretador: an´alise semˆantica 199
15.5 O interpretador: an´alise semˆantica
Processamento de Linguagem Natural com DCG
16.1 Introdu¸c˜ao ao PLN
16.2 L´exico – Morfologia
16.2.1 Flex˜ao em gˆenero
16.3. Um exemplo de minilinguagem 205
16.3 Um exemplo de minilinguagem
16.4 ´Arvore sint´atica
16.5 Incluindo regras para concordˆancia
16.6 Gerando uma ´arvore sint´atica
16.7. Semˆantica para linguagem natural 211
16.7 Semˆantica para linguagem natural
IA: Classifica¸c˜ao KNN
17.1 KNN: K vizinhos mais pr´oximos
17.2 Base de dados
17.3 O algoritmo KNN
IA: Agrega¸c˜ao Kmeans
18.1 Medidas de similaridade e distˆancia
18.2 Criando uma popula¸c˜ao
18.3 Kmeans: Agrupamento
IA: Classifica¸c˜ao Naive Bayes
19.1 Os conjuntos de dados
19.2. A inferˆencia Bayesiana 231
19.2 A inferˆencia Bayesiana
IA: Similaridade via nGramas
21.1 Bits e quantidade de informa¸c˜ao
21.2 Entropia e Entropia conjunta
21.3. Entropia condicional e Informa¸c˜ao m´utua 247
21.3 Entropia condicional e Informa¸c˜ao m´utua
21.4 Escolha de atributos
21.5 Indu¸c˜ao de ´arvore para classifica¸c˜ao: Id3
0 of .
Results for:
No results containing your search query
P. 1
Livro Favero

Livro Favero

Ratings: (0)|Views: 164|Likes:

More info:

Published by: Bruno Franco Oliveira on Aug 22, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/10/2013

pdf

text

original

You're Reading a Free Preview
Pages 6 to 167 are not shown in this preview.
You're Reading a Free Preview
Pages 173 to 184 are not shown in this preview.
You're Reading a Free Preview
Pages 190 to 209 are not shown in this preview.
You're Reading a Free Preview
Pages 215 to 256 are not shown in this preview.
You're Reading a Free Preview
Pages 262 to 276 are not shown in this preview.

Activity (4)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Francis Carlos liked this

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->