















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Material sobre a programção Lógica aplicada à Inteligencia Artificial
Tipologia: Notas de estudo
1 / 23
Esta página não é visível na pré-visualização
Não perca as partes importantes!
















Introdução
SLD-refutação
é um procedimento para raciocínio automatizado que
apresenta as seguintes características:
Raciocínio automatizado
Raciocínio automatizado
simula raciocínio lógico por meio de processos computacionais
simula raciocínio lógico por meio de processos computacionais
Inferência com cláusulas de Horn
Inferências com cláusulas de Horn são efetuadas sempre entre:
0000
1111
2222
n n
n n
2222
nnnn
0000
1111
2222
mmmm
1111
2222
n n
n n
1 1
1 1
2222
m m
m m
2222
nnnn
0
1
Inferência com cláusulas de Horn
Exemplo 1 – inferência entre fato e consulta
Exemplo 1 – inferência entre fato e consulta
Exemplo 2 – inferência entre regra e consulta
Exemplo 2 – inferência entre regra e consulta
SLD-refutação
(1)(1)(1)(1)
bebe(bebe(bebe(bebe(ze
zezeze,pinga)
,pinga),pinga),pinga)
(2)(2)(2)(2)
bebe(mane,bebe(mane,aguabebe(mane,bebe(mane,
agua)aguaagua
(3)(3)(3)(3)
vivo(mane)vivo(mane)vivo(mane)vivo(mane)
(4)(4)(4)(4)
saudavelsaudavelsaudavelsaudavel(X)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
(1)(1)(1)(1)
bebe(bebe(bebe(bebe(ze
zezeze,pinga)
,pinga),pinga),pinga)
(2)(2)(2)(2)
bebe(mane,bebe(mane,aguabebe(mane,bebe(mane,
agua)aguaagua
(3)(3)(3)(3)
vivo(mane)vivo(mane)vivo(mane)vivo(mane)
(4)(4)(4)(4)
saudavelsaudavelsaudavelsaudavel(X)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
SLD-refutação
(1)(1)(1)(1)
bebe(bebe(bebe(bebe(ze
zezeze,pinga)
,pinga),pinga),pinga)
(2)(2)(2)(2)
bebe(mane,bebe(mane,aguabebe(mane,bebe(mane,
agua)aguaagua
(3)(3)(3)(3)
vivo(mane)vivo(mane)vivo(mane)vivo(mane)
(4)(4)(4)(4)
saudavelsaudavelsaudavelsaudavel(X)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
(1)(1)(1)(1)
bebe(bebe(bebe(bebe(ze
zezeze,pinga)
,pinga),pinga),pinga)
(2)(2)(2)(2)
bebe(mane,bebe(mane,aguabebe(mane,bebe(mane,
agua)aguaagua
(3)(3)(3)(3)
vivo(mane)vivo(mane)vivo(mane)vivo(mane)
(4)(4)(4)(4)
saudavelsaudavelsaudavelsaudavel(X)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
SLD-refutação
(1)(1)(1)(1)
bebe(bebe(bebe(bebe(ze
zezeze,pinga)
,pinga),pinga),pinga)
(2)(2)(2)(2)
bebe(mane,bebe(mane,aguabebe(mane,bebe(mane,
agua)aguaagua
(3)(3)(3)(3)
vivo(mane)vivo(mane)vivo(mane)vivo(mane)
(4)(4)(4)(4)
saudavelsaudavelsaudavelsaudavel(X)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
(1)(1)(1)(1)
bebe(bebe(bebe(bebe(ze
zezeze,pinga)
,pinga),pinga),pinga)
(2)(2)(2)(2)
bebe(mane,bebe(mane,aguabebe(mane,bebe(mane,
agua)aguaagua
(3)(3)(3)(3)
vivo(mane)vivo(mane)vivo(mane)vivo(mane)
(4)(4)(4)(4)
saudavelsaudavelsaudavelsaudavel(X)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
bebe(Y,X),
vivo(Y)
SLD-refutação
(1)(1)(1)(1)
nasceu(nasceu(nasceu(nasceu(ana
anaanaana,
,,,brasil
brasil
brasil brasil)
(2)(2)(2)(2)
nasceu(nasceu(yvesnasceu(nasceu(
yves,franca)yvesyves
,franca)
,franca) ,franca)
(3)(3)(3)(3)
idioma(idioma(idioma(idioma(brasil
brasilbrasilbrasil,
,,,portugues
portuguesportuguesportugues)
(4)(4)(4)(4)
idioma(franca,idioma(franca,idioma(franca,idioma(franca,frances
francesfrancesfrances)
(5)(5)(5)(5)
estudou(estudou(estudou(estudou(ana
anaanaana,
,frances
francesfrancesfrances)
(6)(6)(6)(6)
fala(A,C)fala(A,C)fala(A,C)fala(A,C)
nasceu(A,B),
idioma(B,C)
nasceu(A,B),
idioma(B,C)
nasceu(A,B),
idioma(B,C)
nasceu(A,B),
idioma(B,C)
(7)(7)(7)(7)
fala(D,E)fala(D,E)fala(D,E)fala(D,E)
estudou(D,E) estudou(D,E)
estudou(D,E) estudou(D,E)
(1)(1)(1)(1)
nasceu(nasceu(nasceu(nasceu(ana
anaanaana,
,,,brasil
brasil
brasil brasil)
(2)(2)(2)(2)
nasceu(nasceu(yvesnasceu(nasceu(
yves,franca)yvesyves
,franca)
,franca) ,franca)
(3)(3)(3)(3)
idioma(idioma(idioma(idioma(brasil
brasilbrasilbrasil,
,,,portugues
portuguesportuguesportugues)
(4)(4)(4)(4)
idioma(franca,idioma(franca,idioma(franca,idioma(franca,frances
francesfrancesfrances)
(5)(5)(5)(5)
estudou(estudou(estudou(estudou(ana
anaanaana,
,frances
francesfrancesfrances)
(6)(6)(6)(6)
fala(A,C)fala(A,C)fala(A,C)fala(A,C)
nasceu(A,B),
idioma(B,C)
nasceu(A,B),
idioma(B,C)
nasceu(A,B),
idioma(B,C)
nasceu(A,B),
idioma(B,C)
(7)(7)(7)(7)
fala(D,E)fala(D,E)fala(D,E)fala(D,E)
estudou(D,E) estudou(D,E)
estudou(D,E) estudou(D,E)
SLD-refutação
(1)(1)(1)(1)
gosta(gosta(arygosta(gosta(
ary,aryary
,eva,,
eva)evaeva
(2)(2)(2)(2)
gosta(gosta(gosta(gosta(ivo
ivoivoivo,ana)
,ana),ana),ana)
(3)(3)(3)(3)
gosta(gosta(gosta(gosta(ivo
ivoivoivo,
,,,eva
evaevaeva)
(4)(4)(4)(4)
gosta(gosta(gosta(gosta(eva
evaevaeva,
,,,ary
aryaryary)
(5)(5)(5)(5)
gosta(ana,gosta(ana,gosta(ana,gosta(ana,ary
aryaryary)
(6)(6)(6)(6)
namora(A,B)namora(A,B)namora(A,B)namora(A,B)
gosta(A,B),
gosta(B,A)
gosta(A,B),
gosta(B,A)
gosta(A,B),
gosta(B,A)
gosta(A,B),
gosta(B,A)
(1)(1)(1)(1)
gosta(gosta(arygosta(gosta(
ary,aryary
,eva,,
eva)evaeva
(2)(2)(2)(2)
gosta(gosta(gosta(gosta(ivo
ivoivoivo,ana)
,ana),ana),ana)
(3)(3)(3)(3)
gosta(gosta(gosta(gosta(ivo
ivoivoivo,
,,,eva
evaevaeva)
(4)(4)(4)(4)
gosta(gosta(gosta(gosta(eva
evaevaeva,
,,,ary
aryaryary)
(5)(5)(5)(5)
gosta(ana,gosta(ana,gosta(ana,gosta(ana,ary
aryaryary)
(6)(6)(6)(6)
namora(A,B)namora(A,B)namora(A,B)namora(A,B)
gosta(A,B),
gosta(B,A)
gosta(A,B),
gosta(B,A)
gosta(A,B),
gosta(B,A)
gosta(A,B),
gosta(B,A)
Exercício 1 Em Prolog, o operador ‘
←←←←
’ é omitido nas cláusulas do tipo fato e substituído por
‘
::-::
’ nas cláusulas do tipo regra. Ademais, toda cláusula deve ser finalizada com
‘
....
’. Usando esta convenção, codifique o programa a seguir em Prolog e faça as
seguintes consultas:
Eva namora com Ary? Ivo namora com Ana? Ary namora com quem?
SLD-refutação
Exercício 2 Em Prolog, o predicado predefinido
trace/0trace/0trace/0trace/
permite rastrear o raciocínio
feito pelo motor de inferência do sistema, ao responder a uma consulta.
Usando este predicado para rastrear as consultas a seguir e desenhe a árvore de refutação correspondente:
? ?
? ?-
namora(namora(namora(namora(eva
evaevaeva,
,
, ,ary
aryaryary).
).).).
? ?
? ?-
namora(namora(namora(namora(ivo
ivoivoivo,ana).
,ana).
,ana). ,ana).
? ?
? ?-
namora(namora(arynamora(namora(
ary,Q).aryary
,Q).
,Q). ,Q).
Predicados computáveis
Predicado computável
Predicado computável
é um predicado avaliado diretamente pelo procedimento de refutação, sem queeste tenha que estar definido no programa lógico.
é um predicado avaliado diretamente pelo procedimento de refutação, sem queeste tenha que estar definido no programa lógico.
Exemplos:
operadores aritméticos: +, -, *, / operadores relacionais: =,
≠
, <,
≤
, >,
≥
Predicados computáveis
(1)(1)(1)(1)
pai(adão,pai(adão,pai(adão,pai(adão,caim
caimcaimcaim)
(2)(2)(2)(2)
pai(adão,pai(adão,abelpai(adão,pai(adão,
abel)abelabel
(3)(3)(3)(3)
pai(adão,pai(adão,pai(adão,pai(adão,seth
sethsethseth)
(4)(4)(4)(4)
irmão(X,Y)irmão(X,Y)irmão(X,Y)irmão(X,Y)
pai(Z,X),
pai(Z,Y),
pai(Z,X),
pai(Z,Y),
pai(Z,X),
pai(Z,Y),
pai(Z,X),
pai(Z,Y),
(1)(1)(1)(1)
pai(adão,pai(adão,pai(adão,pai(adão,caim
caimcaimcaim)
(2)(2)(2)(2)
pai(adão,pai(adão,abelpai(adão,pai(adão,
abel)abelabel
(3)(3)(3)(3)
pai(adão,pai(adão,pai(adão,pai(adão,seth
sethsethseth)
(4)(4)(4)(4)
irmão(X,Y)irmão(X,Y)irmão(X,Y)irmão(X,Y)
pai(Z,X),
pai(Z,Y),
pai(Z,X),
pai(Z,Y),
pai(Z,X),
pai(Z,Y),
pai(Z,X),
pai(Z,Y),
19
Negação por falha finita
Mecanismo de negação por falha finita
Mecanismo de negação por falha finita
Ao encontrar um
literal negativo
(
¬λ¬λ¬λ¬λ
) o sistema dispara uma sub-prova do
literal complementar
(
λλλλ
):
se a prova de
λλλλ
termina com sucesso, a prova de
¬λ ¬λ
¬λ ¬λ
termina com fracasso
se a prova de
λλλλ
termina com fracasso, a prova de
¬λ¬λ¬λ¬λ
termina com sucesso
Ao encontrar um
literal negativo
(
¬λ¬λ¬λ¬λ
) o sistema dispara uma sub-prova do
literal complementar
(
λλλλ
):
se a prova de
λλλλ
termina com sucesso, a prova de
¬λ ¬λ
¬λ ¬λ
termina com fracasso
se a prova de
λλλλ
termina com fracasso, a prova de
¬λ¬λ¬λ¬λ
termina com sucesso
Negação por falha finita
(1)(1)(1)(1)
ave(ave(ave(ave(fred
fredfredfred)
(2)(2)(2)(2)
ave(bob)ave(bob)ave(bob)ave(bob)
(3)(3)(3)(3)
pimguimpimguimpimguimpimguim(
(((fred
fredfredfred)
(4)(4)(4)(4)
voa(X)voa(X)voa(X)voa(X)
ave(X),ave(X),ave(X),ave(X),
pinguimpinguimpinguimpinguim(X)
(1)(1)(1)(1)
ave(ave(ave(ave(fred
fredfredfred)
(2)(2)(2)(2)
ave(bob)ave(bob)ave(bob)ave(bob)
(3)(3)(3)(3)
pimguimpimguimpimguimpimguim(
(((fred
fredfredfred)
(4)(4)(4)(4)
voa(X)voa(X)voa(X)voa(X)
ave(X),ave(X),ave(X),ave(X),
pinguimpinguimpinguimpinguim(X)