Académique Documents
Professionnel Documents
Culture Documents
4/22/12
Prolog
PROgramming in LOGic; Linguagem simples, prtica e eficiente ! Paradigma Lgico e Declarativo; Processamento de Linguagem Natural; Inferncia dedutiva sobre Clusulas de Horn; Programa = Conjunto de Clusulas (Axiomas).
4/22/12
Sintaxe
Prolog
no emprega declaraes de tipos; Tipos so tratados como sendo termos; A natureza de um termo depende de como tal termo foi declarado; Ou seja, os elementos lxicos utilizados na declarao do termo determinam se o termo ser um nmero, uma constante, um texto, ..
4/22/12
Sintaxe: tomos
Nomes
prprios em Linguagem Natural; Representam relaes, funes ou objetos; Constitudos por letras, nmeros e _; Mas iniciados por uma letra minscula ! Pode-se usar, tambm, qualquer sequncia entre aspas simples (Ex: Bom Dia).
Exemplos:
Exemplos:
4/22/12
Sintaxe: Variveis
Objetos
definidos, mas no especificados ! Variveis no sentido matemtico, porm no no sentido de Linguagens Imperativas; Declaradas da mesma forma que os tomos; Porm iniciadas por letras maisculas ou _; Variveis annimas so aquelas que, por s serem usadas uma vez, no precisam de um nome, sendo simplesmente escritas como _.
Exemplos:
4/22/12
Sintaxe: Variveis
tem_filho(X)
:- pai(X, _). Podemos usar uma varivel annima j que Y s aparecia uma vez !
Nota:
4/22/12
a nica forma de expressar estruturas de dados complexas em Prolog; Consistem de um funtor ou cabea (tomo) e zero ou mais parmetros listados entre parnteses e separados por vrgulas. Caracterizado pelo seu nome e aridade; Podemos associar um mesmo tomo a termos diferentes contanto que as suas aridades sejam diferentes.
Exemplos:
4/22/12
Sintaxe: Listas
[]
representa uma lista vazia; Se T uma lista e H um elemento, ento o termo '.'(H,T ) uma lista. H o primeiro elemento, tambm chamado de cabea; T o contedo restante da lista.
Exemplo:
4/22/12
Sintaxe: Listas
Para
convenincia do programador, existem, na biblioteca padro, vrias funes que manipulam listas:
Append(L1, L2) :
Concatena L1 com L2.
4/22/12
Sintaxe: Resumo
4/22/12
Predicados
Predicado:
Exemplos:
4/22/12
Fatos
So
4/22/12
Regras ou Clusulas
Tambm,
expressados por predicados; O conseqente ou cabea escrito primeiro e o antecedente ou corpo escrito depois;
Exemplo:
a :- b, c, d:
a verdadeiro se b, c, d so verdadeiros.
luz(acesa) :- interruptor(ligado):
A luz est acesa se o interruptor estiver ligado.
4/22/12
Queries
So
?- gosta(jose, X):
X = maria; NO.
4/22/12
Ferramentas
SWI-Prolog
www.swi-prolog.org
Java
Prolog Environment:
http://www.cin.ufpe.br/~dmof/monitoria/si/jpe.rar
4/22/12
Exerccio 1
Programa: Jorge
gosta de cinema; Jorge gosta de futebol; Maria gosta de todos que gostam de cinema e futebol;
Queries: Existe
algum que goste de cinema e de futebol ? Maria gosta de Jorge ? E Jorge de Maria ?
4/22/12
Exerccio 2
Programa: Rui
o pai de Rui ? E o av ?
4/22/12
Projeto
Click to edit Master subtitle style
4/22/12
Especificao do Projeto
/~if684
-> Projetos
http://www.cin.ufpe.br/~dmof/monitoria/si/especi
4/22/12
Prazos de Entrega
1
02/06/09
16/06/09
4/22/12
Links
SWI-Prolog:
http://www.swi-prolog.org
Thea
http://www.semanticweb.gr/TheaOWLLib/
SWRLJessTab
http:// protege.cim3.net/cgi-bin/wiki.pl?SWRLJessTab#nid6RJ
4/22/12