agentes baseados em conhecimento

44
Agentes Baseados em Conhecimento Jacques Robin Geber Ramalho CIn-UFPE

Upload: fritzi

Post on 15-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

Agentes Baseados em Conhecimento. Jacques Robin Geber Ramalho CIn-UFPE. Exemplo introdutório: West é criminoso?. West é criminoso ou não? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Agentes Baseados em Conhecimento

Agentes Baseados em Conhecimento

Jacques RobinGeber Ramalho

CIn-UFPE

Page 2: Agentes Baseados em Conhecimento

Exemplo introdutório: West é criminoso?

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”

Como resolver automaticamente este problema de classificação?

Segundo a IA (simbólica), é preciso:Identificar o conhecimento do domínio (modelo do problema)Representá-lo utilizando uma linguagem formal de representaçãoImplementar um mecanismo de inferência para utilizar esse conhecimento

Page 3: Agentes Baseados em Conhecimento

Agente baseado em conhecimento

Ask

Tell

Retract

Am

bie

nte

Sensores

Atuadores

Base deConhecimentoEspecializada

Máquina deInferênciaGenérica

Representação e

Aquisição deConhecimento

Raciocínio Automátic

o

Page 4: Agentes Baseados em Conhecimento

O que é conhecimento?

Dado, informação ou abstração formatado de maneira a permitir raciocínio por um ser humano ou por uma máquina, por exemplo Classes e objetos Formula da lógica Distribuição de probabilidade prévia e condicional de variáveis aleatórias

O que é raciocínio? Mecanismo sistemático para inferir ou derivar novo conhecimento a partir de novas percepções e/ou de conhecimento prévio, por exemplo: Herança de atributos entre classe, sub-classes e objetos Prova de teorema por refutação, resolução e unificação Cálculo de probabilidade posterior de um evento pelo Teorema de Bayes

Page 5: Agentes Baseados em Conhecimento

Exemplo de raciocínio automáticocom conhecimento: West é criminoso?

Sabendo que:

1. É criminoso para um americano vender armas para uma nação hostil aos EUA

2. Nono tem mísseis3. Nono comprou todos seus

mísseis do Capitão West4. O Capitão West é americano5. Nono é uma nação6. Nono “está” inimiga dos EUA7 . Um míssil é um tipo de arma8. A inimizade é uma forma de

hostilidade9. Os EUA são uma nação

Pode se inferir que:0. O Capitão West é criminoso?

Representando esse conhecimento em lógica dos predicados da 1a ordem

( P,W,N american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) //1

( W owns(nono,W) missile(W)) //2 ( W owns(nono,W) missile(W)

sells(west,nono,W)) //3 american(west) //4 nation(nono) //5 enemy(nono,america) //6 W missile(W) weapon(W) //7 N enemy(N,america) hostile(N) //8

nation(america) //9

Provador de teorema pode ser usado para tentar inferir:

criminoso(west) //0

Page 6: Agentes Baseados em Conhecimento

Revisão de lógica

Refutação: Para provar BC C verdadeiro, provar BC C falso Porque? Por que (BC C) (BC C) (BC C) BC C

Formal normal (implicativa): Para qualquer formula da lógica dos predicados da 1a ordem, existe uma formula com mesmas valores de verdades da forma: X1, ..., Xk P1(...,Xi,...) ... Pm(...,Xj,...) C1(...,Xu,...) ... Cm(...,Xv,...)

Skolemização: substituir variáveis existencialmente quantificadas por constantes ex, x míssil(x) por míssil(m1)

Regra de resolução (implicativa): Caso proposicional: ((A B) (B C)) (A C) A B e B C se resolvam em A C

Caso da 1a ordem: (A B) (C D) (B) = (C) ((A) (D)) onde é o conjunto de substituições de variáveis que unificam B com C A B e C D se resolvam em (A) (D) pela unificação de B com C via

Unificação: conjunto de substituições variável/constante ou variável1/variável2 em 2 termos a unificar para torná-los iguais

Page 7: Agentes Baseados em Conhecimento

