Conhecimento e Raciocínio - ipg.ptnoel/IA/logProp.pdf · oA palavra frase é utilizada como um...

24
1 Conhecimento e Raciocínio o O objectivo é aumentar as capacidades dos agentes adicionando-lhes capacidades gerais de raciocínio lógico. o Um agente lógico, baseado em conhecimentos começa com alguns conhecimentos sobre o mundo e sobre as suas acções. 2 Conhecimento e Raciocínio o Um agente lógico utiliza o raciocínio lógico para : n manter uma descrição do mundo e das novas percepções que vai obtendo; n Deduzir o curso da acção que lhe permite atingir os seus objectivos. 3 Agentes que raciocinam de forma lógica o Agentes baseados em conhecimentos: n São capazes de aceitar novas tarefas na forma de objectivos descritos de forma explicita; n Podem obter competências rapidamente, se lhes for ensinado ou se aprenderem novos conhecimentos acerca do ambiente; n Podem adaptar-se a alterações no ambiente através da alteração do conhecimento relevante. 4 Agente baseado em conhecimentos o Necessita de saber : n O estado actual do mundo; n Como inferir propriedades desconhecidas do mundo, a partir de percepções; n Como evolui o mundo ao longo do tempo; n O que é que se pretende atingir (objectivos); n O que é que as suas acções fazem nas várias circunstâncias.

Transcript of Conhecimento e Raciocínio - ipg.ptnoel/IA/logProp.pdf · oA palavra frase é utilizada como um...

1

1

Conhecimento e Raciocínio

o O objectivo é aumentar as capacidades dos agentes adicionando-lhes capacidades gerais de raciocínio lógico.

o Um agente lógico, baseado em conhecimentos começa com alguns conhecimentos sobre o mundo e sobre as suas acções.

2

Conhecimento e Raciocínio

o Um agente lógico utiliza o raciocínio lógico para :n manter uma descrição do mundo e das

novas percepções que vai obtendo;n Deduzir o curso da acção que lhe

permite atingir os seus objectivos.

3

Agentes que raciocinam de forma lógica

o Agentes baseados em conhecimentos:n São capazes de aceitar novas tarefas na

forma de objectivos descritos de forma explicita;

n Podem obter competências rapidamente, se lhes for ensinado ou se aprenderem novos conhecimentos acerca do ambiente;

n Podem adaptar-se a alterações no ambiente através da alteração do conhecimento relevante.

4

Agente baseado em conhecimentos

o Necessita de saber :n O estado actual do mundo;n Como inferir propriedades desconhecidas

do mundo, a partir de percepções;n Como evolui o mundo ao longo do tempo;n O que é que se pretende atingir

(objectivos);n O que é que as suas acções fazem nas

várias circunstâncias.

2

5

Base de conhecimentos

o O componente central de um agente baseado em conhecimentos é a sua base de conhecimentos(knowledge base).

o De forma informal podemos dizer que a base de conhecimentos é um conjunto de representações de factos acerca do mundo.

o Cada representação individual é designada por frase (sentence).

6

Frases

o A palavra frase é utilizada como um termo técnico e apesar de estar relacionada com as frases das linguagens naturais (Português, Inglês, ...) não é idêntica.

o As frases são expressas numa linguagem designada por linguagem de representação do conhecimento.

7

TELL e ASK

o Deve existir uma forma de adicionar novas frases à base de conhecimentos e uma forma de questionar o que é conhecido.

o Os nomes standard para essas tarefas são respectivamente o TELL (diz) e o ASK (pergunta).

8

Motor de inferência

o Para além da base de conhecimentos um agente baseado em conhecimentos possui ainda um motor de inferência que lhe permite inferir novos conhecimentos com base nos existentes na base de conhecimentos.

3

9

Agente baseado em conhecimentos

function AgenteBaseadoEmConhecimentos (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, CriaFraseAPartirAccao(acção, t))t ← t + 1

return acção

10

Agente baseado em conhecimentos

o Quando a base de conhecimentos é interrogada sobre qual a acção que o agente deverá levar a cabo, no processo de resposta é utilizado raciocínio lógico, de forma a determinar qual das acções disponíveis será a melhor, dados os conhecimentos de que o agente dispõe e os seus objectivos.

11

Agente baseado em conhecimentos

o Pode ser descrito quanto ao :n Nível de conhecimentos : Podemos

descrever o agente, dizendo aquilo que ele sabe. Ex: No agente do taxi podemos dizer que ele sabe que o IP5 liga VilarFormoso a Aveiro.

