Upload
geraldo-gomes-da-cruz-junior
View
3.038
Download
0
Embed Size (px)
Citation preview
Programação Lógica
Por favor, não implora Porque homem não chora
Você que machucou meu coração Me fez chorar
“ ...
” Arrocha, Pablo
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Roteiro
• O que é? • Conceito de BD para PL • História por rabiscos • Quem e para quê? • Prolog - what, up and running
• Hands On • Dúvidas
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
O que é? Lógica matemática para a
programação!!
PLANER
PROLOG
QLISP
SQL
QA-4 POPLER
CONNIVER
MERCURY
ETHER
LINGUAGENS DE PROGRAMAÇÃO LÓGICA
Descrevemos o problema e não a solução!
Declaramos o que nós queremos!!
Minhas músicas usam programação
Lógica! Cláusula de Horn; Lógica Proposicional; Lógica de Primeira Ordem.
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
O que é? O QUE SE QUER
...encosta em meu nariz e faz Bilu bilu bilu bilu
O QUE SE FAZ
“ ”
...Escute o meu desabafo Eu quero te falar “ ”
Na Programação lógica se diz o que se
quer!
O QUE deve ser feito!
COMO deve ser feito!
doendo(bemfeito). chorando(bemfeito).
?-doendo(X). X=bemfeito. ?-chorando(X). X=bemfeito.
trecho = raw_input('Primeira parte: ') trecho2 = raw_input('Segunda parte: ') Trecho_final = trecho + " " +trecho2 print Trecho_final
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
O que é? 1. Declarar fatos primitivos sobre um domínio; 2. Definir regras que expressam relações entre os fatos de um domínio; 3. Fazer perguntas sobre um domínio.
Regras Fatos
“Pablo é um cantor” cantor(pablo). “Larissa gosta de Pablo” gostar(larissa,pablo).
gostar(larissa,pablo). gostar(rafaella,pablo). sofrencia(X,Y):-gostar(Y,Z),gostar(X,Z). ?-sofrencia(larissa,rafaella). true
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Banco de Dados
“Te prometo algo muito durador”
É o conjunto !!
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
História por rabiscos
Vai lembrar de tudo que vivemos Vai lembrar dos momentos que passamos “ ”
Alain Colmerauer e Philippe Roussel “PROgrammation en LOGique”
Robert Kowalski Robert Pasero e Jean Trudel
PROLOG
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Quem e para quê?
Sistemas Baseados em Conhecimento
Bancos de Dados “Inteligentes”
Sistemas Especialistas
Processamento da Linguagem Natural
Indústria de aviação Instituto Nacional de Meteorologia Modelagem ambiental
Mineração de dados Construção de compiladores
Vocês também!!
Todos usam e gostam da essência das
minhas músicas!
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Prolog – what, up and running
“Prolog is an AI weapon, you tell it what to do, which it does but then it also builds some terminators to go back
in time and kill your mom.” – 9gag (If Programming Languages Were Weapons)
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Prolog – what, up and running
“Prolog é uma linguagem de Turing completa o que significa que pode implementar qualquer algoritmo.”
“Larissa gosta de Pablo e de Wando” gosta(larissa, pablo), gosta(larissa, wando). “Larissa gosta de quem?” ?-gosta(larissa,X). “Larissa gosta de ouvir Pablo na bad” ouvir(larissa, pablo):- situacao(bad).
É baseado em: • Fatos • Consultas • Regras
Termo PROLOG
Conjunção ,
Disjunção ;
Implicação :-
Termino de Cláusula .
Conclusão Condição
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Prolog – what, up and running
1. Download baby! http://portableapps.com/apps/development/swi-prolog_portable 2. Install (next...next..next...) 3. Run! 4. Criar arquivo com os fatos e regras... Na extensão PROLOG(.pl) 5. Da um import no arquivo em (File->Consult); 6. Agora é só fazer as consultas! ;)
Vamos colocar para
Funfar!
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Hands On Vamos definir o Rei da Sofrência
por PROLOG?
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
“ Estou indo embora Por favor, não implora A mala já está lá fora ”
Dúvidas??
Blenda Guedes, Geraldo Gomes e Larissa Melo
Programação Lógica
Referências http://letras.mus.br/pablo/ http://en.wikipedia.org/wiki/Turing_completeness http://www.inf.puc-rio.br/~inf1621/logica.pdf Slides da Prof. Elaine Faria - UFU, 2014 - Programação Lógica. Sintaxe Prolog Slides do Prof. Gabriel Alves – UFRPE, 2014 – Programação lógica http://pt.slideshare.net/rafaelbozzetti/seminrio-prolog http://en.wikipedia.org/wiki/Prolog http://en.wikipedia.org/wiki/Logic_programming http://9gag.com/gag/anXEbe0
Blenda Guedes, Geraldo Gomes e Larissa Melo
FIM!!
Blenda Guedes, Geraldo Gomes e Larissa Melo