Exemplo de raciocínio automáticocom conhecimento: West é

criminoso? Prova por refutação: mostrar que

( P,W,N american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) //1

( W owns(nono,W) missile(W)) //2 ( W owns(nono,W) missile(W)

sells(west,nono,W)) //3 american(west) //4 nation(nono) //5

enemy(nono,america) //6

W missile(W) weapon(W) //7 N enemy(N,america) hostile(N) //8 nation(america) //9

criminoso(west) //0

é inconsistente.

1o passo: colocar formula em forma normal

(american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) // 1

T owns(nono,m1) // skolemização 2a T missile(m1) // 2b (owns(nono,W) missile(W)

sells(west,nono,W)) //3 T american(west) //4 T nation(nono) //5 T enemy(nono,america) //6 missile(W) weapon(W) //7 enemy(N,america) hostile(N) //8

T nation(america) //9

criminoso(west) F //0

Page 8: Agentes Baseados em Conhecimento

Exemplo de raciocínio automáticocom conhecimento: West é criminoso?

2o passo: aplicar regra de resolução a pares de clausulas tal que premissa de uma se unifica com conclusão da outra

(american(P) weapon(W) nation(N) hostile(N) sells(P,N,W) criminal(P)) //1 (T owns(nono,m1)) //2a

(T missile(m1)) //2b (owns(nono,W) missile(W) sells(west,nono,W)) //3

(T american(west)) //4 (T nation(nono)) //5 (T enemy(nono,america)) //6 (missile(W) weapon(W)) //7 (enemy(N,america) hostile(N)) //8

(T nation(america)) //9 (criminoso(west) F) //0

1. Resolver 0 com 1 unificando P/west:american(west) weapon(W) nation(N) hostile(N) sells(west,N,W) F //102. Resolver 10 com 4:weapon(W) nation(N) hostile(N) sells(west,N,W) F //113. Resolver 11 com 7: missile(W) nation(N) hostile(N) sells(west,N,W) F //124. Resolver 12 com 2b unificando W/m1:nation(N) hostile(N) sells(west,N,m1) F //135. Resolver 13 com 5 unificando N/nono:hostile(nono) sells(west,nono,m1) F

//146. Resolver 14 com 8 unificando N/nono:enemy(nono,america) sells(west,nono,m1)

F //157. Resolver 15 com 6: sells(west,nono,m1)

F //168. Resolver 16 com 3 unificando W/m1:owns(nono,m1) missile(m1) F //179. Resolver 17 com 2a: missile(m1) F //18

10. Resolver 18 com 2b: F

Page 9: Agentes Baseados em Conhecimento

Tipos de conhecimento

Intencional x Extensional Diagnóstico x Causal Dedutivo x Terminológico Síncrono x Diácrono Certo x Incerto Explicito x Implícito Preciso x VagoPreciso x Vago Declarativo x ProcedimentalDeclarativo x Procedimental De senso comum x EspecialistaDe senso comum x Especialista Do problema x Meta-conhecimento (controle, explicação, Do problema x Meta-conhecimento (controle, explicação,

reuso)reuso)

Page 10: Agentes Baseados em Conhecimento

Conhecimento intencional x extensional

Conhecimento em intenção:Conhecimento em intenção: Geral ao domínio de aplicação e classe de problema 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 funcionamento do 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).

Esquema de BD, classes de programação orientada a objetos Conhecimento em extensão:Conhecimento em extensão:

Particular da instância do problema a resolver Fatos, i.e., proposições sobre instâncias de conceitos ex, loc(wumpus,2,1) loc(wumpus,1,2) loc(wumpus,2,3)

alive(wumpus,4). alive(wumpus,7).

Dados, exemplos, casos, objetos

Page 11: Agentes Baseados em Conhecimento

Conhecimento terminológico x dedutivo

Conhecimento terminológico: Taxonomia de entidades do domínio e seus relacionamentos estáticos Aspectos estruturais e estacionários ex, M, wumpus(M) monster(M). M,T monster(M) alive(M,T) dangerous(M,T).

Conhecimento dedutivo: Regras de funcionamento e restrições de integridade do domínio Aspectos comportamentais e temporais Ligando elementos em várias regiões da taxonomia ex, M,X,Y,T dangerous(M,T) loc(M,X,Y,T) safe(X,Y,T). X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X,Y+1) loc(agent,X,Y+1,T+1).

Page 12: Agentes Baseados em Conhecimento

Conhecimento causal x diagnóstico

Conhecimento causal: prevê resultados de ações e eventos ex, X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X,Y+1) loc(agent,X,Y+1,T+1).

Conhecimento diagnóstico: forma hipóteses sobre causas de efeitos observados ex, X,Y,T smell(stench,X,Y,T) smelly(X,Y). 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)).

Page 13: Agentes Baseados em Conhecimento

Conhecimento sincrónico x diacrónico

Conhecimento diacrónico: Regras de previsão das propriedades do ambiente entre dois instantes T e T+1 devidas a ações ou eventos ex, X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X,Y+1) loc(agent,X,Y+1,T+1).

Conhecimento sincrónico: Regras de propagação das conseqüências não observáveis do ambiente a partir das observadas no mesmo instante T ex, M,X,Y,T dangerous(M,T) loc(M,X,Y,T) safe(X,Y,T).

Page 14: Agentes Baseados em Conhecimento

Conhecimento certo x incerto

Conhecimento certo: Epistemologicamente booleano ex, X,Y smelly(X,Y) smelly(X+1,Y-1) smelly(X-1,Y-1)

loc(wumpus,X,Y+1).

Conhecimento incerto: Epistemologicamente probabilista: ex, X,Y smelly(X,Y,1) (loc(wumpus,X+1,Y,0.25) loc(wumpus,X-1,Y,0.25) loc(wumpus,X,Y+1,0.25) loc(wumpus,X,Y-1,0.25)).

Page 15: Agentes Baseados em Conhecimento

Conhecimento explícito x implícito

Conhecimento explícito: Sentenças simbólicas explicitamente armazenadas na base

de conhecimento

Conhecimento implícito: Axiomas que devem ser verificados para que a base de

conhecimento reflete o ambiente modelado Idealmente documentadas, no entanto muitas vezes

presentes apenas na cabeça do engenheiro do conhecimento

Suposições permitindo codificação mais simples e concisa da base de conhecimento

Explicitar conhecimento implícito necessário para tornar BC facilmente extensível

Page 16: Agentes Baseados em Conhecimento

Conhecimento explícito x implícito: exemplo de explicitação de

conhecimento

A codificação see(glitter) pick. Deixa implícito que:

Existe um único agente no ambiente See é uma percepção Pick é uma ação A visão do agente é limitada a caverna no qual se encontra O ouro é o único objeto a brilhar e o único objeto que o

agente pode pegar

Page 17: Agentes Baseados em Conhecimento

Conhecimento explícito x implícito: exemplo de explicitação de

conhecimento

Quando essas suposições não são mais verificadas, a codificação tem que tornar-se mais explícita, ex: A,C,T,X,Y agent(A) loc(C,[(X,Y)]) time(T) in(A,C,T)

horizCoord(X) verticCoord(Y) percept(A,C,T,vision,glitter) O physObj(O) emit(O,glitter) in(O,C,T).

O physObj(O) emit(O,glitter) ouro(O). O ouro(O) treasure(O). A,C,T,X,Y,O agent(A) loc(C,[(X,Y)]) time(T) in(A,C,T)

horizCoord(X) verticCoord(Y) in(O,C,T) treasure(O) chooseAction(A,T+1,pick(O)).

Page 18: Agentes Baseados em Conhecimento

Tipos de raciocínio

Dedução:Dedução: Utilização de conhecimento completo Previsão com conhecimento causal Diagnóstico com conhecimento diagnóstico

Abdução:Abdução: Utilização de conhecimento incompleto Diagnóstico com conhecimento causal Previsão com conhecimento diagnóstico (incomum)

Indução:Indução: Aquisição (aprendizagem) de conhecimento

