pro grammation en log ique programmation en logique UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Daniel Augusto da Costa Ambrósio Eduardo Agostinho Oliveira dos Santos Fernando Chaves Dantas ID: 259272
Download Presentation The PPT/PDF document "Prolog" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Prolog
pro
grammation en
log
iqueSlide2
programmation en logique
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
Daniel Augusto da Costa Ambrósio
Eduardo Agostinho Oliveira dos Santos
Fernando Chaves Dantas
Ítalo Tobias de Souza Dantas
José Maria de Oliveira Cavalcante
Thiago Medeiros de MenezesSlide3
apresentação
Características
Como Programar em Prolog?
Aplicações
Prolog versus Linguagens Imperativas
APRESENTAÇÃO À LINGUAGEM PROLOG
Aspectos Gerais
Considerações Finais
Por que estudar Prolog?Slide4
introdução
O nome
Prolog
é um acrônimo para
pro
grammation
en logique;
Linguagem enquadrada nos paradigmas lógico e declarativo da programação;
Projetada, em 1972, por Alain Colmerauer e Philippe Roussel na França;
Sua semântica foi formalizada por Robert Kowalski baseada no conceito das cláusulas de Horn;
Desenvolvida para criar programas de tradução de linguagens naturais como português, francês e inglês;
ASPECTOS GERAISSlide5
introdução
Tem na lógica um formalismo conveniente para representar e processar o conhecimento de maneira natural;
Linguagem não-numérica, orientada a símbolos;
É adequada à solução de problemas envolvendo objetos e suas relações;
Tem sido aplicada em inteligência artificial, redes de computadores, educação, base de dados e sistemas paralelos.
ASPECTOS GERAISSlide6
introdução
Há uma preferência por serviços de especificação no mercado de trabalho;
Pode ser vista como uma linguagem de programação e de especificação;
Eficaz na elaboração de ambientes e interfaces computacionais para seres humanos;
Permite definir e estender sistemas reflexivos, utilizados em robótica;
É adequado para a descrição do mundo real com todos os seus aspectos e sutilezas.
POR QUE ESTUDAR PROLOG?Slide7
características
A programação limita-se a fornecer uma descrição do problema que se pretende computar;
A execução de um programa em Prolog é efetivamente a prova de um dado teorema;
Obtém respostas alternativas através de
backtracking
;
Suporta código recursivo e iterativo, dispensando o uso de mecanismos como
while
, for e
repeat;Apesar do longo tempo de desenvolvimento, ainda não é uma linguagem portável.
CARACTERÍSTICASSlide8
características
CLÁUSULAS DE HORNSlide9
características
A evolução da busca por soluções assume a do padrão da busca em profundidade em árvores;
Quando a pesquisa falha ou é encontrado um nó terminal, o sistema retorna pelo mesmo caminho percorrido com a finalidade de encontrar soluções alternativas;
O
backtracking
pode se tornar em uma fonte de ineficiência, uma vez que o programa pode executar passos tentando satisfazer objetivos que não contribuirão para a solução do problema.
BACKTRACKINGSlide10
características
TIPOS DE DADOSSlide11
como programar em
prolog
?
CONCEITOS BÁSICOSSlide12
como programar em
prolog
?
OPERADORES BÁSICOS
pré-definidos
_
:-
?-
!
não, e, ou lógicos
not
,
;
aritmética
+
-
*
/
//
mod
^
is
relacional
=
==
=:=
\==
=\=
<
=<
>
>=
outros
member
(elemento, [ ])
\+Slide13
aplicações
APLICAÇÕESSlide14
p
aradigmas
PROLOG VERSUS
LINGUAGENS IMPERATIVASSlide15
p
aradigmas
Imperativo
Processo de Mudanças de Estados
Variável, Valor e Atribuição
Execução de passos algorítmicos
Declarativo
Especificações sobre a Tarefa a Ser Realizada
Predicados
Dedução AutomáticaDifícil Implementação computacionalPARADIGMASSlide16
comparativo
PROLOG VERSUS
LINGUAGENS IMPERATIVAS
Imperativas
prolog
processamento numérico
processamento simbólico
soluções algorítmicas
soluções heurísticasmodificação difícil
fácil modificaçãomelhor solução possíveltodas as soluções possíveis
fácil re-usabilidade difícil re-usabilidade
iteratividade integrada
iteratividade separada
apenas
respostas corretas
incluem respostas parcialmente corretas
conexão a base de dados
não conecta a base de dados
alta
produtividade
baixa
produtividadeSlide17
i
ntegrando
Prolog
INTEGRANDO PROLOG
Para que!???
Possibilidade de buscas mais complexas não definidas através de SQL.
Prolog interpreta um scripts.
Passos para integração
Definição de conjuntos e regras em script
prolog .pl;Utilização de programação Imperativa para selecionar situações;
Verificar veracidade das situações com execução de um script prolog;Organizar resultados;
Torna o
prolog
mais reutilizável;Slide18
considerações finais
CONSIDERAÇÕES FINAIS
Para resolução de problemas lógicos, podemos utilizar o Prolog como uma forma de facilitar o encontro de uma solução;
Pelo fato de ser uma linguagem interpretada, pode ser facilmente incorporada a uma linguagem de programação que faça chamadas de execução de programas;
Prolog é uma linguagem muito utilizada na área da pesquisa, desenvolvimento de projetos científico, vem tentando ser utilizada no mercado.Slide19
menções
BEBREGAL,
Benjamín
Callejas
; ACIOLY, Benedito Melo.
Introdução à Lógica Clássica para a Ciência da Computação, versão preliminar 2007
.DANTAS, Luciano Assis. Descobrindo o Prolog. Disponível em http://www.linhadecodigo.com. br/Artigo.aspx
?id=1697. Acesso em 25 jul. 2009.MITSUO, Marcelo Niside. Prolog. Disponível em http://www.din.uem.br/ia/ferramen/prolog/. Acesso em 25 jul. 2009
.PALLAZZO, Luiz A. M.. Introdução à Programação Prolog. Disponível em http://www.dsc.upe.br/~mlc/ Prolog/introducaoProgramacaoProlog_Palazzo.pdf. Acesso em 25 jul. 2009
.Prolog. Disponível em http://pt.wikipedia.org/wiki/ Prolog#Extens.C3.B5es. Acesso em 25 jul. 2009.
REFERÊNCIAS