n Nível lógico : Ao nível em que o conhecimento é codificado em frases. Por exemplo o agente do taxi pode ser descrito como tendo a frase lógica Ligacao(IP5, Vilar Formoso, Aveiro)

12

Agente baseado em conhecimentos

o Pode ser descrito com base no :n Nível de implementação : É o nível em

que as frase lógicas são representadas de forma física. Ex : uma frase como Ligacao(IP5, Vilar Formoso, Aveiro) pode ser representada na base de conhecimentos como uma stringpertencente a uma lista de strings, ou por um conjunto de complexo ponteiros, etc ...

4

13

Agente baseado em conhecimentos

o A escolha da forma de implementação é muito importante em termos de desempenho, mas é irrelevante do ponto de vista do nível lógico e do nível de conhecimentos.

14

Agente baseado em conhecimentos

o O programa inicial do agente, antes de começar a receber percepções, é criado através da adição de frases à sua base de conhecimentos. As frases são adicionadas uma a uma e representam os conhecimentos de quem está a desenhar o agente. Esta aproximação é chamada de declarativa.

15

Agente baseado em conhecimentos

o Também podemos desenhar mecanismos de aprendizagem que permitem obter conhecimentos gerais acerca do ambiente com base numa série de percepções. Desta forma o agente poderá ser totalmente autónomo.

16

O mundo do WUMPUS

U

!U%h

U

R

h

h

�→ h R

h

R

h

5

17

O mundo do WUMPUSo Nos quadrados adjacentes ao monstro (não

incluindo os diagonais) o agente percebe um ruído.

o Nos quadrados adjacentes a um poço (não incluindo os diagonais) o agente percebe uma brisa.

o Nos quadrados onde o ouro se encontra o agente percebe um brilho.

o Quando o agente tenta ir na direcção de uma parede o agente apercebe-se de uma colisão.

18

O mundo do WUMPUSo Quando o WUMPUS é morto emite um grito

do qual o agente se apercebe, independentemente da sua posição.

o O agente não consegue perceber a sua localização.

o As percepções são dadas ao agente na forma de uma lista com 5 símbolos. Por exemplo se existe um ruído, uma brisa, um brilho e não existe colisão nem grito o agente receberá as seguintes percepções [Ruído, Brisa, Brilho, Nada, Nada].

19

O mundo do WUMPUSo Existem 6 acções :n Ir em frente;n Rodar 90º para a direita;n Rodar 90º para a esquerda;n Apanhar objecto (na mesma sala);n Disparar uma flecha na direcção em que o

agente se encontra (a flecha pára quando matar o WUMPUS ou atingir uma parede; o agente dispõe apenas de uma flecha).

n Subir (Na posição inicial permite ao agente sair da caverna).

20

O mundo do WUMPUS

o O objectivo é apanhar o ouro e sair da caverna o mais rapidamente possível.

o Pontuação :n Sair da caverna com o ouro : 1000

pontosn Cada acção tomada : -1 ponton Morrer : -10000 pontos

6

21

O mundo do WUMPUS

o Classe de ambientes :n Grelha de 4 x 4 caves, rodeadas por

paredes.n O agente começa sempre no canto

inferior esquerdo, voltado para a direita.n As localizações do ouro e do WUMPUS

são escolhidas de forma aleatória.n Em cada cave existe uma probabilidade

de 20% de haver um poço.

22

O mundo do WUMPUS

o Em cerca de 21% dos ambientes o agente não poderá chegar ao ouro.

o O agente poderá sair da caverna sem o ouro, se assim o decidir.

23

O mundo do WUMPUS

ok

�ok

ok

24

O mundo do WUMPUS

ok R?

visitadook

�hok

R?

7

25

O mundo do WUMPUS

!!

�Uok

ok

visitadook

visitadook h R!

26

O mundo do WUMPUS

R?

!! �%U h ok

visitado

ok Uvisitado

ok

R?

ok

visitadook

visitadook h R!

27

Representação do conhecimentoo O objectivo é expressar o conhecimento

numa forma tratável pelo computador.o Uma linguagem de representação do

conhecimento é definida por dois aspectos :n Sintaxe : descreve as configurações possíveis

que podem constituir frases.n Semântica : Determina os factos do mundo aos

quais as frases se referem. Com a semântica uma frase faz uma afirmação do mundo e podemos dizer que o agente crê (crença) na frase.