Analogia:Analogia: Utilização de conhecimento incompleto Previsão, diagnóstico com conhecimento diagnóstico ou causal

Resolução de restrições:Resolução de restrições: Utilização de conhecimento incompleto Previsão com conhecimento causal Diagnóstico com conhecimento diagnóstico

Page 19: Agentes Baseados em Conhecimento

Dedução

Dedução

CPEC CPCI |= NCEE

ConhecimentoPrévio Causalem Intenção

X c(X) e(X)

ConhecimentoPrévio em Extensão:Causas Observadas

c(a), c(b), ...

Novo Conhecimentoem Extensão:

Efeitos Previstose(a), e(b) ...

Dedução

CPDI CPEE |= NCEC

ConhecimentoPrévio Diagnóstico

em IntençãoX e(X) c(X)

ConhecimentoPrévio em Extensão:Efeitos Observados

e(a), e(b), ...

Novo Conhecimentoem Extensão:

Causas c(a), c(b) ...

Page 20: Agentes Baseados em Conhecimento

Dedução: exemplos

A partir de: Conhecimento prévio causalcausal em intenção: X,Y,T loc(agent,X,Y,T) orientation(0,T) forward(T) loc(wall,X+1,Y) loc(agent,X+1,Y,T+1)

Conhecimento prévio em extensão de causas observadas: loc(agent,1,1,1) orientation(0,1) forward(1) loc(wall,2,1)

Deduzir: Novo conhecimento em extensão de efeito previsto:loc(agent,2,1,2).

A partir de: Conhecimento prévio diagnósticodiagnóstico em intenção: X,Y,T loc(agent,X,Y,T) smell(stench,T) smelly(X,Y).

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)).

Conhecimento prévio em extensão de efeito observado

smell(stench,3) loc(agent,2,2,3) Deduzir:

Novo conhecimento em extensão de causa hipotética:

loc(wumpus,3,2) loc(wumpus,1,2) loc(wumpus,2,3) loc(wumpus,2,1)).

Page 21: Agentes Baseados em Conhecimento

Abdução

Abdução

CPCI CPEC NCEC |= CPEE

ConhecimentoPrévio Causalem Intenção

X co(X) ca(X) e(X)

ConhecimentoPrévio em Extensão:• Efeitos Observados

e(a), e(b), ...• Causais Observadas

Incompletasco(a), co(b), ...

Novo Conhecimentoem Extensão:

Causas Hipotéticasca(a), ca(b) ...

Viés sobre Hipóteses:

X ca(X)

Page 22: Agentes Baseados em Conhecimento

Abdução: exemplo

A partir de: Conhecimento prévio causalcausal em intenção:

X,Y,T loc(agent,X,Y,T) orientation(0,T) do(forward,T) loc(wall,X+1,Y) loc(agent,X,Y,T+1)

Conhecimento prévio em extensão incompleto de causas: loc(agent,4,1,1) orientation(0,1) do(forward,1)

Conhecimento prévio em extensão de efeitos observados: loc(agent,4,1,2)

Abduzir: Novo conhecimento em extensão de causacausa hipotética:

loc(wall,5,1)

Page 23: Agentes Baseados em Conhecimento

Indução

Novo ConhecimentoCausal Hipotético

em IntençãoX i(X) e(X)

Indução

CPCI NCCI CPEC |= CPEE

ConhecimentoPrévio em Extensão:• Efeitos Observados

e(a), e(b), ...• Causais Observadas

c(a), c(b), ...

Conhecimento PrévioCausal em Intenção

IncompletoX c(X) i(X)

Viés sobre Hipóteses:

X,Y i(X) Y(X)

Page 24: Agentes Baseados em Conhecimento

Indução: exemplo

A partir de: Conhecimento prévio em extensão:

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

Viés sobre hipótese: P1,P2,P3,P4 {>,<,=}, C {, }, Q1,Q2,Q3 {,}: Q1U1,U2,U3,U4 Q2V1,V2,V3,V4 Q3W P1(U,V1) P2(U,V2) P3(U,V3) P4(U,V4) loc(W,U,V)

