Agentes Baseados em Conhecimento

36
CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

description

Agentes Baseados em Conhecimento. Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência. Ilustrações e reflexões. Exemplos West é criminoso ou não? - PowerPoint PPT Presentation

Transcript of Agentes Baseados em Conhecimento

Page 1: Agentes Baseados em Conhecimento

CIn- UFPE

1

Agentes Baseados em Conhecimento

Natureza do Conhecimento

Agentes baseados em conhecimento

Aquisição de conhecimento

Inferência

Page 2: Agentes Baseados em Conhecimento

CIn- UFPE

2

Ilustrações e reflexões

Exemplos• West é criminoso ou não?

– “A lei americana diz que é proibido vender armas a uma nação hostil. Cuba possui alguns mísseis, e todos eles foram vendidos pelo Capitão West, que é americano”

• Qual é a doença de Dona Maria? – “Dona Maria tem febre, dor no corpo e apresenta pintas

pequenas vermelhas”

Questões• Seria possível responder estas questões com busca?• Se não, por que? • Senão, o que seria necessário?

Page 3: Agentes Baseados em Conhecimento

CIn- UFPE

3

O que seria necessário...

Segundo a IA...• Identificar o conhecimento do domínio• Representá-lo em uma linguagem formal• Implementar um mecanismo de inferência para utilizá-lo

The Knowledge Principle (Lenat & Feigenbaum)• If a program is to perform a complex task well, it must know a

great deal about the world in which it operates

Tão fácil assim? O que vai pegar?

Page 4: Agentes Baseados em Conhecimento

CIn- UFPE

4

Questões-chave

O que é conhecimento?

Como ele é usado pelos agentes?

Como adquirí-lo (extraí-lo, identificá-lo, apreendê-lo...)?

Como representá-lo adequadamente?

Como raciocinar com ele correta e eficientemente?

Page 5: Agentes Baseados em Conhecimento

CIn- UFPE

5

O que é Conhecimento?

Page 6: Agentes Baseados em Conhecimento

CIn- UFPE

6

Dados x Informação x Conhecimento: qual a diferença???

Dados:• cadeias numéricas ou alfanuméricas que não possuem

significado associado• ex. 12, m1, west, 10.... ( ?)

Informação:• dados organizados: significam alguma coisa para quem os

recebe• ex. 01, 03, 04, 06, 07, 08, 10 (meses ???)

Conhecimento:• Dado, informação ou abstração formatado de maneira a

permitir raciocínio por um ser humano ou por uma máquina

Page 7: Agentes Baseados em Conhecimento

CIn- UFPE

7Como se traduz o Conhecimento da Máquina?

Exemplos de conhecimento• Classes e objetos

– relação Arma - Míssil - m1• Formula da lógica

– InimigoPolítico(Cuba,USA)• Distribuição de probabilidade prévia e condicional de

variáveis aleatórias – P(Cuba-usar-míssil-contra-USA |Cuba-tem-m1) = 0,3

Basta saber isto? • Não, é preciso saber como estruturar (representar) o

conhecimento, para efetivamente saber como usá-lo....

Page 8: Agentes Baseados em Conhecimento

CIn- UFPE

8

Tipos de conhecimento...

Existem vários aspectos ....• Em intenção x Em extensão• Estático x Dinâmico• Do problema x Meta-conhecimento• Diagnóstico x Causal• Dedutivo x Terminológico• Síncrono x Diacrônico• Certo x Incerto• Preciso x Vago• Declarativo x Procedimental• De senso comum x Especialista• Explicito x Implícito

... que ao longo do curso iremos discutir.

Page 9: Agentes Baseados em Conhecimento

CIn- UFPE

9

Como o Conhecimento é usado?Agentes baseados em conhecimento

Page 10: Agentes Baseados em Conhecimento

CIn- UFPE

10

Agentes Baseados em Conhecimento

2 componentes principais (separados):• Base de Conhecimento• Mecanismo de Inferência

Base de Conhecimento:• contém sentenças em uma Linguagem de Representação

de Conhecimento “tratável” pelo computador– representações de regras e fatos– ex. x Míssil(x) Arma(x)

Míssil(M1)

Mecanismo (máquina) de Inferência associado:• responsável por inferir, a partir do conhecimento da base,

novos fatos ou hipóteses intermediárias/temporárias– ex. M1 é uma arma

Page 11: Agentes Baseados em Conhecimento

CIn- UFPE

11Agente baseado em conhecimento (dedutivo)

Am

biente

Sensores

Efetuadores

Base deConhecimentoEspecializada