28

Sintaxe e semântica

o A sintaxe de uma linguagem de expressões aritméticas diz que se x e y são expressões que representam números, então x ≥ y é uma frase sobre números. A semântica da linguagem diz que se x ≥ y é falso então o número que y representa é maior que o número que x representa.

8

29

Linguagens lógicas

o Desde que a sintaxe e a semântica sejam definidas de forma precisa a linguagem resultante diz-se lógica.

30

Representação

Mundo

Frases

FactosSem

ânticas

Frase

Facto

Semântica

abrange

geram (deriva)

Semântica

31

Factos

o É importante distinguir entre os factos e as suas representações. Os factos fazem parte do mundo, enquanto a sua representação deve ser codificada de forma a conseguir guardá-la fisicamente dentro do agente.

32

Factos

o Os mecanismos de raciocínio operam com representações dos factos e não com os factos.

9

33

Raciocínio

o Uma vez que as frases são configurações físicas de partes do agente, raciocinar é um processo de construção de novas configurações físicas a partir das antigas.

34

Raciocínio

o Um raciocínio correcto deve assegurar que as novas configurações representam factos que derivam dos factos que as configurações antigas representam.

35 36

10

37

Geração de fraseso Pressupondo que todas as frases existentes

são verdadeiras (correctas), pretende-se que todas as frases novas sejam também elas verdadeiras.

o Esta relação entre as frases é designada por relação abrangente e espelha a relação de um ou mais factos que derivam de outros.

38

Geração de fraseso Em notação matemática a relação de

abrangência entre a base de conhecimentos (KB) e uma frase α escreve-se KB |= α e lê-se “KB abrange α”

39

Motor de Inferência

o O motor de inferência pode então fazer:n Dada uma base de conhecimentos KB,

pode gerar novas frases α que sejam abrangidas por KB;

n Dada uma base de conhecimentos KB e uma frase α, pode determinar α é abrangida por KB.

40

Motor de Inferência

o Diz-se que um motor de inferência preserva a verdade se este gerar apenas frases abrangidas pela base de conhecimentos.

11

41

Motor de Inferência

o Um motor de inferência i pode ser descrito pelas frases que pode derivar. Se i pode derivar α a partir de KB, podemos escrever:

KB ⊢i α

que significa “α é derivado de KB por i” ou “i deriva α a partir de KB.

42

Motor de inferência

o O registo de uma operação de um motor de inferência que preserva a verdade é designado por prova.

o A chave para inferir frases abrangidas pela base de conhecimentos (preservando a verdade) consiste em garantir que os passos da inferência respeitem a semântica das frases com que operam.

43

Teoria de prova

o Ao examinarmos a semântica de uma linguagem lógica podemos extrair da mesma a chamada teoria de provada linguagem, que especifica os passos de raciocínio que preservam a verdade.

44

Representação do conhecimento

o Linguagens de programaçãon Não são o suficientemente expressivaso Não permitem dizer por exemplo “Algures

numa das caves está o WUMPUS” ou “Existe um poço na cave [2,2] ou na cave [3,1]”.

12

45

Representação do conhecimento

o Linguagens naturaisn São mais apropriadas para comunicar do

que para representar conhecimentosn São ambíguaso Ex : “Cães e gatos pequenos”

o Uma boa linguagem de representação de conhecimentos deve combinar as vantagens das linguagens naturais com as das linguagens formais.

46

Linguagem de representação dos conhecimentos

o Deve ser expressiva e concisa, de forma a podermos dizer tudo o que necessitamos de forma sucinta.

o Não deve ser ambígua e deve ser independente do contexto, de forma a que aquilo que dizemos hoje possa ser interpretado da mesma forma amanhã.

o Uma linguagem que obedece as estes critérios é a lógica de 1ª ordem.

47

Semântica

o Na lógica, o significado de uma frase é o que esta afirma acerca do mudo.

o Qual o significado de uma frase ? De forma a indicar o que uma frase quer dizer, aquele que a escreve deve fornecer uma interpretação da mesma.

o É a semântica que dá a interpretação à frase.

48

Frases verdadeiras e falsas

o Uma frase afirma que o mundo é de uma determinada forma e não de outra, e portanto pode ser verdadeira ou falsa.

o A verdade depende não só da interpretação da frase, mas também do estado actual do mundo.

13

49

Inferência

o Os termos raciocínio e inferência são usualmente usados para descrever o processo pelo qual as conclusões são obtidas.