Induzir: Novo conhecimento em intenção:

X,Y X<1 X>4 Y<1 Y>4 loc(wall,X,Y)

Variação: Conhecimento prévio em intenção:

X,Y,H,W X<1 X>H Y<1 Y>W loc(wall,X,Y)

Page 25: Agentes Baseados em Conhecimento

Indução: exemplo

6 Y

5 P P B B? P

v6 b

P

4 P v4 v5,7 B? f P O

3 P v3 v8,10 v9 f W P

2 P v2 v11 v12,14

v13 b B? P

1 P v1 v16 v15 b B B? P

0 P P B? P P X

0 1 2 3 4 5 6 7

Page 26: Agentes Baseados em Conhecimento

Analogia

Novo Conhecimentoem Extensão:• Efeitos Previstos e(j) = e(i) ...• Causas Hipotéticas c(h) = c(k)...

ConhecimentoPrévio em Extensão:• Causais Observadas c(i), c(j), c(k), ...• Efeitos Observados e(i), e(k), e(h), ...• Similaridade entre Causas s(c(i),c(j))=m, s(c(j),c(k))=n, ...• Similaridade entre Efeitos s(e(i),e(h))=u, s(e(k),e(h))=v, ...

AnalogiaCPEE CPES CPEC | NCEE

CPEC CPES CPEE | NCEC

Regra de inferência:

X,Y,P,Q (P(X) Q(X) P(Y) s(P(X),P(Y)) l) Q(Y)

m ln lu lv l

Page 27: Agentes Baseados em Conhecimento

Analogia: exemplo

A partir de: Conhecimento prévio em extensão: loc(agent,1,1,3) orientation(agent,180,3) do(forward,3) percept([none,none,none,none,bump],4) loc(agent,1,1,5) orientation(agent,90,5) do(forward,5) percept([none,none,none,none,none],6) loc(agent,1,2,7) orientation(agent,180,7) do(forward,7) percept([none,none,none,none,bump],8) loc(agent,1,2,9) orientation(agent,90,9) do(forward,9) percept([none,none,none,none,none],10)

... loc(agent,1,3,11) orientation(agent,180,11) do(forward,11) ?Medidas de similaridades: ssa = % de símbolos em comum entre as partes situação e ação das sentenças, desconsiderando as variáveis temporais spp = % de símbolos em comum entre as partes próxima percepção das sentenças, desconsiderando as variáveis temporais

Inferir por analogia:percept( [none,none,none,none,bump], 12)

Dado que:ssa(sa5,sa1) = 8/9ssa(sa5,sa1) = 8/9ssa(sa5,sa2) = 7/9

ssa(sa5,sa3) = 8/9ssa(sa5,sa3) = 8/9ssa(sa5,sa4) = 7/9

spp(sa1,sa2) = 6/6spp(sa1,sa2) = 6/6

Page 28: Agentes Baseados em Conhecimento

Resolução de Restrições

Resolução de RestriçõesCPI CPE |= NCE CPI CPE |= NCI

ConhecimentoPrévio em Intenção

X,Y,P a(P,[X,Y]) c(X)+c(Y)c(P)

ConhecimentoPrévio

em Extensão: c(q) = 120

c(d) = 90 c(e) = 60 c(f) = 30 c(g) = 60

Novo Conhecimento

em Extensão:

a(q,[d,f]) a(q,[e,g])

Novo Conhecimento

em Intenção:

X,Y {d,e,f,g}

a(q,[X,Y]) c(X)+c(Y) 120

Page 29: Agentes Baseados em Conhecimento

Agente baseado em conhecimentodedutivo ou abdutivo

Am

bie

nte

Sensores

Atuadores

Base de Conhecimento Extensional (BCE): fatos, objetos

formulas lógicas instanciadas

Máquina de inferênciadedutiva ou abdutiva

Base de Conhecimento Intencional (BCI):regras, classes, formulas lógicas

universalmente quantificadas

Ask

Tell RetractAsk

Não Monotônic

