Introdução à Modelagem Conceitual 3. Prolog Luiz A M Palazzo Abril, 2011 Universidade Católica de Pelotas Universidade Católica de Pelotas Centro Politécnico Centro Politécnico Laboratório de Modelagem Computacional Laboratório de Modelagem Computacional
Universidade Católica de Pelotas Centro Politécnico Laboratório de Modelagem Computacional. Introdução à Modelagem Conceitual 3. Prolog. Luiz A M Palazzo Abril, 2011. O que é PROLOG ?. PROgrammation en LOGique Alain Colmerauer Univ. Aix-Marseille, 1972 Robert Kowalski - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Introdução à Modelagem Conceitual3. Prolog
Luiz A M PalazzoAbril, 2011
Universidade Católica de PelotasUniversidade Católica de Pelotas
Centro PolitécnicoCentro Politécnico
Laboratório de Modelagem ComputacionalLaboratório de Modelagem Computacional
Introdução à Modelagem Conceitual - 03 PROLOG 2
O que é PROLOG ?
PROgrammation en LOGique
Alain Colmerauer Univ. Aix-Marseille, 1972
Robert Kowalski Univ. Edimburgo, 1974
Introdução à Modelagem Conceitual - 03 PROLOG 3
Programação em Lógica
Sócrates é homem.Todo homem é
mortal.
Quem é mortal?
Sócrates é mortal.
homem(sócrates).mortal(X)
homem(X).
?- mortal(Z).
Z = sócrates.
Introdução à Modelagem Conceitual - 03 PROLOG 4
Fatos, Regras e Consultas
Fatos, Regras e Consultas
A programação em lógica baseia-se em estruturas lógicas denominadas Cláusulas de HornCláusulas de Horn,, que se apresentam em quatro formas distintas:
FatosFatos a RegrasRegras a bConsultasConsultas bVaziaVazia
• Sistemas Especialistas,• Engenharia de Software,• Simulação,• Educação,• Suporte à Decisão,• Programação Científica,• Processamento da Linguagem,• Bases de Dados Dedutivas,• Programação da Web.
Introdução à Modelagem Conceitual - 03 PROLOG 9
A Cláusula Prolog
a :- b1, b2 ... bi ; bj ... bn.
Cabeça
Condição
“se” “e” “ou”
Corpo
Operadores Prolog
Linguagem Natural
Cálculo de Predicados
ProgramasProlog
E ,OU ;SE :-
NÃO not
Introdução à Modelagem Conceitual - 03 PROLOG 10
Introdução à Modelagem Conceitual - 03 PROLOG 11
Fatos Seja a árvore genealógica
mostrada abaixo...
Maria João
José Ana
Júlia Íris
Jorge
que pode ser representada pelo seguinte programa Prolog:
Acrescentar ao programa da árvore genealógica as seguintes relações (em 10 minutos):
avô/2
tia/2
prima/2
Introdução à Modelagem Conceitual - 03 PROLOG 17
Representação Textual
Considere o seguinte texto:
“João nasceu em Pelotas e Jean nasceu em Paris. Paris fica na França, enquanto que Pelotas fica no Rio Grande do Sul. Agora, só é gaúcho quem nasceu no Rio Grande do Sul, tchê.”
Ao lado a codificação em Prolog:
nasceu(joão,pelotas).nasceu(jean,paris).
fica(paris,frança).fica(pelotas,rs).
gaúcho(X):-nasceu(X,Y),fica(Y,rs).
?- gaúcho(X).X=joão;false
Introdução à Modelagem Conceitual - 03 PROLOG 18
Predicados RecursivosSeja, por exemplo, a relação antepassado/2:
Uma tentativa de codificar esta relação em Prolog seria: