1 Lógica 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 Inteligência Artificial Docente:...
-
Upload
joao-da-fonseca-ribeiro -
Category
Documents
-
view
256 -
download
4
Transcript of 1 Lógica 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 Inteligência Artificial Docente:...
1
Lógica
0 1 1 0 0 1 1 01 1 0 0 1 0 0 10 1 1 0 1 1 1 11 0 1 0 0 1 0 0
Inteligência Artificial
Docente: André C. P. L. F. de CarvalhoPAE: Everlândio FernandesMonitor: Anderson Silva
2
Principais Tópicos
Introdução Notação Regras de inferência Prova de teoremas Conclusão
3
Lógica
Se todos que estudam e entendem IA são aprovados
Asdrúbal estudou e entendeu IA
Logo
Asdrúbal será aprovado
9
Lógica é uma ferramenta importante em IA Base de sistemas baseados em regras
Representam problemas utilizando regras do tipo se-então
Permite representar formalmente conhecimento, facilitando sua manipulação
Aplicações: Sistemas Baseados em Conhecimento
( Especialistas), Prova de Teoremas, Sistemas de Diagnóstico
Lógica
10
Linguagem para representação de conhecimento Vantagem: concisa e universalmente
conhecida Desvantagem: pode desviar a atenção da
aplicação para lógica matemática Toda expressão lógica é composta por:
Sintaxe = forma Semântica = significado, interpretação
Lógica
11
Sintaxe Componentes léxicos:
Termos Predicados Fórmulas atômicas Literais Conectivos lógicos
12
Termo (símbolo): Pode ser:
Objeto do mundo real (constante) Variável Função (utiliza termos como argumentos
e retorna termo como resultado) Ex: casa, x, f-maior(joão, josé)
Definições de sintaxe
13
Predicado: utiliza termos como argumentos e retorna valores V ou F Ex: cidade ()
Fórmula atômica ::= predicado ([termo]) Um ou mais termos como argumento Ex: cidade (Santos), irmao(Joao, Jose)
Literal := fórmula atômica | fórmula atômica Ex: estado(Santos)
Definições de sintaxe
14
Conectivos lógicos Operadores
Operador de conjunção: Operador de disjunção: Operador de implicação: Operador de negação:
Precedência de avaliação:
Definições de sintaxe
Tabelas verdade
15
A B A
F F F F V V
F V F V V V
V F F V F F
V V V V V F
16
Tabelas verdade Operador de implicação ()
Implicação a partir de um antecedente falso implica em qualquer coisa
Exemplo: Se a lua é redonda, então a terra é redonda
(V) Se a lua é redonda, então a terra é quadrada
(F) Se a lua é quadrada, então a terra é redonda
(V) Se a lua é quadrada, então a terra é
quadrada (V)
17
Propriedades Expressão 1 Expressão 2 A B A B Comutatividade A B A A B AAssociatividade A B C) (A B ) C A B C) (A B ) C Distributividade A B C) (A B ) A
C) A B C) (A B ) A
C) De Morgan (A B ) A B (A B ) A B Anulação A A
Tabela de equivalência
18
Quantificadores Quantificador universalx(exp
Expressão exp é verdadeira para todo valor de x
Ex: x [pena (x) passaro (x)] Quantificador existencial x(exp
Expressão exp é verdadeira para pelo menos um valor de x
Ex: x [poe_ovo (x) (passaro (x))]
Sintaxe
19
Componente estrutural Fórmula Bem Formada (FBF): expressão
formada de acordo com a gramática: FBF ::= Literal | FBF FBF | FBF FBF | FBF
| FBF FBF | x (FBF) | x (FBF) Ex: (voa (pardal) pena (pardal)) passaro
(pardal) FBF é geralmente abreviado para expressão
Sintaxe
20
Sentença: FBF em que todas as variáveis estão no escopo de quantificadores Ex: x[(voa (x) tem_pena (x)
passaro(x)] Cláusula: FBF formada por
disjunção de literais Ex: passaro (pardal) irmao (joao,
maria)
Sintaxe
21
Relaciona termos e predicados de expressões lógicas a algo conhecido Associa termos a objetos de um
domínio ou mundo (real ou imaginário) Associa predicados a relações de um
mundo
Semântica
22
Lógica X MundoMundoLógica
sobre (A, B)
PredicadosRelação“sobre”
AB
Termos Objetos
Relações
23
Modelo: interpretação para um mundo de termos e predicados de uma expressão Expressão é verdadeira para objetos e
relações de um mundo Axiomas: expressões previamente
definidas como verdadeiras Ex: passaro (pardal)
Semântica
24
Teorema: Expressão que pode ser provada
verdadeira a partir de um conjunto de axiomas
Segue logicamente dos axiomas Por meio de um procedimento de prova
Procedimento de prova Aplica regras válidas de inferência aos
axiomas e às expressões resultantes
Prova de teoremas
25
Regras válidas de inferência: Produzem novas expressões a partir das
expressões existentes Modelo das expressões anteriores é
também válido para as novas expressões
Prova de teoremas
26
Inferência é um problema de busca Nó inicial:
Informação fornecida ao procedimento de prova
Nó alvo ou objetivo: Conclusão desejada
Operadores que geram sucessores de nós:
Aqueles que geram uma nova expressão aplicando alguma regra de inferência
Prova de teoremas
27
Provar teorema é diferente de: Provar que uma expressão é válida
Verdadeira (V) para todas as interpretações dos símbolos
Provar que uma expressão é satisfatória Verdadeira (V) para alguma possível
interpretação dos símbolos
Regras de inferência
Regras de inferência Regras de inferência mais
utilizadas Modus ponens Resolução Modus tolens
28
29
AA B
BEx: pena (pardal) pena (pardal) passaro (pardal)
passaro (pardal)
Regra mais direta
Modus ponens
30
Exercício Dadas as regras:
Quem joga lixo na rua é mal educado Quem é mal educado não pode viver em
sociedade Quem não pode viver em sociedade deveria
viver em uma caverna Quem vive em uma caverna fica louco
Provar por Modus Ponens que quem joga lixo na rua fica louco
31
A BB C
A C Ex: bebe (Zuzu) estuda (Zuzu) estuda (Zuzu) dorme (Zuzu)
bebe (Zuzu) dorme (Zuzu)resolvente
Resolução
32
Podem existir N disjunções em qualqueruma das cláusulas (inclusive nenhuma)
A BB C
A C Ex: pena (pardal) pena (pardal) passaro (pardal)
passaro (pardal)resolvente
Resolução
33
A regra modus ponens é um caso especial da regra da resolução pena (pardal)
pena (pardal) passaro (pardal)
pena (pardal) pena (pardal) passaro (pardal)
Resolução
34
A BB
A
Ex: pena (cachorro) passaro (cachorro) passaro (cachorro)
pena (cachorro)
Regra modus tolens é um caso especial da regra da Resolução
Modus tolens
35
Regra modus tolens é um caso especial da regra da Resolução pena (pardal) passaro (pardal)
passaro (pardal)
pena (pardal) pena (pardal) passaro (pardal)
Resolução
37
Estratégias para provar teoremas Prova por exaustão:
A partir dos axiomas, aplicar regras de inferência sobre as expressões existentes
Esperando eventualmente deduzir o teorema Prova por refutação:
Provar que a negação do teorema não é verdadeira
Prova de teoremas
38
1 - Assumir que a negação do teorema é verdadeira
2 - Mostrar que os axiomas juntos com a negação do teorema levam a uma contradição
3 - Concluir que a negação do teorema não pode ser verdadeira, pois leva a uma contradição
4 - Concluir que o teorema é verdadeiro porque sua negação não pode ser verdadeira
Passos para prova por refutação
39
Dados os axiomas abaixo, prove que pardal é um pássaro utilizando prova por refutação Axiomas:
a) pena (pardal) passaro (pardal)b) pena (pardal)
Teorema:passaro (pardal)
Exercício
40
1) Assumir que a negação do teorema é verdadeirac) passaro (pardal)
2) Mostrar contradiçãopena (pardal) passaro (pardal)
pena (pardal) passaro (pardal)
Contradiçãopassaro (pardal)passaro (pardal)
3 nil (cláusula vazia)
Exercício
41
Forma de reconhecer que um teorema foi provado: Esperar até resolução ser aplicada a
uma literal e sua negação Resultado é uma cláusula vazia (nil) Garante que o teorema foi provado
Refazer o exercício 1 utilizando prova por exaustão
Exercício
42
Dados os axiomas abaixo, provar por refutação que Asdrubal vai passar Axiomas:
a) Estuda (Asdrubal)b) le (Asdrubal) sabido (Asdrubal) b) le (Asdrubal) limpo (Asdrubal) c) sabido (Asdrubal) passar (Asdrubal)d) estuda (Asdrubal) le (Asdrubal)
Teorema:passar (Asdrubal)
Exercício 2
43
Dados os axiomas abaixo, prove que p é verdade usando prova por refutação Axiomas:
a) q rpb) spc) sqd) tre) q
Exercício 3
44
O que fazer para o caso abaixo? x[estudaIA(x) reprovaIA(x)]
Para usar resolução, os axiomas têm que estar na forma de cláusulas Necessário transformar axiomas
originais em axiomas equivalentes na forma de cláusulas
Observações
45
Transformar para a forma de cláusulas os axiomas: Um tijolo está sobre alguma coisa que
não é uma pirâmide Não existe nada que um tijolo esteja
sobre, que esteja sobre o tijolo Não existe nada que seja um tijolo e
não seja um tijolo
Exercício 4
Transformar para a forma de cláusulas os axiomas: Um tijolo está sobre
alguma coisa que não é uma pirâmide
Não existe nada que um tijolo esteja sobre, que esteja sobre o tijolo
Não existe nada que seja um tijolo e não seja um tijolo
x[Tijolo(x)
( y[Sobre(x, y) Piramide(y)]
y[Sobre(x, y) Sobre (y,x)]
y[Tijolo(y) Igual (x,y)])]
46
Exercício 4
47
Escrevendo como uma expressão lógica:x[Tijolo(x) (y[Sobre(x, y) Piramide(y)]
y[Sobre(x, y) Sobre
(y,x)] y[Tijolo(y) Igual
(x,y)])]
Exercício 4
Exercício 4 Passo 1: eliminar implicações
Sabendo que (A B) ( Ax[Tijolo(x) (y[Sobre(x, y) Piramide(y)]
y[Sobre(x, y) Sobre
(y,x)] y[Tijolo(y) Igual
(x,y)])]
x[ Tijolo(x) (y[Sobre(x, y) Piramide(y)]
y[Sobre(x, y) Sobre (y,x)]
y[Tijolo(y)) Igual (x,y)])]
48
49
Passo 2: mover negações para as fórmulas atômicas
Exercício 4
50
Passo 2: mover negações para as fórmulas atômicas Sabendo que:
A A A A A A x[P(x)] x[ P(x)] x[P(x)] x[ P(x)]
Exercício 4
51
Passo 2: mover negações para as fórmulas atômicasx[ Tijolo(x) (y[Sobre(x, y) Piramide(y)]
y[Sobre(x, y) Sobre (y,x)]
y[Tijolo(y)) Igual (x,y)])]
x[ Tijolo(x) (y[Sobre(x, y) Piramide(y)]y[Sobre(x, y) Sobre
(y,x)]y[Tijolo(y) Igual (x,y)])]
Exercício 4
52
Passo 3: eliminar quantificadores existenciaisy[Sobre(x, y) Piramide(y)]
Para um objeto x particular, pode-se achar um objeto para y que torna a expressão verdadeira
Existe uma função que recebe x como argumento e retorna o y adequado
Não sabemos como a função funciona, mas sabemos que ela deve existir
Valor de y é uma função do valor das outras variáveis quantificadas
Sobre(x, Suporta (x)) Piramide (Suporta (x))
Exercício 4
53
Passo 3: eliminar quantificadores existenciaisx[Tijolo(x) (y[Sobre(x, y) Piramide(y)]
y[Sobre(x, y) Sobre (y,x)]y[Tijolo(y) Igual (x,y)])]
x[Tijolo(x) ((Sobre(x, Suporta(x)) Piramide(Suporta (x)))
y[Sobre(x, y) Sobre (y,x)]y[Tijolo(y) Igual (x,y)])]
Exercício 4
54
Passo 4: renomear variáveis quantificadas para evitar repetição de um quantificador universal Para que duas não tenham o mesmo nomex[Tijolo(x) ((Sobre(x, Suporta(x)) Piramide(Suporta
(x)))y[Sobre(x, y) Sobre (y,x)]y[Tijolo(y) Igual (x,y)])]
x[Tijolo(x) ((Sobre(x, Suporta(x)) Piramide(Suporta (x)))
y[Sobre(x, y) Sobre (y,x)]z[Tijolo(z) Igual (x,z)])]
Exercício 4
55
Passo 5: mover os quantificadores universais para a esquerdax[Tijolo(x) ((Sobre(x, Suporta(x)) Piramide(Suporta
(x)))y[Sobre(x, y) Sobre (y,x)]z[Tijolo(z) Igual (x,z)])]
xyz[Tijolo(x) ((Sobre(x, Suporta(x)) Piramide(Suporta (x)))
Sobre(x, y) Sobre (y,x))Tijolo(z) Igual (x,z)))]
Exercício 4
56
Passo 6: mover as disjunções para os literais (utilizar leis distributivas)x y z[Tijolo(x) ((Sobre(x, Suporta(x))
Piramide(Suporta (x))(Sobre(x, y) Sobre (y,x))(Tijolo(z) Igual (x,z)))]
x y z[(Tijolo(x) Sobre(x, Suporta(x))) Tijolo(x) Piramide(Suporta (x)))(Tijolo(x) Sobre(x, y) Sobre (y,x))(Tijolo(x) Tijolo(z) Igual (x,z))]
Exercício 4
57
Passo 7: eliminar as conjunçõesx y z[(Tijolo(x) Sobre(x, Suporta(x)))
Tijolo(x) Piramide(Suporta (x)))[Tijolo(x) Sobre(x, y) Sobre (y,x)][Tijolo(x) Tijolo(z) Igual (x,z)])]
x [Tijolo(x) Sobre(x, Suporta(x))] x Tijolo(x) Piramide(Suporta (x))]x y [Tijolo(x) Sobre(x, y) Sobre (y,x)]x z [Tijolo(x) Tijolo(z) Igual (x,z)]
Exercício 4
58
Passo 8: renomear as variáveis quantificadas para evitar repetição de um quantificador universal Para que duas não tenham o mesmo
nome x [Tijolo(x) Sobre(x, Suporta(x))] x Tijolo(x) Piramide(Suporta (x))]x y [Tijolo(x) Sobre(x, y) Sobre (y,x)]x z [Tijolo(x) Tijolo(z) Igual (x,z)]
x [Tijolo(x) Sobre(x, Suporta(x))] w Tijolo(w) Piramide(Suporta (w))]u y [Tijolo(u) Sobre(u, y) Sobre (y,u)]v z [Tijolo(v) Tijolo(z) Igual (v,z)]
Exercício 4
59
Passo 9: Eliminar os quantificadores universais
x [Tijolo(x) Sobre(x, Suporta(x))] w Tijolo(w) Piramide(Suporta (w))]u y [Tijolo(u) Sobre(u, y) Sobre (y,u)]vz [Tijolo(z) Tijolo(z) Igual (v,z)]
Tijolo(x) Sobre(x, Suporta(x)) Tijolo(w) Piramide(Suporta (w)) Tijolo(u) Sobre(u, y) Sobre (y,u)Tijolo(z) Tijolo(z) Igual (v,z)
Exercício 4
60
1) Eliminar implicações2) Mover negações para fórmulas atômicas3) Eliminar quantificadores existenciais4) Renomear variáveis quantificadas para
evitar repetição de um quantificador universal
5) Mover quantificadores universais para a esquerda
6) Mover disjunções para os literais7) Eliminar conjunções8) Renomear variáveis quantificadas para
evitar repetição de um quantificador universal
9) Eliminar quantificadores universais
Algoritmo para transformação
61
1) Negar o teorema a ser provado, e adicionar o resultado à lista de axiomas
2) Colocar a lista de axiomas na forma de cláusulas3) Enquanto existirem pares de cláusulas não
resolvidasEncontrar cláusulas resolvíveis e
resolvê-lasAdicionar resultado à lista de cláusulasSe nil for produzido, parar e relatar que
o teorema é verdadeiro
4) Parar e relatar que o teorema é falso
Algoritmo para prova por Refutação
62
Sejam os axiomas representando a figura abaixo Sobre (B, A) Sobre (A, mesa)
Provar que B está acima da mesa Acima (B, mesa)
Exercício 5
BA
63
Criar novas expressões que reflitam as restrições conhecidas x y [Sobre (x,y) Acima (x,y)]x y z [Acima (x,y) Acima (y,z) Acima
(x,z)] Necessário por na forma de cláusulas
as duas expressões universalmente quantificadas
Exercício 5
64
Criar novas expressões que reflitam as restrições conhecidas x y [Sobre (x,y) Acima (x,y)]x y z [Acima (x,y) Acima (y,z) Acima
(x,z)] Necessário por na forma de cláusulas
as duas expressões universalmente quantificadasSobre (u, v) Acima (u,v)
Acima (x,y) Acima (y,z) Acima (x,z)
Exercício 5
65
Cláusulas iniciaisSobre (u,v) Acima (u,v)
(1)Acima (x,y) Acima (y,z) Acima (x,z)
(2)Sobre (B,A)
(3)Sobre (A,mesa) (4)Acima (B,mesa)
(5) Prova
Acima (B,y) Acima (y,mesa) Acima (B,mesa) (2)Acima (B,mesa) (5) Acima (B,y) Acima (y,mesa) (6)
Exercício 5
66
ProvaSobre (y,mesa) Acima (y,mesa) (1)Acima (B,y) Acima (y,mesa) (6)Sobre (y,mesa) Acima (B,y) (7)
Sobre (B,y) Acima (B,y) (1)Sobre (y,mesa) Acima (B,y) (7)Sobre (B,y) Sobre (y,mesa) (8)
Exercício 5
67
Prova Sobre (B,A) (3)Sobre (B,A) Sobre (A,mesa) (8)Sobre (A,mesa) (9)
Sobre (A,mesa) (4)Sobre (A,mesa) (9)
(10)Nil
Exercício 5
69
Dados os axiomas:Pai (João, José) Pai (José, Pedro)
Provar que Avo (João, Pedro) é verdade
Exercício 6
70
Dados os axiomas:Pai (João, José) Pai (José, Pedro)
Provar que Avo (João, Pedro) é verdade
Sugestão: x y z [Pai(x, y) Pai(y, z) Avox, z]
Exercício 6
Exercício 7 Dado que:
Todos os cães uivam à noite Qualquer pessoa que tenha algum gato não
terá ratos Quem tem sono leve, não tem nada que
uiva à noite João tem um cão ou um gato
Provar que Se João tem sono leve, então João não tem
nenhum rato71
Exercício 7 Fórmula Bem Formada (FBF): x [Cao (x) Uiva (x)]
xy [Tem (x,y) Gato (y) z [Tem(x,z) Rato (z)]]
x [DormeCedo (x) y [Tem (x,y) Uiva (y)]]x [Tem(Joao, x) [Gato (x) Cao (x)]]DormeCedo (x) z [Tem (Joao,z) Rato (z)]]
72
73
Planejamento Diagnóstico Monitoramento Prova de teoremas Interpretação de textos
Aplicações
74
Lógica Terminologia Regras de inferência Prova de Teoremas
Manipulação simbólica Colocar expressões na forma de
cláusulas Estratégias para prova por resolução
Conclusão
André de Carvalho - ICMC/USP 75
Perguntas