o Um processo de raciocínio que preserva a verdade designa-se por inferência lógica ou por dedução.

50

Frases necessariamente verdadeiras

o Uma frase é válida ou necessariamente verdadeira se e só se for verdadeira à luz de todas as interpretações possíveis em todos os mundos possíveis.

o Ex : A frase “Existe um poço em [1,1] ou não existe um poço em [1,1]” é válida.

51

Frase que podem ser satisfeitas

o Uma frase pode ser satisfeita se existe uma interpretação num dado mundo onde esta é verdadeira.n Ex : “Existe um WUMPUS em [1,2]”

o Frases que se contradigam a si mesmas não podem ser satisfeitas.n Ex : “Existe uma parede à minha frente

e não existe uma parede à minha frente”

52

Inferência formal

o Pode parecer que as frases válidas e as que não podem ser satisfeitas são inúteis porque representam respectivamente frases sempre verdadeiras e sempre falsas. No entanto a validade e a impossibilidade de satisfação das frases são crucias para a capacidade de um computador raciocinar.

14

53

Inferência formal

o O computador sofre de dois problemas :n Não sabe necessariamente interpretar as

frases pertencentes à base de conhecimentos;

n Não sabe nada acerca do mundo com excepção do que está na base de conhecimentos.

54

Inferência formalo Suponhamos que perguntamos ao

computador se não há problema (é OK) irmos para a casa [2,2].

o O computador não sabe o que o OK representa, nem o que é um WUMPUS, nem o que é um poço.

o Tudo o que o computador pode fazer é verificar se na base de conhecimentos abrange uma frase que diga “[2,2] é OK”. Por outras palavras o motor de inferência tem de demonstrar que a frase “if KB is true then [2,2] is OK” é válida.

55

Inferência formal

o Se a frase é válida, não interessa se o computador não sabe interpretar as frases pertencentes à base de conhecimentos, ou se não sabe muito acerca do mundo.

o A conclusão a que ele chegou é garantidamente correcta à luz de todas as interpretações possíveis em todos os mundos possíveis nos quais a base de conhecimentos KB é verdadeira.

56

Lógica

o A lógica é constituída por :n Um sistema formal que nos permite

descrever estados, constituído por :o Sintaxe da linguagem : descreve como criar

as frases;o Semântica da linguagem : Especifica como

é que as frases se relacionam com os factos do mundo.

n Uma teoria de prova : Um conjunto de regras que especificam os passos de raciocínio que preservam a verdade.

15

57

Lógica proposicional

o Os símbolos representam proposições (factos).n Ex : “O WUMPUS está morto”

o Os símbolos das proposições podem ser combinados através da utilização de ligações lógicas de forma a gerar frases mais complexas.

58

Lógica de 1ª ordem

o O mundo é representado em termos de objectos e predicados que incidem sobre os objectos (propriedades dos objectos ou relações entre os objectos).

o Para além disso são ainda usadas ligações e quantificadores, que permite escrever sobre tudo no universo de uma só vez.

59

Sintaxe da lógica proposicional

Frase ? FraseAtómica | FaseComplexa

FraseAtómica ? True | False| P | Q | R | ...

FaseComplexa ? (Frase) | Frase Conector Frase |¬Frase

Conector ? ∧ | ∨ | ⇒ | ⇔

60

Implicação

P ∧ Q ⇒ RPremissa

AntecedenteConclusão

Consequência

16

61

Literal

o Frase atómicao Frase atómica negada

62

Precedência dos operadores

¬∧∨⇒⇔

63

Semântica

o Um símbolo proposicional pode significar aquilo que desejarmos.n Ex: P pode significar que o WUMPUS está morto.

o Uma frase que contenha apenas um símbolo proposicional pode ser satisfeita, mas não é válida.

o Uma frase complexa tem um significado que deriva das partes.

o Cada conector pode ser visto como uma função.

64

Tabela da verdade

FalseTrueTrueFalseTrueTrueFalse

TrueTrueFalseFalseTrueFalseFalse

True

True

P ∨ Q

True

False

P ∧ Q

False

False

¬P

True

False

Q

True

True

P

TrueTrue

FalseFalse

P ⇔ QP ⇒ Q

17

65

Implicação

o O conector de implicação é talvez o mais importante e a sua tabela pode parecer um pouco intrigante à primeira vista.

66

Implicação

o A lógica proposicional não requer qualquer relação entre P e Q para que P ⇒ Q.n Ex : A frase “5 é impar ⇒ Tokio é capital

