Professional Documents
Culture Documents
Ferramentas
Histria
Inferncia baseada em Resoluo (1965)
Prolog (1972)
Resoluo
Mtodo para inferncia de frmulas lgicas
Lgica de Predicados
Robinson (1965)
Programao Lgica
Programador define objetos e relaes entre eles Sistema infere concluses Programao Declarativa Resoluo de Problemas Inteligncia Artificial
Prolog
Alain Colmerauer (1972) PROgrammation en LOGique Programao Lgica + extenses
Programao em Prolog
Definir Fatos
Banco de Dados
Definir Regras Realizar Consultas Sistema faz inferncias para responder consultas
Fatos
Predicados que so considerados verdadeiros independentes de outros fatos ou regras Exemplo:
gosta(joao, maria).
predicado
objetos constantes
Consultas
Podemos perguntar se um fato verdadeiro segundo o Banco de Dados Um predicado em uma consulta um objetivo
ariveis
Tm nomes comeando com letra maiscula Em uma consulta, representam a pergunta: Que valores da varivel tornam a consulta verdadeira?
Conjunes
Conjuno lgica de fatos (AND) Conjuno verdade se todos os fatos so verdade Usa a vrgula como operador
?- gosta(joao, maria), gosta(maria, joao). true. ?- entrega(joao, X, maria), gosta(maria, X). false. ?- entrega(X, livro, maria), gosta(maria, X). X = joao.
Regras
Definem a verdade de uma proposio dependente de outros fatos Exemplo: Joo gosta de quem gosta de vinho
gosta(joao, X) :- gosta(X, vinho). gosta(joao, X) :- gosta(X, vinho), gosta(X, queijo). gosta(joao, X) :- mulher(X), gosta(X, vinho).
Regras Exemplo
homem(alberto). homem(eduardo). mulher(alice). mulher(vitoria). pais(eduardo, alberto, vitoria). pais(alice, alberto, vitoria). irma_de(X, Y) :mulher(X), pais(X, P, M), pais(Y, P, M).