a

Page 30: Agentes Baseados em Conhecimento

Agente baseado em resolução de restrições

Am

bie

nte

Sensores

Atuadores

Base de Conhecimento Extensional (BCE):

restrições instanciadas

Máquina de inferênciadedutiva ou abdutiva

Base de Conhecimento Intencional (BCI):restrições

universalmente quantificadas

Tell RetractAsk

Tell RetractAsk

Page 31: Agentes Baseados em Conhecimento

Agente baseado em conhecimento analógico

Am

bie

nte

Sensores

Atuadores

Base de Conhecimento Extensional (BCE): fatos, objetos

formulas lógicas instanciadasestruturados por similaridadesestruturados por similaridades

Máquina de inferênciaanalógica

AskTell Retract

Page 32: Agentes Baseados em Conhecimento

Agentes baseados em conhecimentona tipologia de arquiteturas de agentes

O agente baseado em conhecimento é: Reflexo? Autômato? Cognitivo? Deliberativo? Otimizador? Adaptativo? Híbrido?

Pode ser qualquer um ! Distinções ortogonais

Existe alguma relação entre arquitetura de agente e tipo de raciocínio?

A qual? Agente adaptativo baseado

em conhecimento inclui necessariamente uma máquina de inferência indutiva ou analógica

Page 33: Agentes Baseados em Conhecimento

Lembram do agente deliberativo?

Am

bie

nte

Sensores

Atuadores

Modelo dosambientes(passados)

e atual

Interpretador de percepçõesRegras: percepção(t) modelo(t-1) modelo(t)

Escolhedor de açãoRegras: resultado([ação(t),...,ação(t+n)]) = modelo(t+n) modelo(t+n) objetivo(t) faz(ação(t))

Atualizador do modelo do ambienteRegras: modelo(t) modelo(t)

Atualizador dos objetivosRegras: modelo(t) objetivos(t-1) objetivos(t)

Objetivos

Previsor de ambientes futurosRegras: modelo(t) ação(t) modelo(t+1) e modelo(t) modelo(t+1)

Modelo dosambientes

futuroshipotéticos

Page 34: Agentes Baseados em Conhecimento

E lembram do agente baseado em conhecimento?

Ask

Tell

Retract

Am

bie

nte

Sensores

Atuadores

Base deConhecimentoEspecializada

Máquina deInferênciaGenérica

Page 35: Agentes Baseados em Conhecimento

Como seria então um agente deliberativo baseado em conhecimento?

Am

bie

nte

Sensores

Atuadores

BCE: modelo dos ambientes

passados e atual

BCE: modelo de ambientes

futuros hipotéticos

BCE: Objetivos

BCI: interpretaçãodas percepções

BCI: atualização do modelo do ambiente

BCI: atualizaçãodo objetivos

BCI: predição deambientes futuros

BCI: estratégia deescolha de ações

Máquina deinferência

Page 36: Agentes Baseados em Conhecimento

Arquitetura alternativa

Am

bie

nte

Sensores

Atuadores

BCE: modelo dos ambientes

passados e atual

BCE: modelo de ambientes

futuros hipotéticos

BCE: Objetivos

BCI: interpretaçãodas percepções

BCI: atualização do modelo do ambiente

BCI: atualizaçãodo objetivos

BCI: predição deambientes futuros

BCI: estratégia deescolha de ações

Máquina deinferência 1

Máquina deinferência 2

Máquina deinferência 3

Máquina deinferência 4

Máquina deinferência 5

Page 37: Agentes Baseados em Conhecimento

Como se obtém conhecimento?

Durante desenvolvimento: Conhecimento em intencao e em extensao inicial

Manualmente via codificação direta Semi-automaticamente via interface de aquisição de conhecimento

Semi-automaticamente via aprendizagem de máquina (indução off-line)

Usando metodologias de engenharia de conhecimento

Durante execução: Conhecimento em extensao

Automaticamente via percepção, dedução, abdução ou analogia

Conhecimento em intencao Automaticamente via analogia ou indução on-line (agente aprendiz situado)

