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

APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.HandersonFabio
 
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos AnimaisNós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos AnimaisIlda Bicacro
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroBrenda Fritz
 
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfPastor Robson Colaço
 
Atividade com a música Xote da Alegria - Falamansa
Atividade com a música Xote  da  Alegria    -   FalamansaAtividade com a música Xote  da  Alegria    -   Falamansa
Atividade com a música Xote da Alegria - FalamansaMary Alvarenga
 
Trabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e SenegalTrabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e SenegalErikOliveira40
 
clubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importânciaclubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importânciaLuanaAlves940822
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfssuserbb4ac2
 
Diálogo Crátilo de Platão sócrates daspdf
Diálogo Crátilo de Platão sócrates daspdfDiálogo Crátilo de Platão sócrates daspdf
Diálogo Crátilo de Platão sócrates daspdfEversonFerreira20
 
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptxSlides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Plano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola públicaPlano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola públicaanapsuls
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxMartin M Flynn
 
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática  38 a 62.pdfPlanejamento 2024 - 1º ano - Matemática  38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdfdanielagracia9
 
PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalcarlaOliveira438
 
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....LuizHenriquedeAlmeid6
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número Mary Alvarenga
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalcarlamgalves5
 
Produção de poemas - Reciclar é preciso
Produção  de  poemas  -  Reciclar é precisoProdução  de  poemas  -  Reciclar é preciso
Produção de poemas - Reciclar é precisoMary Alvarenga
 
O Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhosoO Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhosoVALMIRARIBEIRO1
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxLuizHenriquedeAlmeid6
 

Último (20)

APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.
 
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos AnimaisNós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livro
 
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
 
Atividade com a música Xote da Alegria - Falamansa
Atividade com a música Xote  da  Alegria    -   FalamansaAtividade com a música Xote  da  Alegria    -   Falamansa
Atividade com a música Xote da Alegria - Falamansa
 
Trabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e SenegalTrabalho sobre as diferenças demograficas entre EUA e Senegal
Trabalho sobre as diferenças demograficas entre EUA e Senegal
 
clubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importânciaclubinho-bio-2.pdf vacinas saúde importância
clubinho-bio-2.pdf vacinas saúde importância
 
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdfAS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
AS COLUNAS B E J E SUAS POSICOES CONFORME O RITO.pdf
 
Diálogo Crátilo de Platão sócrates daspdf
Diálogo Crátilo de Platão sócrates daspdfDiálogo Crátilo de Platão sócrates daspdf
Diálogo Crátilo de Platão sócrates daspdf
 
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptxSlides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
Slides Lição 9, CPAD, Resistindo à Tentação no Caminho, 2Tr24.pptx
 
Plano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola públicaPlano de aula ensino fundamental escola pública
Plano de aula ensino fundamental escola pública
 
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
 
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática  38 a 62.pdfPlanejamento 2024 - 1º ano - Matemática  38 a 62.pdf
Planejamento 2024 - 1º ano - Matemática 38 a 62.pdf
 
PPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 finalPPP6_ciencias final 6 ano ano de 23/24 final
PPP6_ciencias final 6 ano ano de 23/24 final
 
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
Slides Lição 8, Central Gospel, Os 144 Mil Que Não Se Curvarão Ao Anticristo....
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 
Produção de poemas - Reciclar é preciso
Produção  de  poemas  -  Reciclar é precisoProdução  de  poemas  -  Reciclar é preciso
Produção de poemas - Reciclar é preciso
 
O Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhosoO Reizinho Autista.pdf - livro maravilhoso
O Reizinho Autista.pdf - livro maravilhoso
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
 

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