Prolog - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Prolog

Description:

Universidade Cat lica de Pelotas Centro Polit cnico Bacharelado em Ci ncia da Computa o Introdu o Programa o Prolog Luiz A. M. Palazzo – PowerPoint PPT presentation

Number of Views:127
Avg rating:3.0/5.0
Slides: 27
Provided by: Luiz57
Category:
Tags: modelos | prolog

less

Transcript and Presenter's Notes

Title: Prolog


1
Prolog
Universidade Católica de Pelotas Centro
Politécnico Bacharelado em Ciência da
Computação Introdução à Programação
  • Luiz A. M. Palazzo
  • Pelotas, maio de 2010

2
1. Lógica e Programação de Computadores
3
O que é PROLOG?
  • PROgrammation en LOGique
  • Alain Colmerauer
  • Univ. Aix-Marseille, 1972
  • Robert Kowalski
  • Univ. Edimburgo, 1974

4
Principais características
  • Lógica como linguagem de programação.
  • Raciocínio dedutivo sobre fatos e regras.
  • Processamento simbólico,
  • Semântica declarativa, procedimental e
    operacional.
  • Programas Lógica Controle.
  • Programas Especificações Formais.
  • Programas Protótipos.
  • Programas Bases de dados.
  • Programas Programas...

5
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.

?
6
Fatos, Regras e Consultas
  • A programação em lógica baseia-se em estruturas
    lógicas denominadas Cláusulas de Horn, que se
    apresentam em quatro formas distintas
  • Fatos a ?
  • Regras a ? b
  • Consultas ? b
  • Vazia ?

7
Fatos, Regras e Consultas
  • Fatos
    São verdades incondicionais
  • pai(josé, joão).
  • pai(joão, júlio).
  • pai(júlio, jorge).

8
Fatos, Regras e Consultas
  • Fatos
    São verdades incondicionais
  • pai(josé, joão).
  • pai(joão, júlio).
  • pai(júlio, jorge).
  • Regras
    Podem ser verdadeiras ou não
  • filho(X, Y) ? pai(Y, X).
  • avô(X, Y) ? pai(X, Z), pai(Z, Y).

9
Fatos, Regras e Consultas
  • Fatos
    São verdades incondicionais
  • pai(josé, joão).
  • pai(joão, júlio).
  • pai(júlio, jorge).
  • Regras
    Podem ser verdadeiras ou não
  • filho(X, Y) ? pai(Y, X).
  • avô(X, Y) ? pai(X, Z), pai(Z, Y).
  • Consultas
    Provocam a execução do programa
  • ?- filho(júlio, X). Xjoão
  • ?- avô(X, jorge). Xjoão

10
Processamento Simbólico
  • deriv(x, 1).
  • deriv(N, 0) ? number(N).
  • deriv(UV, U1V1) ? deriv(U, U1), deriv(V, V1).
  • deriv(U-V, U1-V1) ? deriv(U, U1), deriv(V,
    V1).
  • deriv(UV, U1VUV1) ? deriv(U, U1), deriv(V,
    V1).

11
Semântica Declarativa, Procedimental e Operacional
  • Os programas Prolog permitem três possíveis
    interpretações intercambiáveis
  • (1) Declarativa, ao nível do cálculo de
    predicados de primeira ordem,
  • (2) Procedimental, ao nível da chamada de
    procedimentos, e
  • (3) Operacional, ao nível do controle da execução

12
Programas Lógica Controle
O programador codifica somente a lógica.
O ambiente de programação executa o controle.
13
Programas Especificações Formais
a ? b. b ? c, d. . . .
14
Programas Especificações Formais
a ? b. b ? c, d. . . .
15
Programas Especificações Formais
a ? b. b ? c, d. . . .
ok
16
Programas Protótipos
Projetos grandes e caros ...
... podem ser prototipados rapidamente.
17
Programas Bases de Dados
prolog
bd
18
Programas Programas ...
C/C
Java
?
Delphi
Prolog
Lisp
... etc
19
Aplicações Avançadas
  • Sistemas Especialistas,
  • Engenharia de Software,
  • Simulação,
  • Educação,
  • Suporte à Decisão,
  • Programação Científica
  • Bases de Dados Dedutivas,
  • Programação da Web.

20
Sistemas Especialistas
  • Diagnóstico médico,
  • Controle Ambiental,
  • Cultura Animal,
  • Controle de Tráfego Aéreo,
  • Indústria Aeroespacial.

21
Engenharia de Software
  • Especificações Formais,
  • Prototipação,
  • Modelagem de Processos,
  • Engenharia Reversa,
  • Manutenção de Software.

22
Simulação e Educação
  • Modelagem Ambiental,
  • Modelagem Organizacional,
  • Sistemas Tutoriais Inteligentes,
  • Ensino de Lógica a Adolescentes.

23
Suporte à Decisão
  • Mercados de estoques, ações e capital,
  • Apoio à decisões judiciais,
  • Análise de Investimentos, etc.

24
Bases de Dados Dedutivas
  • O cálculo de predicados de primeira ordem possui
    expressividade equivalente à da álgebra
    relacional.

25
Programação da Web
  • Extensões html e http
  • Web Semântica
  • SWI-Prolog
  • PiLLoW
  • Amzi! Prolog
  • Muitos outros (vale pesquisar)

26
Alguns Ponteiros
  • Prolog na Wikipedia http//pt.wikipedia.org/wiki/P
    rolog
  • Programação em Lógica
    http//vl.fmnet.info/logic-prog/
  • SWI Prolog
    http//www.swi-prolog.org
Write a Comment
User Comments (0)
About PowerShow.com