cin- ufpe 1 agentes baseados em conhecimento natureza do conhecimento agentes baseados em...

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

Upload: manoela-porro

Post on 07-Apr-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

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

CIn- UFPE

1

Agentes Baseados em Conhecimento

Natureza do Conhecimento

Agentes baseados em conhecimento

Aquisição de conhecimento

Inferência

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

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

CIn- UFPE

5

O que é Conhecimento?

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

CIn- UFPE

6Dados 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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

CIn- UFPE

9

Como o Conhecimento é usado?Agentes baseados em conhecimento

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

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

CIn- UFPE

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

Programa Agente Baseado em Conhecimentot := 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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

CIn- UFPE

16

Como adquirir o conhecimento?

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

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

CIn- UFPE

20

Como representar conhecimento?

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

CIn- UFPE

21

Perguntinha...

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

O que há de errado?

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

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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-se fatos

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

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

CIn- UFPE

30

Como raciocinar?

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

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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: CIn- UFPE 1 Agentes Baseados em Conhecimento Natureza do Conhecimento Agentes baseados em conhecimento Aquisição de conhecimento Inferência

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 &

reas

onin

g

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

CIn- UFPE

35

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

conhecimento?

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

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?