Page 38: Agentes Baseados em Conhecimento

Engenharia do conhecimento

MetodologiaMetodologia para desenvolver sistemas baseados em conhecimento e especialmente bases de conhecimento

Orientação a objetoOrientação a objeto (e também métodos formais) em:(e também métodos formais) em: Linguagens de modelagem, programação e representação do conhecimento

Favoreceu interseção e convergência entre engenharia de software e engenharia de conhecimento

Problemática comum:Problemática comum: Robustez, escalabilidade, estendibilidade, reusabilidade, desenvolvimento distribuído, elicitação do conhecimento de especialista do domínio leigo em informática

Desenvolvimento de uma base de conhecimento:Desenvolvimento de uma base de conhecimento: Geralmente em espiral com três níveis principais de captura de conhecimento

Nível do conhecimento, nível da formalização, nível da implementação

Page 39: Agentes Baseados em Conhecimento

Engenharia de uma base de conhecimento

Elicitação do conhecimento

Formalização do conhecimento

Implementação do conhecimento

Nível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc

Nível semi-formal:• Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML)• Validação com especialista

Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades)• Verificação de consistência

Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo

Page 40: Agentes Baseados em Conhecimento

Engenharia de uma base de conhecimento

Elicitação do conhecimento

Formalização do conhecimento

Implementação do conhecimento

Nível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc

Nível semi-formal:• Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML)• Validação com especialista

Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades)• Verificação de consistência

Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo

Page 41: Agentes Baseados em Conhecimento

Engenharia de uma base de conhecimento

Elicitação do conhecimento

Formalização do conhecimento

Implementação do conhecimento

Nível do conhecimentoNível do conhecimento:• Nos termos do especialista do domínio de aplicação• Linguagem natural, Notações gráficas ad-hoc

Nível semi-formal:• Notação textual estruturada padrão (XML) • Notação gráfica padrão (UML)• Validação com especialista

Nível formal:• Notação sem ambigüidade com semântica definida matematicamente (Lógica, Probabilidades)• Verificação de consistência

Nível da implementação:• Codificação em uma linguagem de programação• Teste de protótipo

• Entrevistas estruturadas com especialista• Preparação de dados

• Ontologias • Linguagens semi-formais derepresentação do conhecimento

• Linguagens formais derepresentação do conhecimento• Aprendizagem de Máquina

• Compiladores• Máquinas de inferências• Aprendizagem de Máquina

Page 42: Agentes Baseados em Conhecimento

Agente indutivo off-line: fase de treinamento

Base de Dados, Exemplos, Casos representativos do ambiente

fatos, objetosformulas lógicas instanciadas

Máquina de inferênciadedutiva e/ou abdutiva

Base de ConhecimentoIntencional (BCI):regras, classes, formulas lógicas

universalmente quantificadas

Máquina de inferênciaindutiva

Ask

Tell

Retract

Formaçãode Hipóteses

Verificaçãode Hipóteses

Ask

Tell

Retract

Ask

Ask

Page 43: Agentes Baseados em Conhecimento

Agente indutivo off-line: fase de utilização

Am

bie

nte

Sensores

Atuadores

Base de Conhecimento Extensional (BCE): fatos, objetos

formulas lógicas instanciadas

Máquina de inferênciadedutiva e/ou abdutiva

Base de Conhecimento Intencional (BCI)construída por induçãoconstruída por indução::

regras, classes, formulas lógicasuniversalmente quantificadas

Ask

AskTell Retract

Page 44: Agentes Baseados em Conhecimento

Agente indutivo situado

Base de ConhecimentoExtensional (BCE):

fatos, objetosformulas lógicas instanciadas

Máquina de inferênciadedutiva e/ou abdutiva

Base de ConhecimentoIntencional (BCI):regras, classes, formulas lógicas

universalmente quantificadas

Máquina de inferênciaindutiva

Ask

Tell

Retract

Formaçãode Hipóteses

Verificaçãode Hipóteses

Ask

Tell

Retract

Am

bie

nte

Sensores

Atuadores