Prolog

725 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
725
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Prolog

  1. 1. PROLOGAndré Luís Pitombeira
  2. 2. Introduçãoo  Programação Declarativa:n  A linguagem de programação Prolog difere de outras linguagens maisconvencionais, como Pascal, Fortran, C e outras. O Prolog é umalinguagem de programação declarativa, baseada na lógica matemáticao  Programming in Logic:n  O nome Prolog vem do inglês Programming in Logic, que significaprogramando em lógica. O uso deste nome é porque o Prolog estátentando descobrir se uma afirmação é verdadeira ou falsa, ou estátentando encontrar alguma combinação de variáveis que torne umaafirmação verdadeira.o  Executando um programa em Prolog:n  É fazer uma consulta na sua base de dados. E uma consulta nada maisé do que uma chamada de uma cláusula do programa, equivalendo auma solicitação para provar se o que pedimos é verdadeiro de acordocom a base de dados do programa.
  3. 3. Históricoo  Origem da expressão “Programando emLógica”:n  um método computacional, que permitisse umainterpretação procedimental da lógica eestabelecesse as condições adequadas paraentende-la como uma linguagem de programaçãode uso geral.o  Desenvolvimento Moderno.
  4. 4. Paradigma Lógicoo  Prolog é uma linguagem de programação que se enquadra no paradigmade Programação em Lógica Matemática. É uma linguagem de uso geralque é especialmente associada com a inteligência artificial elingüística computacional. Consiste numa linguagem puramente lógica,que pode ser chamada de Prolog puro, e numa linguagem concreta, a qualacrescenta o Prolog puro com componentes extra-lógicos.o  O Prolog é uma linguagem declarativa, você especifica o que se sabe e oque deva ser feito. É também mais direcionada ao conhecimento e menosdirecionada aos algoritmos. Não possui estruturas de controle como do-while, repeat-until, if-then-else, for, case ou switch como encontrados emoutras linguagens: em Prolog utilizam-se métodos lógicos para declararcomo o programa atinge o seu objetivo.
  5. 5. Paradigma Lógico(cont.)o  Um programa pode rodar num modo interativo, a partir de consultas(queries) formuladas pelo usuário, usando a base de dados (os fatos) e asregras relacionais (essencialmente implicações lógicas: se.. então), e omecanismo de unificação para produzir (por uma cadeia de deduçõeslógicas) a solução.o  Comparativo:
  6. 6. Linguagem Prologo  Termos:ü  Termo: Em Prolog é uma constante, uma variável ou uma estrutura.ü  Constante: É um átomo ou um número inteiro.ü  Átomo: É uma cadeia de letras, de dígitos e de grifos que se inicia com umaletra minúscula ou uma cadeia de quaisquer caracteres ASCII imprimíveisdelimitados por apóstrofos.ü  Variável: É qualquer cadeia de letras, de dígitos e de grifos que se iniciacom uma letra maiúsculaü  Estrutura:Representam as proposições atômicas do cálculo depredicados, e sua forma geral é a mesma: functor(lista de parâmetros).
  7. 7. Linguagem Prologo  Cláusulas de Horn:ü  Cláusula de Horn sem Cabeça:ü  homem(andre).ü  Cláusula de Horn com Cabeça:ü  antepassado(andre, joao) :- pai(andre,joao).
  8. 8. Linguagem Prologo  Instruções Relativas a Metas:n  Utilizadas para provar Teoremas, que queremos que o sistema proveou desaprove. Essas proposições são chamadas metas ou consultas.n  Ex.: homem(fred).o  Processo de Inferência do Prolog:n  O processo de inferência deve encontrar um encadeamento de regrasde inferência e/ou de fatos no banco de dados que ligam a meta a umou mais fatos no banco de dados.n  homem(bob).n  pai(bob).n  homem(x) :- pai(x).
  9. 9. Linguagem Prologo  Aritmética Simples:n  O Prolog permite uma sintaxe mais abreviada para cálculosaritméticos com o operador is. Este toma uma expressão aritméticacomo seu operando direito e variável como seu operando esquerdo.n  A is B/ 17 + C.o  Listas:n  São sequências de qualquer numero de elementos, em que estespodem ser átomos ou quaisquer outros termos, inclusive outras listasn  [maça, ameixa, morango].n  nova_lista[maça, ameixa, morango]n  nova_lista([Cabeça da Nova Lista | Cauda da Nova Lista] )n  append([Cabeça|Lista_1], Lista_2, [Cabeça, Lista_3]) :-append(Lista_1, Lista_2, Lista_3).
  10. 10. Especificação de Problemas em Prologo  1º Passo: Qual é o Problema?n  Sócrates e a Imortalidade.q  2 º Passo: Precisamos de um editor de texto.q  3 º Passo: Declaramos os fatos e as regras:q  homem(socrates).q  mortal(X) :- homem(X).q  4 º Passo : Carregamos o Programa.q  5 º Passo : Fazemos as consultas:q  Ex.: homem(socrates).q  O programa irá responder com Yes ou No.
  11. 11. Conclusãoo  O uso do Prolog trouxe inúmeros benefíciospara computação, sobretudo para áquelasáreas que foram diretamente beneficiadas,como a Inteligência Artificial. Além disto, oProlog tem se mostrado uma boa solução paraproblemas cujo domínio não encontra umaboa solução em outros paradigmas delinguagens de programação, como oFuncional e o Imperativo.
  12. 12. Bibliografiao  Wikepedia: Prolog. Disponível em:http://pt.wikipedia.org/wiki/Prolog. Acesso em: 15 junho2009.o  Willers, D. e Renck, M.. “A Linguagem PROLOG“.Faculdades de Taquara. Taquara/RS.o  Palazzo, L.. “Introdução a Linguagem PROLOG”. Educat.Pelotas, 1997.o  Othero, G. e Menuzzi S..”Lingüística Computacional”. Ed.Parábola. São Paulo/SP, 2005.o  Sebesta, R. W.. “Conceitos de Linguagens de Programação”.Ed. Bookman. São Paulo/SP, 2002.
  13. 13. Fim

×