IA Aula 09 Prolog 2012

3817 palavras 16 páginas
INF 1771 – Inteligência Artificial
Aula 09 – Introdução ao Prolog

Edirlei Soares de Lima
<elima@inf.puc-rio.br>

Introdução
• O Prolog é uma linguagem de programação baseada em lógica de primeira ordem.
• Não é padronizada.
• Algumas implementações: SICStus Prolog, Borland
Turbo Prolog, SWI-Prolog...
• Geralmente é interpretado, mas pode ser compilado.

Prolog x Outras Linguagens
• Linguagens Procedimentais (C, Pascal, Basic...):
Especifica-se como realizar determinada tarefa.
• Linguagens Orientadas a Objetos (C++, Java, C#...):
Especifica-se objetos e seus métodos.
• Prolog: Especifica-se o quê se sabe sobre um problema e o quê deve ser feito. É mais direcionada ao conhecimento e menos direcionada a algoritmos.

Programação em Prolog
• Programar em Prolog envolve:
– Declarar alguns fatos a respeito de objetos e seus relacionamentos. – Definir algumas regras sobre os objetos e seus relacionamentos. – Fazer perguntas sobre os objetos e seus relacionamentos. SWI-Prolog
• Open Source.
• Multiplataforma.
• Possui interface com as linguagens C e C++.

• www.swi-prolog.org

SWI-Prolog - Interface

Sentenças Prolog
• Nomes de constantes e predicados iniciam sempre com letra minúscula. • O predicado (relação unária, n-ária ou função) é escrito primeiro e os objetos relacionados são escritos depois entre parênteses. • Variáveis sempre começam por letra maiúscula.
• Toda sentença termina com ponto “.”
• Exemplo: gosta(maria, jose).

Operadores Lógicos
Símbolo

Conectivo

Operação Lógica

:-

IF

Implicação

,

AND

Conjunção

;

OR

Disjunção

not

NOT

Negação

Operadores Relacionais
Operador

Significado

X=Y

Igual a

X \= Y

Não igual a

X<Y

Menor que

Y>X

Maior que

Y =< X

Menor ou igual a

Y >= X

Maior ou igual a

Regras
• Regras são utilizadas para expressar dependência entre um fato e outro fato:
– criança(X) :- gosta(X,sorvete).
– criança(X) :- not odeia(X,sorvete).

• Ou grupo de fatos:
– avó(X,Z) :- (mãe(X,Y),mãe(Y,Z)); (mãe(X,Y),pai(Y,Z)).


Relacionados

  • Jgbsjfkdbafjbnfks
    1799 palavras | 8 páginas
  • Ia - inteligencia artificial
    2785 palavras | 12 páginas
  • projeto final
    4623 palavras | 19 páginas
  • O computador na sociedade do conhecimento
    54687 palavras | 219 páginas
  • Cco 12
    23858 palavras | 96 páginas
  • Computadores 1950-1971
    31076 palavras | 125 páginas