SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
CADERNOS DE INTELIGÊNCIA ARTIFICIAL
Exemplos em Python
Prof. Ronaldo F. Ramos, Dr
24 de março de 2023
1/38
Lógica
Inferência em LPO
2/38
Instanciação Universal
Toda instância de uma sentença universalmente quantificada é
consequência lógica da mesma.
∀vα
subs({v/g}, α)
Ex. Todo Homem é Mortal tem como consequência lógica Pedro é
mortal, José é mortal, etc.
∀xHx → Mx |= Hpedro → Mpedro, Hjose → Mjose, Hjoao → Mjoao
3/38
Instanciação Existencial
Para toda sentença α , variável v e constante k que não apareça
em outro lugar na base de conhecimento.
∃vα
subs({v/k}, α)
Ex. Alguém é inteligente tem como consequência lógica A é
inteligente. Onde A é uma constante. Refere-se a alguém que não
conhecemos no momento, mas existe. É chamada de constante de
Skolem.
∃x Pessoax ∧ Inteligentex |= PessoaA ∧ InteligenteA
4/38
Proposicionalização
Seja a Base de Conhecimento (KB):
I Todos os gatos pretos são bonitos
∀xGatox ∧ Pretox → Bonitox
I Bigodinho é um gato 1
Gatobigodinho
I Bigodinho é Preto
Pretobigodinho
I Bigodinho é irmão de Orelinha
Irmaobigodinho,orelinha
1
Obrigado a Ana Vitória
5/38
Instâncias
Instanciado a quantificação universal em todas as formas possı́veis
teremos:
I Bigodinho é um gato preto bonito
Gatobigodinho ∧ Pretobigodinho → Bonitobigodinho
I O irmão de Bigodinho é um gato preto bonito
GatoIrmaobigodinho,orelinha
∧ PretoIrmaobigodinho,orelinha
→
BonitoIrmaobigodinho,orelinha
I Orelinha é um gato preto bonito
Gatoorelinha ∧ Pretoorelinha → Bonitoorelinha
I Bigodinho é um gato
Gatobigodinho
I Bigodinho é Preto
Pretobigodinho
I Bigodinho é irmão de Orelinha
Irmaobigodinho,orelinha
6/38
Proposicionalização
I Toda KB pode ser proposicionalizada de forma a preservar a
consequência lógica.
I Uma sentença básica (sem variáveis - ground) é consequência
lógica da nova KB sse ela é consequência da KB original.
I Inferência : “proposicionalizar” a KB e aplicar as perguntas,
resolução, por exemplo, e retornar os resultados.
I Problema: com funções existem infinitos termos básicos.
Ex.IrmaoIrmaoIrmao
7/38
Teorema de Herbrand (1930)
Se uma sentença α é consequência de uma KB em LPO, ela é
consequência de um subconjunto finito da KB proposicionalizada.
8/38
Loop de Redução
For n = 0 to ∞ do
I Criar uma KB proposicional instanciando com profundidade de
“n” termos
I verificar se α is consequência desta KB
9/38
Loop Infinito
Funciona se α é consequência, senão fica em loop infinito.
10/38
Teorema de Turing (1936), Church (1936)
Consequência lógica para a LPO é semidecidı́vel (Existem
algoritmos que dizem sim para toda sentença dedutı́vel, mas
nenhum algoritmo existe que diga não para toda sentença não
dedutı́vel)
11/38
Problemas
I Geração de Sentenças irrelevantes
Ex. Pretoorelinha
I Com p predicados de aridade k e n constantes teremos p ∗ nk
instâncias.
12/38
Modus Ponens Generalizado
Podemos obter uma inferência imediata se pudermos encontrar
uma substituição θ tal que Gatox e Pretox . Neste caso
encontramos Gatobigodinho e Pretobigodinho.
Logo:
θ = {x/bigodinho}
Então temos e expressão instanciada (Aplicada a substituição):
Gatobigodinho ∧ Pretobigodinho → Bonitobigodinho
Temos também:
Gatobigodinho e também Pretobigodinho Aplicando o Modos Pones
teremos como consequência:
Bonitobigodinho
Que é o que querı́amos saber...
13/38
Modus Ponens Generalizado
p10, p20, . . . , pn0, (p1 ∧ p2 ∧ . . . ∧ pn → q)
qθ
Onde, P10 pode ser algo como Gatox e P1 seria Gatobigodinho
Detalhes:
I GMP é utilizado com KB de cláusulas definidas (conjunto de
disjunções com exatamente um literal positivo)
I Todas as variáveis são universalmente quantificadas.
14/38
Unificação
Uma substituição que iguala duas expressões é chamada de
unificação e a substituição é chamada de unificador.
p q theta
Conhece(Pedro,x) Conhece(Pedro,Carla) x/Carla
Conhece(Pedro,x) Conhece(y,Bill) x/Bill, y/Pedro
Conhece(Pedro,x) Conhece(y,Mae(y)) y/Pedro,x/Mae(Pedro)
Conhece(Pedro,x) Conhece(x,OJ) = falha
Solução para conflitos :
I Padronização separada elimina sobreposição de variáveis, e.g.,
Conhece(Z17, Bill)
15/38
Unificador Mais Geral
I Para unificar Conhece(Pedro, x) e Conhece(y, z) teremos as
seguintes possibilidades,
θ = {y/Pedro, x/z}ou θ = {y/Pedro, x/Pedro, z/Pedro}
I O primeiro unificador é mais geral que o segundo.
I Existe um único Unificador Mais Geral (UMG) que é exclusivo
para renomear variáveis.
UMG = {y/Pedro, x/z}
16/38
Algoritmo de Unificação
função Unifica(x,y,temp):
I se temp = ”falhou”então retorne ”falhou”
I senão se x == y retorne temp
I senão se x é uma variável retorne UnificaVariavel(x,y,temp)
I senão se y é uma variável retorne UnificaVariável(x,y,temp)
I senão se x e y são termos compostos retorne Unifica
(argumentos[x],argumentos(y),Unifica(operando[x],operando2[y]))
I senão se x e y são listas retorne
Unifica(resto[x],resto[y],Unificar(primeiro[x],primeiro[y]))
I senão retorne ”falhou”
2
Nome da função
17/38
Funçao UnificaVariável
função UnificaVariável(var,x,temp):
I se { var/val } ∈ temp retorne Unifica(val,x,temp)
I senão se { x/val } ∈ temp retorne Unifica(var,val,temp)
I senão se verificaOcorrência(var,x) retorne ”falhou”
I senão retorne adicionar{ var/x } a temp
18/38
Uma base de conhecimento não estruturada. FONTE:
Russel and Norvig
A lei americana estabelece que é crime um americano vender
armas para nações hostis. O paı́s Nono, um inimigo dos EUA, tem
alguns mı́sseis, e todos estes mı́sseis foram vendidos pelo coronel
West, que é americano.
Coronel West é criminoso?
19/38
Encadeamento Pra Frente
Conforme já vimos, o encadeamento pra frente se dá pela aplicação
de Modus Ponens sucessivos sobre expressões na forma de cláusulas
definidas. Vejamos alguns exemplos de cláusulas definidas.
20/38
Formalizando em Cláusulas Definidas]
I É um crime para um americano vender armas para nações
hostis
Americanox ∧ Armay ∧ Vendeux,y,z ∧ Hostilz → Criminosox
I Nono tem alguns mı́sseis
PossuiNono,M1
MissilM1
I Todos os mı́sseis foram vendidos pelo coronel West
Missilx ∧ PossuiNono,x → VendeuWest,x,Nono
I Mı́sseis são armas
Missilx → Armax
21/38
Formalizando em Cláusulas Definidas]
I Um inimigo da América é hostil
Inimigox,America → Hostilx
I West é americano
AmericanoWest
I Nono é inimigo da América
InimigoNono,America
Esta base de conhecimento é conhecida como Datalog (Cláusulas
definidas em lógica de primeira ordem sem funções)
22/38
Encadeamento Para a Frente - Passo 1
23/38
Encadeamento Para a Frente - Passo 2
24/38
Encadeamento Para a Frente - Passo 3
25/38
Encadeamento Pra Trás - Passo 1
26/38
Encadeamento Pra Trás - Passo 2
27/38
Encadeamento Pra Trás - Passo 3
28/38
Encadeamento Pra Trás - Passo 4
29/38
Encadeamento Pra Trás - Passo 5
30/38
Encadeamento Pra Trás - Passo 6
31/38
Propriedades do Encadeamento Pra Frente
I Consistente e completo para LPO com cláusulas definidas.
I EF conclui um Datalog em um número finito de iterações.
I Em geral não termina se α não é consequência
lógica(semidescidı́vel).
I Casamento pode ser complicado (NP-HARD)
I Utilizado em bancos de dados dedutivos.
I Pode ser feito de forma incremental
32/38
Propriedades do Encadeamento Pra Trás
I Busca recursiva em profundidade: espaço linear no tamanho
da prova.
I Incompleta (loops infinitos)(corrige-se checando a meta atual
em relação com todas as metas na pilha).
I Em geral não termina se α não é consequência
lógica(semidescidı́vel).
I Ineficiente devido a sub metas repetidas. (Corrige-se
colocando os resultados prévios em uma cache (espaço extra))
I Muito usada em programação lógica
33/38
Resolução
Versão em primeira ordem.
l1 ∧ ... ∧ lk m1 ∧ ... ∧ mn
(l1 ∧ ... ∧ li−1 ∧ li+1 ∧ lk ∧ m1 ∧ mj−1 ∧ mj+1 ∧ ... ∧ ...mn)θ
Onde Unifica(li , ¬mj ) = θ
34/38
Resolução
Considera-se que as duas cláusulas foram padronizadas em
separado de forma que elas não compartilham variáveis.
¬Ricox ∧ Infelizx RicoKen
InfelizKen
Com θ = {x/Ken}.
Aplicar passos de resolução a FNC(KB ∧ ¬α); completo para LPO
35/38
Conversão para a forma Normal Conjuntiva
Convertendo a expressão: Todo Mundo que ama os animais é
amado por alguém.
∀x(∀yAnimaly → Amax,y ) → (∃yAma(y, x))
I Eliminar bicondicionais e implicações
∀x(¬∀y¬Animaly ∨ Amax,y ) ∨ (∃yAmay,x )
I Mover ¬ pra dentro: ¬∀xP ≡ ∃x¬P, ¬∃xP ≡ ∀x¬P
∀x(∃y¬(¬Animaly ∨ Amax,y )) ∨ (∃yAmay,x )
∀x(∃yAnimaly ∧ ¬Amax,y ) ∨ (∃yAmax,y )
∀x(∃yAnimaly ∨ ¬Amax,y ) ∨ (∃Amax,y )
I Padronização de Variáveis (Cada quantificador usa uma
variável diferente).
∀x(∃yAnimaly ∨ ¬Amax,y ) ∨ (∃zAmaz,x )
36/38
Conversão para a forma Normal Conjuntiva - Cont
I Skolemizar: uma forma mais geral de instanciação existencial.
Cada variável é substituı́da por uma função de Skolem das
variáveis quantificadas universalmente.
∀x(AnimalF(x) ∨ ¬Amax,F(x)) ∨ AmaG(x),x
I Desprezar quantificadores universais.
(AnimalF(x) ∨ ¬Amax,F(x)) ∨ AmaG(x),x
I Distribuir ∨ sobre o ∧
(AnimalF(x) ∨ AmaG(x),x ) ∧ (¬Amax,F(X) ∨ AmaG(x),x )
Voilà.
37/38
Finalmente
38/38