Máquina deInferênciaGenérica

Ask

Tell

Retract

Representação eAquisição de

Conhecimento

Raciocínio Automático

Page 12: Agentes Baseados em Conhecimento

CIn- UFPE

12Implementando raciocínio: laço principal do agente

Ask: pergunta coisas à base

• ex. ASK (BC, Criminoso(West)) ou ASK (BC, x Criminoso (x)))

TELL: relata novos fatos à base

• ex. TELL (BC, Americano (West))

RETRACT: Elimina fatos da base

• ex. RETRACT (BC, Criminoso(Zezinho))

Page 13: Agentes Baseados em Conhecimento

CIn- UFPE

13Implementando raciocínio: laço principal do agente

Programa Agente Baseado em Conhecimento

t := 0 //contador de tempoenquanto Agente-BCAgente-BC vivo, faça

TellTell(BC, Percepções-SentençaPercepções-Sentença(percepção,t)) ação <- AskAsk(BC, Pergunta-AçãoPergunta-Ação(t)) ExecutaExecuta(ação) TellTell(BC, Ação-SentençaAção-Sentença(ação,t)) t <- t + 1

Page 14: Agentes Baseados em Conhecimento

CIn- UFPE

14

Conhecimento estático x dinâmico

Conhecimento estático: aquele que já existe na BC e não mudará • Hierarquia de conceitos (classes de fatos)

– ex, X, wumpus(X) monstro(X).• Restrições de integridades

– ex, X,Y wumpus(X) wumpus(Y) X = Y.• Regras de dedução sobre o domínio

– ex, X,Y smelly(X,Y) (loc(wumpus,X+1,Y) loc(wumpus,X-1,Y) loc(wumpus,X,Y+1) loc(wumpus,X,Y-1).

• Meta-regras para controle e explicação do raciocínio– ex. preferir ir para direita em caso de mais de uma escolha

Page 15: Agentes Baseados em Conhecimento

CIn- UFPE

15

Conhecimento estático x dinâmico

Conhecimento dinâmico: só existe durante a resolução de uma instância particular do problema• descrição da instância, hipóteses atuais, fatos novos,... • ex, loc(wumpus,2,1) loc(wumpus,1,2) loc(wumpus,2,3)

loc(wumpus,2,3). alive(wumpus,4). alive(wumpus,7).

Page 16: Agentes Baseados em Conhecimento

CIn- UFPE

16

Como adquirir o conhecimento?

Page 17: Agentes Baseados em Conhecimento

CIn- UFPE

17

A grande escolha

Aprender • se existe conhecimento em extensão disponível• mais rápido e simples• envolve várias técnicas

– Redes neurais– Aprendizagem simbólica– algoritmos genéticos

• ex. categorização de texto, recomendação de filmes, ...

Explicitar (à mão): engenharia de conhecimento• se conhecimento pode ser facilmente explicitado ou não se

tem escolha• mais trabalhoso embora preciso• Várias técnicas...

– Programação em lógica, sistemas de produção, ...

Page 18: Agentes Baseados em Conhecimento

CIn- UFPE

18

Conhecimento em intenção x extensão

Conhecimento em intenção• Definição do conceito (ou ação), normalmente usando regras,

em termos de sua função, estrutura, etc.– ex. cadeira: serve para sentar, tem assento, ...– ex. quem tem dengue tem febre, dores, ...– ex, X,Y X = 0 X = 5 Y = 0 Y = 5 loc(wall,X,Y)

Conhecimento em extensão: Instâncias do conceito• ex. cadeira 1, cadeira 21, cadeira 613, .... • ex. a dengue de João, a dengue de Zé, ...• ex, loc(wall,0,1). loc(wall,0,2). loc(wall,0,3). loc(wall,0,4).

loc(wall,5,1). loc(wall,5,2). loc(wall,5,3). loc(wall,5,4). loc(wall,1,0). loc(wall,2,0). loc(wall,3,0). loc(wall,4,0). loc(wall,1,5). loc(wall,2,5). loc(wall,3,5). loc(wall,4,5).

Page 19: Agentes Baseados em Conhecimento

CIn- UFPE

19Ciclo de vida dos sistemas baseados em conhecimento

Nível de Conhecimento

Nível Lógico

Nível de Implementação

BC

AQUISIÇÃO

FORMALIZAÇÃO

IMPLEMENTAÇÃO

REFINAMENTO

linguagem naturalex. a ponte princesa Isabel liga a rua da Imperatriz à rua Nova

linguagem de representação de

conhecimentoEx. liga(Ponte-PI,RI,RN)

linguagens de programação

Page 20: Agentes Baseados em Conhecimento

CIn- UFPE

20

Como representar conhecimento?

Page 21: Agentes Baseados em Conhecimento

CIn- UFPE

21

Perguntinha...

Como o conhecimento é representado nos agentes de busca (resolução de problemas)?

O que há de errado?

Page 22: Agentes Baseados em Conhecimento

CIn- UFPE

22Linguagens de Representação do

Conhecimento

Uma Linguagem de Representação do Conhecimento é definida por:

1) uma sintaxe, que descreve as configurações que podem constituir sentenças daquela linguagem;

