Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos...
Transcript of Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos...
![Page 1: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/1.jpg)
1
1
Lógica de 1ª ordem
o O mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros objectos.
o Entre os vários objectos existem relações.
o Quando numa relação existe apenas um “valor” para uma dada “entrada” esta é designada por função.
2
Exemplo
o Objectos : pessoas, casas, números, teorias, cores, jogos de futebol, séculos ...
o Relações : irmão de, maior que, dentro, parte de, tem a cor, ocorreu depois de, possui ...
o Propriedades : vermelho, redondo, primo ...
o Funções : pai de, melhor amigo ...
3
Lógica de 1ª ordem
o A lógica de primeira ordem permite expressar factos acerca de todos os objectos no universo.
o Isto permite-nos representar leis gerais ou regras tais como “Nas caves adjacentes ao WUMPUS ouvem-se ruídos”.
4
Lógica de 1ª ordem
o A lógica de primeira ordem tem frases tal como a lógica proposicional, mas também tem termos que representam objectos.
![Page 2: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/2.jpg)
2
5
Sintaxe da lógica de 1ª ordem
Frase ? FraseAtómica |Frase Conector Frase |Quantificador Variavel, ... Frase |¬Frase |(Frase)
FraseAtómica ? Predicado(Termo, ...) | Termo = Termo
Termo ? Função(Termo, ...) |Constante |Variável
6
Sintaxe da lógica de 1ª ordem
Conector ? ∧ | ∨ | ⇒ | ⇔Quantificador ? ∀ | ∃
Constante ? A | X1 | Joaquim | ...
Variável ? a | x | s | ...
Predicado ? Antes | TemCor | EstaChover | ...
Função ? Mae | BracoEsquerdoDo | ...
7
Constantes
o Cada constante refere-se a um e um só objecto.
o Nem todos os objectos necessitam de nomes.
o Alguns objectos têm mais de um nome.
8
Predicadoso Referem-se a relações.o As relações mantêm-se (hold) ou falham
em manter-se.o Num dado modelo, uma relação é definida
por um conjunto de tuplos de objectos que a satisfazem. Um tuplo é uma colecção de objectos organizados numa dada ordem que são escritos entre < >.n Relação entre dois irmãos é definida por :
{ <João, Ricardo>, <Ricardo, João> }
![Page 3: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/3.jpg)
3
9
Termos
o Um termo é uma expressão lógica que se refere a um objecto. Símbolos constantes são termos.
o Ex : Um termo que é em simultâneo uma função : BI(João)
o Podemos raciocinar sobre os BI sem nunca definir o que é um BI.n Se dissermos que o João é Português e que
todos os Portugueses têm BI, poderemos deduzir que o João tem um BI.
10
Frases atómicas
o Afirmam factosn Irmão(Ricardo, João)n Casado(Pai(Ricardo), Mãe(João))
o Usualmente P(x, y) tem o significado de x é P de (com) y.
11
Frases complexas
o Podemos usar conexões lógicas para construir frases mais complicadas (da mesma forma que na lógica proposicional)
o Exemplos :Irmão(Ricardo, João) ∧ Irmão(João, Ricardo)MaisVelho(João, 30) ∨ MaisNovo(João, 30)MaisVelho(João, 30) ⇒ ¬MaisNovo(João, 30)¬Irmão(Ricardo, Ana)
12
Quantificador Universal
∀x Gato(x) ⇒ Mamífero(x)
Gato(Garfield) ⇒ Mamífero(Garfield) ∧Gato(Felix) ⇒ Mamífero(Felix) ∧Gato(João) ⇒ Mamífero(João) ∧
Gato(Ricardo) ⇒ Mamífero(Ricardo)
![Page 4: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/4.jpg)
4
13
Quantificador Universal
∀x Gato(x) ∧ Mamífero(x)
Gato(Garfield) ∧ Mamífero(Garfield) ∧Gato(Felix) ∧ Mamífero(Felix) ∧Gato(João) ∧ Mamífero(João) ∧
Gato(Ricardo) ∧ Mamífero(Ricardo)
14
Variáveis
o Como convenção todas as variáveis começam por minúsculas e todas as constantes por uma letra maiúscula.
o Uma variável é um termo por si só.o Um termo sem varáveis é chamado
um termo base (ground term).
15
Quantificador Existencial
∃x Irmão(x, Garfield) ∧ Gato(x)
(Irmão(Garfield, Garfield) ∧Gato(Garfield)) ∨
(Irmão(Felix, Garfield) ∧ Gato(Felix)) ∨(Irmão(João, Garfield) ∧ Gato(João)) ∨
(Irmão(Ricardo, Garfield) ∧Gato(Ricardo))
16
Quantificador Existencial
∃x Irmão(x, Garfield) ⇒ Gato(x)
(Irmão(Garfield, Garfield) ⇒Gato(Garfield)) ∨
(Irmão(Felix, Garfield) ⇒ Gato(Felix)) ∨(Irmão(João, Garfield) ⇒ Gato(João)) ∨
(Irmão(Ricardo, Garfield) ⇒Gato(Ricardo))
![Page 5: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/5.jpg)
5
17
Quantificadores de quantificadores
o ∀x,y Pai(x, y) ⇒ Filho(y, x)o ∀x,y é equivalente a ∀x ∀yo Toda a gente gosta de alguém:n ∀x ∃y Gosta(x, y)
o Existe alguém de quem toda a gente gosta:n ∃y ∀x Gosta(x, y)
o A ordem em que os quantificadoresaparecem é muito importante.
18
Quantificadores de quantificadores
∀x Gato(x) ∨ (∃x Irmão(Ricardo, x))
é idêntico a
∀x Gato(x) ∨ (∃z Irmão(Ricardo, z))
19
Relações entre ∀ e ∃
∀x ¬Gosta(x, Exame)
é equivalente a
¬∃x Gosta(x, Exame)
20
Relações entre ∀ e ∃
∀x Gosta(x, Gelado)
é equivalente a
¬∃x ¬Gosta(x, Gelado)
![Page 6: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/6.jpg)
6
21
Regras de Morgan
∀x ¬P ≡ ¬∃x P¬∀x P ≡ ∃x ¬P∀x P ≡ ¬∃x ¬P∃x P ≡ ¬∀x ¬P¬P ∧ ¬Q ≡ ¬(P ∨ Q)¬(P ∧ Q) ≡ ¬P ∨ ¬QP ∧ Q ≡ ¬(¬P ∨ ¬Q)P ∨ Q ≡ ¬(¬P ∧ ¬Q)
22
Relações entre ∀ e ∃
o Na verdade não necessitamos de ∀ ede ∃ em simultâneo, da mesma
forma que não necessitamos de ∧ e ∨. Mas o uso dos dois aumenta a clareza e facilidade de leitura.
23
Igualdade
o Pai(João) = Henriqueo Para dizermos que o Garfield tem
pelo menos dois irmãos, fazemos:∀x, y Irmão(Garfield, x) ∧ Irmão(Garfield , y) ∧
¬(x = y)
o Nalguns livros ¬(x = y) é substituído por x ≠ y
24
Lógicas de ordem mais elevada
o O nome lógica de 1ª ordem deriva do facto de podermos quantificar apenas sobre os objectos (as entidades de 1ª ordem que existem no mundo).
o Em lógicas de ordem mais elevada, podemos quantificar também sobre relações ou funções.
![Page 7: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/7.jpg)
7
25
Lógicas de ordem mais elevada
o Numa lógica de maior ordem podemos por exemplo dizer que dois objectos são iguais se e só se todas as suas propriedades são equivalentes :
∀x, y (x = y) ⇔ (∀p p(x) ⇔ p(y))
26
Lógicas de ordem mais elevada
o Poderíamos também dizer que duas funções são iguais se têm o mesmo valor para todos os argumentos :
∀f, g (f = g) ⇔ (∀x f(x) ⇔ g(x))o Lógicas de maior ordem têm mais poder de
expressividade. No entanto ainda existem poucos conhecimentos sobre a forma de raciocinar de forma efectiva sobre as frases destas lógicas.
27
∃!
∃!x Rei(x)
equivale a
∃x Rei(x) ∧ ∀y Rei(y) ⇒ x = y
o Claro que se soubessemos de ínicio quehavia apenas um rei poderiamos definir
28
∃!
o Claro que se soubessemos de ínicio quehavia apenas um rei poderiamos definiruma constante Rei em vez de utilizarmos o predicado Rei(x)
o Um exemplo mais complexo seria :
∀p País(p) ⇒ ∃!x Dirigente(x, p)
![Page 8: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/8.jpg)
8
29
Outras notações
30
Domínio
o Um domínio é uma secção do mundo sobre a qual desejamos expressar algum conhecimento.
o Antes de nos debruçarmos outra vez sobre o mundo do WUMPUS vamos debruçar-nos sobre problemas com domínios mais simples.
31
Domínio familiar
o Predicados unários:n Homem, Mulher
o Funções :n Pai, Mãe
o Predicados binários:n UmDosPais, Irmão, Irmã, UmDosIrmãos,
Filho, Filha, UmDosFilhos, Esposo, Esposa, Casado, Avó, Avô, Neto, Primo, Tio, Tia
∀m, c Mãe(c) = m ⇔ Mulher(m) ∧ UmDosPais(m, c)
∀m, h Esposo(h, m) ⇔ Homem(h) ∧ Casado(h, m)
∀x Homem(x) ⇔ ¬Mulher(x)
∀p, f UmDosPais(p, f) = m ⇔ UmDosFilhos(f, p)
∀x Homem(x) ⇔ ¬Mulher(x)
∀a, n Avô(a, n) ⇔ ∃p Pai(a, p) ∧ Pai(p, n)
∀x, y UmDosIrmãos(x, y) ⇔ (x ≠ y) ∧ ∃p UmDosPais(p, x) ∧UmDosPais(p, y)
![Page 9: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/9.jpg)
9
33
Axiomaso As frases iniciais da base de conhecimentos
são designadas por axiomas.o Como é que sabemos se escrevemos
axiomas suficientes para especificar o domínio?
o Uma das formas é identificar os predicados básicos, através dos quais os outros possam ser definidos.n No caso do domínio familiar UmDosFilhos,
Casado, Homem e Mulher são candidatos razoáveis a predicados básicos.
34
Axiomas
o Importa também considerar o problema da convergência. Teremos axiomas a mais ?n Ex: Será que necessitamos de um axioma do tipo:n ∀x, y UmDosIrmãos(x, y) ⇔ UmDosIrmãos(y, x)n Neste caso, por exemplo não necessitamos, a
partir de UmDosIrmãos(João, Ricardo) podemos inferir que:
n ∃p UmDosPais (p, João) ⇔ UmDosPais(p, Ricardo)n A partir daí podemos inferir que:n UmDosIrmãos(Ricardo, João)
35
Axiomas independentes
o Um axioma independente é uma axioma que não pode ser derivado de todos os outros axiomas.
36
Axiomas independentes
o A base de conhecimentos normalmente para além do conjunto mínimo de axiomas independentes, contém ainda usualmente axiomas redundantes, com o objectivo de aumentar a eficiência do processo de prova.
![Page 10: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/10.jpg)
10
37
O domínio dos conjuntos
o Constantesn ConjuntoVazio
o Predicadosn Membro, SubConjunto, Conjunto
o Funçõesn Intercessão, Reunião, Adiciona
38
O domínio dos conjuntos
o Os únicos conjuntos que existem são os vazios e aqueles que se obtêm ao adicionar elementos a outros conjuntos
∀c Conjunto(c) ⇔ (c = ConjuntoVazio) ∨(∃x, c2 Conjunto(c2) ∧ c = Adiciona(x,
c2))
39
O domínio dos conjuntos
¬∃x, c Adiciona(x, c) = ConjuntoVazio
∀x, c Membro(x, c) ⇔ c = Adiciona(x, c)
∀x, c Membro(x, c) ⇔(∃y, c2 c = Adiciona(y, c2) ∧
(x=y c ∨ Membro(x, c2))
40
O domínio dos conjuntos
∀c1, c2 SubConjunto(c1, c2) ⇔∀x Membro(x, c1) ⇒ Membro(x, c2)
∀c1, c2 (c1 = c2) ⇔(SubConjunto(c1, c2) ∧SubConjunto(c2, c1))
![Page 11: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/11.jpg)
11
41
O domínio dos conjuntos
∀x, c1, c2 Membro(x, Intercessão(c1, c2)) ⇔ Membro(x, c1) ∧
Membro(x, c2)
∀x, c1, c2 Membro(x, Reunião(c1, c2)) ⇔ Membro(x, c1) ∨
Membro(x, c2)
42
Questionar a base de conhecimentos
TELL(KB, (∀m, c Mãe(c) = m ⇔Mulher(m) ∧ UmDosPais(m, c))
TELL(KB, (Mulher(Ana) ∧UmDosPais(Ana, João) ∧UmDosPais(João, Carla))
ASK(KB, Avô(Ana, Carla))
43
Questionar a base de conhecimentoso Pode dizer-me as horas ?n Sim.
o Uma base de conhecimentos é mais cooperativa. Quando fazemos uma questão que é quantificada existencialmente , tal como :
ASK(KB, ∃x Filha(x, João))
o Recebemos uma mensagem dizendo que a Carla é filha do João.
44
Questionar a base de conhecimentos
o Dependendo da implementação do ASK, poderiamos, no caso do João ter mais filhas, receber uma mensagem com todas as suas filhas.
![Page 12: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/12.jpg)
12
45
Agente baseado numa base de conhecimentos
function AgenteKB(percepção) returns acçãostatic : KB, uma base de conhecimentos
t, um contador inicialmente a zero, que indica o tempo
TELL(KB, CriaFraseAPartirPercepcao(percepção, t))acção ← ASK(KB, CriaPerguntaAccao(t))TELL(KB, CriaFraseAPartirAcção(Acção, t))t ← t + 1
return acção
46
Mundo WUMPUS
o Percepções :n Percepção([Ruído, Brisa, Brilho, nada, nada], 5)
o Acções :n Virar(Direita), Virar(Esquerda), IrFrente ,
Disparar, Apanhar, Largar, Subir
o Para determinar a melhor acção, fazemos uma pergunta do tipo :n ASK(KB, ∃a Acção(a, 5))
47
Agente de Reflexos
∀r, b, c, g, tPercepção([r, b, Brilho, c, g], t) ⇒
Acção(Apanhar, t)
48
Agente de Reflexos
∀r, b, c, g, t Percepção([r, b, Brilho, c, g], t) ⇒ OuroPresente(t)
∀b, o, c, g, t Percepção([Ruído, b, o, c, g], t) ⇒ Barulho(t)
∀r, o, c, g, t Percepção([r, Brisa, o, c, g], t)
⇒ Vento(t)
![Page 13: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/13.jpg)
13
49
Agente de Reflexos
∀t OuroPresente(t) ⇒ Acção(Apanhar, t)
50
Modelo Interno
o Qualquer sistema que toma decisões com base nas suas percepções anteriores pode ser alterado de forma a usar um conjunto de frases sobre o estado do mundo actual, desde que essas frases sejam alteradas à medida que cada nova percepção é recebida e à medida que cada acção é tomada.
51
Cálculo situacional
o O cálculo situacional é o nome dado a uma forma particular de descrever na lógica de 1ª ordem a mudança.
o Concebe o mundo como sendo constituído por uma sequência de situações.
o As situações são geradas a partir de situações anteriores por via de acções.
52
Cálculo situacional
o Para lidarmos com a mudança em cada relação ou propriedade que muda ao longo do tempo é adicionado um argumento que especifica a situação. Por convenção o argumento que especifica a situação é sempre o último e as situações são representadas por Si.
![Page 14: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/14.jpg)
14
53
Cálculo situacional
o Ex: Em vez de termos EstaEm(Agente, Posição), passamos a ter EstaEm(Agente, Posição, Si).
o Poderemos assim ter frase do tipo :n EstaEm(Agente, [1, 1], S0) ∧
EstaEm(Agente, [1, 2], S1)
54
Cálculo situacional
o A função Resultado(Acção, Situação) é utilizada para identificar a situação resultante da aplicação de uma dada acção numa dada situação (original).
! % R
�↑ R
R
S0
! %
�↑
R
R
R
S1
Frente
Resultado(Frente, S0) = S1
! %
�→
R
R
R
S1
! %
�↑
R
R
R
S2
Resultado(Virar(Direita), S1) = S2
Virar(Direita)
![Page 15: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/15.jpg)
15
57
Cálculo situacional
o As acções são especificadas através dos seus efeitos. Isto é, especificamos as propriedades das situações que resultam da tomada de uma acção.
58
Axiomas de efeito
Transportável(Ouro)
∀s OuroPresente (s) ⇒ EstaPresente (Ouro, s)
∀x, s EstaPresente (x, s) ∧ Transportável(x) ⇒Carregar(x, Resultado(Apanhar, s))
∀x, s ¬Carregar(x, Resultado(Largar, s))
59
Axiomas de janela temporal (frame)
∀x, s, a Carregar(x, s) ∧ a ≠ Largar ⇒Carregar(x, Resultado(a, s))
∀x, s, a ¬Carregar(x, s) ∧ (a ≠ Apanhar ∨ ¬(EstaPresente(x, s) ∧
Transportável(x))) ⇒ ¬Carregar(x, Resultado(a, s))
Descrição completa de como o mundo evolui em resposta
às acções do agente=
Axiomas de efeito+
Axiomas de janela temporal(frame)
![Page 16: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/16.jpg)
16
61
Axiomas de sucessor do estado
<X é Verdadeiro> ⇔(<Uma acção que torna X verdade> ∨
(<X já era verdade ∧<Não houve uma acção que tornou X
falso>)
62
Axiomas de sucessor do estado
∀x, s, a Carregar(x, Resultado(a,s)) ⇔[(a = Apanhar ∧ EstaPresente(x, s) ∧Transportável(x)) ∨ (Carregar(x, s) ∧
a ≠ Largar)]
63
Axiomas de sucessor do estado
o São necessários para cada predicado que pode mudar ao longo do tempo.
o Deve listar todas as formas em que o predicado se pode tornar verdadeiro e todas as formas em que se pode tornar falso.
64
Mundo do WUMPUS
o No mundo do WUMPUS a localização actual do agente é talvez uma das coisas mais importantes com que nos devemos preocupar.
o A localização não pode ser percebida directamente, mas o agente necessita de se lembrar onde esteve e o que viu.
![Page 17: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/17.jpg)
17
65
Mundo do WUMPUS
o Isso permite- lhe deduzir onde está o WUMPUS e onde estão os poços de forma a ter a certeza que faz uma exploração completa.
66
Localização no mundo do WUMPUS
o Posição do agente :n EstaEm(Agente, [1, 1], S0)
o Orientação do agente (ângulo (em graus) em relação ao eixo x) :n Orientação(Agente, S0) = 0
67
Localização no mundo do WUMPUS
o Posição do agente se este for em frente:∀x, y PosicaoFrente ([x, y], 0) = [x+1, y]
∀x, y PosicaoFrente ([x, y], 90) = [x, y+1]∀x, y PosicaoFrente ([x, y], 180) = [x-1, y]∀x, y PosicaoFrente ([x, y], 270) = [x, y-1]
∀a, p, s EstaEm (a, p, s) ⇒ PosicaoFrenteAgente (p, s) = PosicaoFrente (p, Orientação(a, s)
68
Localização no mundo do WUMPUS
o Adjacência:∀p1, p2 Adjacente(p1, p2) ⇔∃a p1 = PosicaoFrente(p2, a)
o Paredes :∀x, y Parede([x, y]) ⇔
(x = 0 ∨ x = 5 ∨ y = 0 ∨ y = 5)
![Page 18: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/18.jpg)
18
69
Axioma de sucessor do estado da localização
∀x, p, a, s EstaEm(x, p, Resultado(a, s)) ⇔
[(a = IrFrente ∧ p = PosicaoFrenteAgente(x, s) ∧
¬Parede(p)) ∨ (EstaEm(x, p, s) ∧(a ≠ IrFrente ∨
Parede(PosicaoFrenteAgente(x, s)))]
70
Axioma de sucessor do estado da orientação
∀x, o, a, s Orientação(x, Resultado(a, s)) = o ⇔ [(a = Rodar(Direita) ∧ o = Mod(Orientação(x, s))-90, 360)) ∨ (a
= Rodar(Esquerda) ∧ o = Mod(Orientação(x, s))+90, 360)) ∨ (a
≠ Rodar(Esquerda) ∧ a ≠Rodar(Direita) ∧ Orientação(x, s) =
o)]
71
Dedução das propriedades escondidas do mundo
∀p, s EstaEm(Agente, p, s) ∧ Barulho(s) ⇒ Barulhenta(p)
∀p, s EstaEm(Agente, p, s) ∧ Vento(s) ⇒ Ventoso(p)
72
Dedução das propriedades escondidas do mundo
o Depois de descobrir os locai barulhentos e ventosos (e, muito importante, os locais não barulhentos e não ventosos) o agente pode deduzir a localização do WUMPUS e dos poços.
o Pode ainda deduzir quais as localizações que são seguras e utilizar essa informação para recolher o ouro.
![Page 19: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/19.jpg)
19
73
Regras de sincronismo
o Os axiomas que capturam a informação necessária para essas deduções são chamados regras de sincronismo.
o Existem dois tipos de regras de sincronismo:n Causais;n Diagnóstico.
74
Regras causais∀p1, p2, s EstaEm(WUMPUS, p1, s) ∧
Adjacente(p1 , p2) ⇒ Barulhenta(p2)
∀p1, p2, s EstaEm(poço, p1, s) ∧ Adjacente(p1 , p2) ⇒ Ventoso(p2)
o Os sistemas que raciocinam com base em regras causais são chamados sistemas de raciocínio baseados em modelos.
75
Regras de diagnósticoo Inferem a presença de propriedades
escondidas directamente da informação contida nas percepções.
∀p, s EstaEm(Agente, p, s) ∧ Barulho(s) ⇒Barulhenta(p)
∀p, s EstaEm(Agente, p, s) ∧ Vento(s) ⇒Ventoso(p)
76
Regras de diagnóstico
o Para deduzir a presença de WUMPUS uma regra de diagnóstico pode apenas tirar conclusões “fracas”.
∀p1, s Barulhenta(p1) ⇒ (∃ p2EstaEm(WUMPUS, p2, s) ∧ (p1 = p2 ∨
Adjacente(p1, p2)))
![Page 20: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/20.jpg)
20
77
Regras de diagnóstico
o Embora pareça que as regras de diagnóstico disponibilizam a informação desejada mais directamente, é muito difícil de assegurar que a partir da informação disponível se derivem as conclusões mais “fortes” disponíveis.
∀p1, p2, s EstaEm(Agente, p1, s) ∧ ¬Barulho(s) ∧ ¬Vento(s) ∧ Adjacente(p1, p2) ⇒
Segura(p2)
78
Sistemas de raciocínio baseados em modelos
o Mas mesmo quando existe vento ou barulho uma dada cave pode ser segura
∀p, s (¬EstaEm(WUMPUS, p, s) ∧¬Poço(p)) ⇔ Seguro(p)
79
Regras
o Regra geral é boa ideia explorar as caves indo para quadrados seguros, mas não quando existe uma percepção de brilho. Neste caso deveríamos parar de explorar e apanhar o ouro. Assim as nossas regras de exploração deveriam mencionar o brilho.
80
Regras
o Ao faze-lo as nossas regras deixavam de ser modulares.
o Uma regra não é modular se alterações nas crenças do agente acerca de certos aspectos do mundo requerem alterações nas regras relacionadas com outros aspectos.
![Page 21: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/21.jpg)
21
81
Regras modulares
o É mais modular separar os factos acerca das acções dos factos acerca dos objectivos. Desta forma o agente pode ser reprogramado, simplesmente dizendo-lhe para atingir outro objectivo.
82
Objectivoso Os objectivos descrevem o quão desejável
é um dado estado independentemente de como estes são obtidos.
o Escala das acções para o mundo do WUMPUS:n Óptiman Boan Médian Arriscada
83
Escala das acções∀a, s Óptima(a, s) ⇒ Acção(a, s)
∀a, s Boa(a, s) ∧ (¬∃b Óptima(b, s)) ⇒Acção(a, s)
∀a, s Media(a, s) ∧ (¬∃b Boa(b, s) ∨ Óptimo(b, s)) ⇒ Acção(a, s)
∀a, s Arriscada(a, s) ∧ (¬∃b Media(b, s) ∨Boa(b, s) ∨ Óptimo(b, s)) ⇒ Acção(a, s)
84
Objectivos
o Depois de apanhar o ouro é desejável que o agente deduza que o seu objectivo passa a ser ir para a localização [1,1].
∀s Carregar(Ouro, s) ⇒ObjectivoIrPara([1,1], s)
![Page 22: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/22.jpg)
22
85
Objectivos
o A presença de um objectivo explicito permite ao nosso agente definir uma sequência de acções que lhe permitem atingir o objectivo.
o Existem várias maneiras de determinar essa sequência :n Inferência;n Procura;n Planeamento.
86
Engenharia do conhecimento
o O processo de criação de uma base de conhecimentos é designado por Engenharia do Conhecimento.
o Um engenheiro do conhecimento é alguém que investiga um domínio em particular, determina quais os conceitos importantes nesse domínio e cria uma representação formal dos objectos e relações do domínio.
87
Aquisição do conhecimento
o Levada a cabo antes e/ou durante a criação da representação formal.
o Entrevistas a peritos.
88
Base de conhecimentos
o Deve ser clara e correcta.o As relações importantes devem ser
definidas e os detalhes irrelevantes retirados.
o Por vezes podemos fazer simplificações sacrificando alguma precisão de forma a ganhar clareza e legibilidade (trade-off).
![Page 23: Lógica de 1ª ordemnoel/IA/log1Ordem.pdf1 1 Lógica de 1ª ordem oO mundo é representado em termos de objectos (entidades individuais) e propriedades que os distinguem de outros](https://reader036.fdocumentos.tips/reader036/viewer/2022070812/5f0bd64f7e708231d43274da/html5/thumbnails/23.jpg)
23
89
Engenheiro do conhecimentoo Deve perceber o suficiente do domínio em
questão para representar os objectos importantes e as suas relações.
o Deve perceber o suficiente da linguagem de representação de modo a codificar os factos de forma correcta.
o Deve perceber o suficiente sobre a forma em como o motor de inferência está implementado, de forma a que as questões sejam respondidas num tempo razoável.
90
Metodologia para desenvolver uma base de conhecimentoso Decidir sobre o que falar;o Decidir sobre o vocabulário de predicados,
funções e constantes;o Codificar o conhecimento geral acerca do
domínio (axiomas);o Codificar uma descrição de uma instância
especifica do problema.o Obter respostas, questionando a base de
conhecimentos, através do motor de inferência.
91