Mais conteúdo relacionado

Mais de ronaldo ramos

Mais de ronaldo ramos (20)

01_lisp.pdf
01_lisp.pdf01_lisp.pdf
01_lisp.pdf
 
javascript_funcional.pdf
javascript_funcional.pdfjavascript_funcional.pdf
javascript_funcional.pdf
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdf
 
_001_introducao.pdf
_001_introducao.pdf_001_introducao.pdf
_001_introducao.pdf
 
paradigmas_de_programacao_2_X.pdf
paradigmas_de_programacao_2_X.pdfparadigmas_de_programacao_2_X.pdf
paradigmas_de_programacao_2_X.pdf
 
paradigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdfparadigmas_de_programacao_1_X.pdf
paradigmas_de_programacao_1_X.pdf
 
paradigmas_de_programacao.pdf
paradigmas_de_programacao.pdfparadigmas_de_programacao.pdf
paradigmas_de_programacao.pdf
 
paradigmas_de_programacao_3_X.pdf
paradigmas_de_programacao_3_X.pdfparadigmas_de_programacao_3_X.pdf
paradigmas_de_programacao_3_X.pdf
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdf
 
40-aula40.pdf
40-aula40.pdf40-aula40.pdf
40-aula40.pdf
 
43-aula43.pdf
43-aula43.pdf43-aula43.pdf
43-aula43.pdf
 