2) uma semântica, que liga cada sentença aos fatos no mundo que ela representa

– cada sentença faz uma afirmação a respeito do mundo;

E têm um mecanismo de inferência associado = raciocínio

Page 23: Agentes Baseados em Conhecimento

CIn- UFPE

23Linguagens de Representação do Conhecimento

Linguagens de programação:• são precisas, porém não são suficientemente expressivas

Linguagens naturais:• são muito expressivas, porém são ambíguas

Linguagens de representação de conhecimento (LRC):• utilizadas para expressar as sentenças das BC• existem 3 grandes classes:

– linguagens (predominantemente) declarativas– linguagens procedimentais– linguagens híbridas

Page 24: Agentes Baseados em Conhecimento

CIn- UFPE

24

Representação & Raciocínio Raciocínio é um processo de construção de novas sentenças

a partir de sentenças existentes (manipulação sintática).

Raciocínio plausível (sound):• garante que novas sentenças representem fatos que se

seguem dos representados pelas sentenças existentes na BC

implicasentenças

Representação sem

ântic

a

sentenças

Mundofatos

sem

ântic

a

segue-sefatos

Page 25: Agentes Baseados em Conhecimento

CIn- UFPE

25

Representação & Raciocínio

A lógica é uma linguagem de representação boa

porque garante que apenas sentenças válidas sejam

geradas

Além disso, possui outras propriedades• Composicionalidade: o significado de uma sentença é

função do de suas partes• Monotonicidade: Tudo que era verdade continua sendo

depois de uma inferência• Localidade: inferência apenas com comparações locais

(porção da BC).

Page 26: Agentes Baseados em Conhecimento

CIn- UFPE

26

Interpretação

Uma sentença lógica não significa nada por si só...• É preciso estabelecer uma correspondência entre fatos e

sentenças através de uma interpretação• Exemplo: “O Papa já está no Rio”

– mensagem secreta trocada entre dois agentes do FBI que significa que os documentos sobre as armas do Iraque (o Papa) foram entregues ao Pentágono (o Rio) a salvo (já está).

Nesta ótica, uma sentença pode ser: • Válida: verdadeira sob qualquer interpretação

– o papa está em Roma ou não está em Roma• Satisfatível: verdadeira sob (pelo menos) uma interpretação• Insatisfatível: falsa sob qualquer interpretação

– o papa está em Roma e no Rio

Page 27: Agentes Baseados em Conhecimento

CIn- UFPE

27

Inferência em Computadores

Computadores têm conhecimento limitado sobre o mundo:• não sabem que interpretação foi dada às sentenças na BC, e• não sabem tudo sobre o mundo, apenas o que existe na BC.

Então, como responder à pergunta: “Está OK mover o agente para (2,2)?”• O computador não necessita saber qual a interpretação

utilizada, nem qual o estado atual do mundo: basta testar a validade da sentença abaixo

– “Se a BC é verdade, então (2,2) está OK”

Page 28: Agentes Baseados em Conhecimento

Exemplo com lógica...A) x,y,z Zaco(x) Bila(y) Noia(z) Hesta(z) Vada(x,z,y) Creme(x)B) x Guru(x,USA) Hesta(x)C) x Inp(x,USA) Hesta(x)D) x Moca(x) Bila(x)E) x Bimba(x) Bila(x)F) Noia(Cuba)G) Noia(USA)H) Inp(Cuba,USA)I) Inp(Irã,USA)co

nhec

imen

to p

révi

o

J) Zaco(West)K) x Possa(Cuba,x) Moca(x) L) x Possa(Cuba,x) Moca(x) Vada(West, Cuba,x) co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to M) Possa(Cuba,M1) - Eliminação: quantificador existencial eN) Moca(M1) conjunção de KO) Bila(M1) - Modus Ponens a partir de D e NP) Hesta(Cuba) - Modus Ponens a partir de C e HQ) Vada(West,Cuba,M1) - Modus Ponens a partir de L, M e NR) Creme(West) - Modus Ponens a partir de A, J, O, F, P e Q