do Japão” é verdadeira na lógica proposicional.

67

Validade

o As tabelas de verdade podem não só ser utilizadas para definir as conexões, mas também para testar se uma frase é válida.

o Dada uma frase, criamos uma tabela da verdade com tantas linhas como as combinações de todos os valores possíveis para os símbolos proposicionais da frase. Se a frase for verdadeira em todas as linhas, então a frase é válida.n Ex : ((P ∨ H) ∧ ¬H) ⇒ P

68

Validade

((P ∨ H) ∧ ¬H) ⇒ P

o Suponhamos que P significa que o WUMPUS está em [1,3] e H significa que o WUMPUS está em [2,2], se num dado ponto aprendemos (P ∨ H) e mais tarde aprendemos ¬H podemos utilizar a frase de cima para concluir que P é verdade, isto éque o WUMPUS está em [1,3].

18

69

Validade e inferência

o O que fizemos é importante, pois permite-nos dizer que se o computador tem determinadas premissas e uma conclusão possível, ele pode determinar se a conclusão é verdadeira.

70

Modelos

o Qualquer mundo em que uma frase é verdadeira para uma dada interpretação é chamado de modelo dessa frase sob essa interpretação.

71

Modelos

o O mundo da figura é um modelo da frase “R1,2” sob a interpretação de que “R1,2” significa que existe um ruído em [1,2].

o Existem muitos mais modelos desta frase. U

!U%h

U

R

h

h

�→ h R

h

R

h 72

Modelos

o A razão porque existem muitos modelos da frase em questão é porque fazemos poucas afirmações acerca do mundo.

o Quanto mais afirmações fizermos, isto é quanto mais conjunções adicionarmos à base de conhecimentos, menos modelos existirão.

19

73

Modelos

o Podemos agora redefinir a nossa relação abrangente como :n Uma frase α é abrangida por uma base

de conhecimentos se os modelos de KB são todos os modelos de α. Neste caso se KB for verdadeiro então α será verdadeiro.

74

Regras de inferênciao Regras que nos permitem fazer inferências sem ser

necessário passar pelo tedioso processo de construir as tabelas da verdade.

o Já vimos a notação α ⊢β que indica que β pode ser derivado α de por inferência. Existe uma forma alternativa que enfatiza o facto de não nos referirmos a uma frase mas sim a uma regra de inferência. Essa forma é :

αβ

75

Regras de inferência

o As letras α eβ representam frases e não símbolos proposicionais .

o Quando existem várias frases numa premissa ou numa conclusão, estas são separadas por virgulas.

o Uma regra de inferência é válida se a conclusão for verdadeira em todos os casos em que as premissas forem verdadeiras.

20

77

Prova

o Uma prova lógica consiste numa sequência de aplicações de regras de inferência, partindo das frases iniciais da base de conhecimentos (KB) e culminando na geração da frase cuja prova é desejada.

78

Lógica

o Uma lógica diz-se monótona se :

if KB1 |= α then (KB1 ∪ KB2) |= α

ok R?

visitadook

�hok

R?

!!

�Uok

ok

visitadook

visitadook h R!

¬R1,1 ¬B1,1

¬R2,1 B2,1

R1,2 ¬ B2,1

ok R?

visitadook

�hok

R?

!!

�Uok

ok

visitadook

visitadook h R!

r1 : ¬R1,1 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,1

r2 : ¬R2,1 ⇒ ¬W1,1 ∧ ¬W2,1 ∧ ¬W2,2 ∧ ¬W3,1

r3 : ¬R1,2 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,2 ∧ ¬W1,3

21

ok R?

visitadook

�hok

R?

!!

�Uok

ok

visitadook

visitadook h R!

r4 : R1,2 ⇒ W1,3 ∨ W1,2 ∨ W2,2 ∨ W1,1

82

KB ⇒ W1,3

¬R1,1 ¬B1,1

¬R2,1 B2,1

R1,2 ¬ B2,1

r1 : ¬R1,1 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,1

r2 : ¬R2,1 ⇒ ¬W1,1 ∧ ¬W2,1 ∧ ¬W2,2 ∧ ¬W3,1

r3 : ¬R1,2 ⇒ ¬W1,1 ∧ ¬W1,2 ∧ ¬W2,2 ∧ ¬W1,3

r4 : R1,2 ⇒ W1,3 ∨ W1,2 ∨ W2,2 ∨ W1,1

83