48-aula48-modelosTemporais.pdf
48-aula48-modelosTemporais.pdf48-aula48-modelosTemporais.pdf
48-aula48-modelosTemporais.pdf
 
46-aula46-fuzzy.pdf
46-aula46-fuzzy.pdf46-aula46-fuzzy.pdf
46-aula46-fuzzy.pdf
 
42-aula42.pdf
42-aula42.pdf42-aula42.pdf
42-aula42.pdf
 
39-aula39.pdf
39-aula39.pdf39-aula39.pdf
39-aula39.pdf
 
38-aula38.pdf
38-aula38.pdf38-aula38.pdf
38-aula38.pdf
 
36-aula36.pdf
36-aula36.pdf36-aula36.pdf
36-aula36.pdf
 
35-aula35.pdf
35-aula35.pdf35-aula35.pdf
35-aula35.pdf
 
34-aula34.pdf
34-aula34.pdf34-aula34.pdf
34-aula34.pdf
 
33-aula33.pdf
33-aula33.pdf33-aula33.pdf
33-aula33.pdf
 

Último

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
edelon1
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
LeloIurk1
 

Último (20)

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
Antero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escritaAntero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escrita
 
praticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médiopraticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médio
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 

27-aula27.pdf

  • 1. CADERNOS DE INTELIGÊNCIA ARTIFICIAL Exemplos em Python Prof. Ronaldo F. Ramos, Dr 24 de março de 2023 1/38
  • 3. Instanciação Universal Toda instância de uma sentença universalmente quantificada é consequência lógica da mesma. ∀vα subs({v/g}, α) Ex. Todo Homem é Mortal tem como consequência lógica Pedro é mortal, José é mortal, etc. ∀xHx → Mx |= Hpedro → Mpedro, Hjose → Mjose, Hjoao → Mjoao 3/38
  • 4. Instanciação Existencial Para toda sentença α , variável v e constante k que não apareça em outro lugar na base de conhecimento. ∃vα subs({v/k}, α) Ex. Alguém é inteligente tem como consequência lógica A é inteligente. Onde A é uma constante. Refere-se a alguém que não conhecemos no momento, mas existe. É chamada de constante de Skolem. ∃x Pessoax ∧ Inteligentex |= PessoaA ∧ InteligenteA 4/38
  • 5. Proposicionalização Seja a Base de Conhecimento (KB): I Todos os gatos pretos são bonitos ∀xGatox ∧ Pretox → Bonitox I Bigodinho é um gato 1 Gatobigodinho I Bigodinho é Preto Pretobigodinho I Bigodinho é irmão de Orelinha Irmaobigodinho,orelinha 1 Obrigado a Ana Vitória 5/38
  • 6. Instâncias Instanciado a quantificação universal em todas as formas possı́veis teremos: I Bigodinho é um gato preto bonito Gatobigodinho ∧ Pretobigodinho → Bonitobigodinho I O irmão de Bigodinho é um gato preto bonito GatoIrmaobigodinho,orelinha ∧ PretoIrmaobigodinho,orelinha → BonitoIrmaobigodinho,orelinha I Orelinha é um gato preto bonito Gatoorelinha ∧ Pretoorelinha → Bonitoorelinha I Bigodinho é um gato Gatobigodinho I Bigodinho é Preto Pretobigodinho I Bigodinho é irmão de Orelinha Irmaobigodinho,orelinha 6/38
  • 7. Proposicionalização I Toda KB pode ser proposicionalizada de forma a preservar a consequência lógica. I Uma sentença básica (sem variáveis - ground) é consequência lógica da nova KB sse ela é consequência da KB original. I Inferência : “proposicionalizar” a KB e aplicar as perguntas, resolução, por exemplo, e retornar os resultados. I Problema: com funções existem infinitos termos básicos. Ex.IrmaoIrmaoIrmao 7/38
  • 8. Teorema de Herbrand (1930) Se uma sentença α é consequência de uma KB em LPO, ela é consequência de um subconjunto finito da KB proposicionalizada. 8/38
  • 9. Loop de Redução For n = 0 to ∞ do I Criar uma KB proposicional instanciando com profundidade de “n” termos I verificar se α is consequência desta KB 9/38
  • 10. Loop Infinito Funciona se α é consequência, senão fica em loop infinito. 10/38
  • 11. Teorema de Turing (1936), Church (1936) Consequência lógica para a LPO é semidecidı́vel (Existem algoritmos que dizem sim para toda sentença dedutı́vel, mas nenhum algoritmo existe que diga não para toda sentença não dedutı́vel) 11/38
  • 12. Problemas I Geração de Sentenças irrelevantes Ex. Pretoorelinha I Com p predicados de aridade k e n constantes teremos p ∗ nk instâncias. 12/38
  • 13. Modus Ponens Generalizado Podemos obter uma inferência imediata se pudermos encontrar uma substituição θ tal que Gatox e Pretox . Neste caso encontramos Gatobigodinho e Pretobigodinho. Logo: θ = {x/bigodinho} Então temos e expressão instanciada (Aplicada a substituição): Gatobigodinho ∧ Pretobigodinho → Bonitobigodinho Temos também: Gatobigodinho e também Pretobigodinho Aplicando o Modos Pones teremos como consequência: Bonitobigodinho Que é o que querı́amos saber... 13/38
  • 14. Modus Ponens Generalizado p10, p20, . . . , pn0, (p1 ∧ p2 ∧ . . . ∧ pn → q) qθ Onde, P10 pode ser algo como Gatox e P1 seria Gatobigodinho Detalhes: I GMP é utilizado com KB de cláusulas definidas (conjunto de disjunções com exatamente um literal positivo) I Todas as variáveis são universalmente quantificadas. 14/38
  • 15. Unificação Uma substituição que iguala duas expressões é chamada de unificação e a substituição é chamada de unificador. p q theta Conhece(Pedro,x) Conhece(Pedro,Carla) x/Carla Conhece(Pedro,x) Conhece(y,Bill) x/Bill, y/Pedro Conhece(Pedro,x) Conhece(y,Mae(y)) y/Pedro,x/Mae(Pedro) Conhece(Pedro,x) Conhece(x,OJ) = falha Solução para conflitos : I Padronização separada elimina sobreposição de variáveis, e.g., Conhece(Z17, Bill) 15/38
  • 16. Unificador Mais Geral I Para unificar Conhece(Pedro, x) e Conhece(y, z) teremos as seguintes possibilidades, θ = {y/Pedro, x/z}ou θ = {y/Pedro, x/Pedro, z/Pedro} I O primeiro unificador é mais geral que o segundo. I Existe um único Unificador Mais Geral (UMG) que é exclusivo para renomear variáveis. UMG = {y/Pedro, x/z} 16/38
  • 17. Algoritmo de Unificação função Unifica(x,y,temp): I se temp = ”falhou”então retorne ”falhou” I senão se x == y retorne temp I senão se x é uma variável retorne UnificaVariavel(x,y,temp) I senão se y é uma variável retorne UnificaVariável(x,y,temp) I senão se x e y são termos compostos retorne Unifica (argumentos[x],argumentos(y),Unifica(operando[x],operando2[y])) I senão se x e y são listas retorne Unifica(resto[x],resto[y],Unificar(primeiro[x],primeiro[y])) I senão retorne ”falhou” 2 Nome da função 17/38
  • 18. Funçao UnificaVariável função UnificaVariável(var,x,temp): I se { var/val } ∈ temp retorne Unifica(val,x,temp) I senão se { x/val } ∈ temp retorne Unifica(var,val,temp) I senão se verificaOcorrência(var,x) retorne ”falhou” I senão retorne adicionar{ var/x } a temp 18/38
  • 19. Uma base de conhecimento não estruturada. FONTE: Russel and Norvig A lei americana estabelece que é crime um americano vender armas para nações hostis. O paı́s Nono, um inimigo dos EUA, tem alguns mı́sseis, e todos estes mı́sseis foram vendidos pelo coronel West, que é americano. Coronel West é criminoso? 19/38
  • 20. Encadeamento Pra Frente Conforme já vimos, o encadeamento pra frente se dá pela aplicação de Modus Ponens sucessivos sobre expressões na forma de cláusulas definidas. Vejamos alguns exemplos de cláusulas definidas. 20/38
  • 21. Formalizando em Cláusulas Definidas] I É um crime para um americano vender armas para nações hostis Americanox ∧ Armay ∧ Vendeux,y,z ∧ Hostilz → Criminosox I Nono tem alguns mı́sseis PossuiNono,M1 MissilM1 I Todos os mı́sseis foram vendidos pelo coronel West Missilx ∧ PossuiNono,x → VendeuWest,x,Nono I Mı́sseis são armas Missilx → Armax 21/38
  • 22. Formalizando em Cláusulas Definidas] I Um inimigo da América é hostil Inimigox,America → Hostilx I West é americano AmericanoWest I Nono é inimigo da América InimigoNono,America Esta base de conhecimento é conhecida como Datalog (Cláusulas definidas em lógica de primeira ordem sem funções) 22/38
  • 23. Encadeamento Para a Frente - Passo 1 23/38
  • 24. Encadeamento Para a Frente - Passo 2 24/38
  • 25. Encadeamento Para a Frente - Passo 3 25/38
  • 26. Encadeamento Pra Trás - Passo 1 26/38
  • 27. Encadeamento Pra Trás - Passo 2 27/38
  • 28. Encadeamento Pra Trás - Passo 3 28/38
  • 29. Encadeamento Pra Trás - Passo 4 29/38
  • 30. Encadeamento Pra Trás - Passo 5 30/38
  • 31. Encadeamento Pra Trás - Passo 6 31/38
  • 32. Propriedades do Encadeamento Pra Frente I Consistente e completo para LPO com cláusulas definidas. I EF conclui um Datalog em um número finito de iterações. I Em geral não termina se α não é consequência lógica(semidescidı́vel). I Casamento pode ser complicado (NP-HARD) I Utilizado em bancos de dados dedutivos. I Pode ser feito de forma incremental 32/38
  • 33. Propriedades do Encadeamento Pra Trás I Busca recursiva em profundidade: espaço linear no tamanho da prova. I Incompleta (loops infinitos)(corrige-se checando a meta atual em relação com todas as metas na pilha). I Em geral não termina se α não é consequência lógica(semidescidı́vel). I Ineficiente devido a sub metas repetidas. (Corrige-se colocando os resultados prévios em uma cache (espaço extra)) I Muito usada em programação lógica 33/38
  • 34. Resolução Versão em primeira ordem. l1 ∧ ... ∧ lk m1 ∧ ... ∧ mn (l1 ∧ ... ∧ li−1 ∧ li+1 ∧ lk ∧ m1 ∧ mj−1 ∧ mj+1 ∧ ... ∧ ...mn)θ Onde Unifica(li , ¬mj ) = θ 34/38
  • 35. Resolução Considera-se que as duas cláusulas foram padronizadas em separado de forma que elas não compartilham variáveis. ¬Ricox ∧ Infelizx RicoKen InfelizKen Com θ = {x/Ken}. Aplicar passos de resolução a FNC(KB ∧ ¬α); completo para LPO 35/38
  • 36. Conversão para a forma Normal Conjuntiva Convertendo a expressão: Todo Mundo que ama os animais é amado por alguém. ∀x(∀yAnimaly → Amax,y ) → (∃yAma(y, x)) I Eliminar bicondicionais e implicações ∀x(¬∀y¬Animaly ∨ Amax,y ) ∨ (∃yAmay,x ) I Mover ¬ pra dentro: ¬∀xP ≡ ∃x¬P, ¬∃xP ≡ ∀x¬P ∀x(∃y¬(¬Animaly ∨ Amax,y )) ∨ (∃yAmay,x ) ∀x(∃yAnimaly ∧ ¬Amax,y ) ∨ (∃yAmax,y ) ∀x(∃yAnimaly ∨ ¬Amax,y ) ∨ (∃Amax,y ) I Padronização de Variáveis (Cada quantificador usa uma variável diferente). ∀x(∃yAnimaly ∨ ¬Amax,y ) ∨ (∃zAmaz,x ) 36/38
  • 37. Conversão para a forma Normal Conjuntiva - Cont I Skolemizar: uma forma mais geral de instanciação existencial. Cada variável é substituı́da por uma função de Skolem das variáveis quantificadas universalmente. ∀x(AnimalF(x) ∨ ¬Amax,F(x)) ∨ AmaG(x),x I Desprezar quantificadores universais. (AnimalF(x) ∨ ¬Amax,F(x)) ∨ AmaG(x),x I Distribuir ∨ sobre o ∧ (AnimalF(x) ∨ AmaG(x),x ) ∧ (¬Amax,F(X) ∨ AmaG(x),x ) Voilà. 37/38