Zaco = AmericanoBila = ArmaNoia = NaçãoHesta = HostilVada = VendeCreme = CriminosoPossa = PossuiMoca = MíssilBimba = BombaInp = InimigoPolítico

Interpretação

Page 29: Agentes Baseados em Conhecimento

Mesmo exemplo... mais inteligível (para nós)A) x,y,z Americano(x) Arma(y) Nação(z) Hostil(z) Vende(x,z,y) Criminoso(x)B) x Guerra(x,USA) Hostil(x)C) x InimigoPolítico(x,USA) Hostil(x)D) x Míssil(x) Arma(x)E) x Bomba(x) Arma(x)F) Nação(Cuba)G) Nação(USA)H) InimigoPolítico(Cuba,USA)I) InimigoPolítico(Irã,USA)co

nhec

imen

to p

révi

o

J) Americano(West)K) x Possui(Cuba,x) Míssil(x) L) x Possui(Cuba,x) Míssil(x) Vende(West, Cuba,x) co

nhec

imen

to

do p

robl

ema

novo

co

nhec

imen

to M) Possui(Cuba,M1) - Eliminação: quantificador existencial eN) Míssil(M1) conjunção de KO) Arma(M1) - Modus Ponens a partir de D e NP) Hostil(Cuba) - Modus Ponens a partir de C e HQ) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e NR) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q

Page 30: Agentes Baseados em Conhecimento

CIn- UFPE

30

Como raciocinar?

Page 31: Agentes Baseados em Conhecimento

CIn- UFPE

31

Categorias de Raciocínio (Inferência)

Dedução: fatos + regras de inferência => novos fatos.• ex. Onde há fogo, há fumaça. Aqui tem fogo, logo...

Abdução: inverso da dedução.• ex. Se há fumaça, há fogo.

Indução: parte-se dos fatos para gerar regras.• ex. Se Sr. Antônio, assim como D. Maria, tem dor de cabeça

e dengue, então todo mundo que tem dengue, tem dor de cabeça.

Analógico: casos + regras de adaptação• ex.: Para construir este hospital, vou me basear no projeto

daquele outro

Page 32: Agentes Baseados em Conhecimento

Sistemas(implementação)

Linguagens de Representação

Principais sistemas de raciocínio declarativos/dedutivos

regraslógica objetos híbridos

Programação em lógicaSistemas de produção

Sistemas de manutenção da verdade

Provadores de teoremaSistemas Redes Semânticas

Sistemas FramesSistemas de Lógica descritiva

Sistemas OO

regras+objetoslógica+objetos

lógica+objetos+funções

Implementando raciocínio

Page 33: Agentes Baseados em Conhecimento

CIn- UFPE

33Observações sobre linguagem e raciocínio

Separação controle - conhecimento • Seja lá qual for o raciocínio, haverá sempre um motor geral

que o implementará • A tarefa do engenheiro de IA é “só” codificar corretamente o

conhecimento

Isto se chama Programação Declarativa: diz “o que”• representação descritiva dos fatos, relacionamentos e regras

– ex. as partes de uma bicicleta e seus relacionamentos – ex. o pai do pai é o avô

já na procedimental, se diz “como” • fatos e seqüências de instruções para manipular esses fatos

– ex.: como desmontar uma bicicleta

Page 34: Agentes Baseados em Conhecimento

CIn- UFPE

34Observações sobre linguagem e raciocínio

O par linguagem-raciocínio é independente do tipo de arquitetura de agente• agente reativo => lógica, regras, funções, ....• Agente cognitivo => busca, lógica, regras, planejamento,...• Agnte otimizador => função utilidade,...

reativo cognitivo otimizadorArquiteturas

KR

L &

re

aso

nin

g

Page 35: Agentes Baseados em Conhecimento

CIn- UFPE

35

Quais são os critérios para escolher uma linguagem de representação de

conhecimento?

Page 36: Agentes Baseados em Conhecimento

CIn- UFPE

36

Critérios

Expressividade• o que é possível dizer facilmente na linguagem?

Inferência disponível• que tipo de inferência é possível fazer na linguagem?

Corretude• a inferência é plausível? A semântica é bem definida?

Eficiência• a inferência se realiza em um tempo razoável?

Modularidade:• é fácil identificar e reutilizar partes do conhecimento?

Legibilidade: • é fácil de ler e entender o que está escrito?

Eficiência aquisicional: • é fácil adicionar conhecimento?