Regras de inferência

o Existem 12 símboloso Uma tabela da verdade teria 212 =

4096 linhas.o Em vez de criar a tabela da verdade,

utilizamos as regras de inferência.

84

Determinar onde está o WUMPUS?

o Aplicando a regra “Modus Ponens” com ¬R1,1 e a frase designada por r1

obtemos:

¬W1,1 ∧ ¬W1,2 ∧ ¬W2,1

o Aplicando a regra “And-Elimination”, obtemos três frases :

¬W1,1 ¬W1,2 ¬W2,1

22

85

Determinar onde está o WUMPUS?

o Aplicando a regra “Modus Ponens” com R1,2 e a frase designada por r4

obtemos:

W1,3 ∨ W1,2 ∨ W2,2 ∨ W1,1

o Aplicando a regra “Unit Resolution”, onde αé W1,3 ∨ W1,2 ∨ W2,2 e β W1,1 obtemos:

W1,3 ∨ W1,2 ∨ W2,2

86

Determinar onde está o WUMPUS?

o Aplicando a regra “Unit Resolution”, onde αé W1,3 ∨ W1,2 e β W2,2 obtemos:

W1,3 ∨ W1,2

o Finalmente aplicando a regra “UnitResolution”, onde α é W1,3 e β W1,2obtemos:

W1,3

87

Traduzindo o conhecimento em acções

o Podemos adicionar regras adicionais que relacionam o estado actual do mundo com as acções que o agente deve tomar. n Por exemplo se o WUMPUS está à frente

não é boa ideia avançar

A1,1 ∧ DireitaA ∧ W2,1 ⇒ ¬Frente

88

Traduzindo o conhecimento em acções

o Depois de termos estas regras podemos perguntar à base de conhecimentos qual a acção a tomar.

o Infelizmente a lógica proposicionalnão é o suficientemente poderosa para representar ou responder à questão “Qual a acção que devo tomar ?”

23

89

Traduzindo o conhecimento em acções

o No entanto é possível fazer uma série de questões que substituem a questão anterior. Para tal podemos perguntar “Devo ir para a direita ?”, “Devo ir para cima ?”, ...

90

Agente baseado na lógica proposicional

function AgenteBaseadoLogicaProposicional(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))for each acção in lista das acções possíveis do

if ASK(KB, CriaPerguntaAccao(t, acção)) thent ← t + 1return acção

end

91

Problemas da lógica proposicional

o A lógica proposicional permite-nos ficar com uma ideia de como é que a lógica pode ser usada para inferir conhecimentos e eventualmente tomar uma acção racional.

o No entanto é tão “fraca” que nem consegue lidar com um domínio tão simples como o mundo do WUMPUS.

92

Problemas da lógica proposicional

o O problema principal é que existem demasiadas proposições para lidar.n A simples regra “Não avançar se o WUMPUS

está à frente” dá origem a 64 (16 quadrados x 4 orientações possíveis) frases na lógica proposicional.

n Seriam necessárias milhares de frases para definir um agente competente.

n Se o mundo for maior que 4x4 as coisas complicam-se ainda mais.

24

93

Problemas da lógica proposicional

o Demasiadas frases abrandam muito o desempenho do motor de inferência.

o Outro problema é a capacidade de lidar com a mudança. Em geral o mundo altera -se ao longo do tempo. Quando o agente se move pela primeira vez a preposição A1,1torna-se false e a preposição A1,2 torna-se verdadeira. Mas pode ser importante para o agente saber que esteve em A1,1 e portanto não deverá simplesmente esquecer A1,1.

94

Problemas da lógica proposicional

o Para evitar confusões, necessitamos de símbolos proposicionais diferentes para cada localização do agente em cada passo. Isto causa dificuldades em dois aspectos :n Não sabemos quantos passos demora a

atingirmos o objectivo;n Temos de voltar a trás e escrever

versões dependentes do tempo para cada regra.

95

Problemas da lógica proposicional

A01,1 ∧ Direita0

A ∧ W02,1 ⇒ ¬Frente0

A11,1 ∧ Direita1

A ∧ W12,1 ⇒ ¬Frente1

A21,1 ∧ Direita2

A ∧ W22,1 ⇒ ¬Frente2

.

.

.

96

Problemas da lógica proposicional

o Se necessitamos de um agente capaz de executar 100 passos, necessitávamos de 6400 preposições só para dizer que não deveríamos ir para a frente no caso de existir lá um WUMPUS.