Agentes Baseados em Conhecimento
Agentes Baseados em Conhecimento Agentes Baseados em Conhecimento
Agentes Baseados em Conhecimento 1
- Page 4 and 5: Limitações da resolução de prob
- Page 6 and 7: conhecimento prévio novo conhecime
- Page 9 and 10: Agente Baseado em Conhecimento Ambi
- Page 11 and 12: ! Dados: Conhecimento na Máquina
- Page 14 and 15: Conhecimento em Intenção x Extens
- Page 16 and 17: Conhecimento Estático x Dinâmico
- Page 19 and 20: Categorias de Raciocínio 19
- Page 21 and 22: ! Indução Categorias de Raciocín
- Page 23 and 24: Raciocínio na Máquina ! Dedução
- Page 25 and 26: Como Representar Conhecimento e Rac
- Page 28: Linguagens de Representação do Co
- Page 31: conhecimento prévio novo conhecime
- Page 34 and 35: Critérios para avaliação das LRC
- Page 36 and 37: Ambiente Agente Baseado em Conhecim
- Page 38 and 39: Implementando Raciocínio: Laço Pr
- Page 41 and 42: Ciclo de vida dos Sistemas Baseados
- Page 43: Sistemas Baseados em Conhecimento X
<strong>Agentes</strong> <strong>Baseados</strong> <strong>em</strong> <strong>Conhecimento</strong><br />
1
Limitações da resolução de<br />
probl<strong>em</strong>as por Busca<br />
! <strong>Agentes</strong> de Busca são muito eficientes na solução de<br />
probl<strong>em</strong>as que pod<strong>em</strong> ser formalizados por:<br />
1. um estado inicial;<br />
2. ações (operadores);<br />
3. um conjunto de estados finais.<br />
! Porém, não são capazes de resolver probl<strong>em</strong>as que exig<strong>em</strong><br />
raciocínio baseado <strong>em</strong> conhecimento sobre o mundo:<br />
porque seu modelo do mundo é pobre e o raciocínio é limitado<br />
e.g., diagnóstico médico, controle aero-espacial, prova de teor<strong>em</strong>as,<br />
sist<strong>em</strong>as especialistas <strong>em</strong> geral,...<br />
mesmo <strong>em</strong> casos aparent<strong>em</strong>ente solucionáveis por busca<br />
(planejamento), pode ser preciso adicionar conhecimento explícito
Como uma máquina poderia resolver<br />
este probl<strong>em</strong>a?<br />
! Segundo a IA simbólica, é necessário<br />
Identificar o conhecimento do domínio<br />
Representá-lo <strong>em</strong> uma linguag<strong>em</strong> formal<br />
Impl<strong>em</strong>entar um mecanismo de inferência para utilizá-lo<br />
! The Knowledge Principle (Lenat & Feigenbaum)<br />
“If a program is to perform a complex task well, it must<br />
know a great deal about the world in which it operates”<br />
! Questões-chave<br />
Como adquirir esse conhecimento?<br />
Como representá-lo adequadamente?<br />
Como raciocinar com ele correta e eficient<strong>em</strong>ente?
conhecimento prévio<br />
novo<br />
conhecimento<br />
Solucionando o caso do cap. West (Linguag<strong>em</strong> Natural)<br />
A) Τodo americano que vende uma arma a uma nação hostil é criminoso<br />
B) Todo país <strong>em</strong> guerra com uma nação X é hostil a X<br />
C) Todo país inimigo político de uma nação X é hostil a X<br />
D) Todo míssil é um arma<br />
E) Toda bomba é um arma<br />
F) Cuba é uma nação<br />
G) USA é uma nação<br />
H) Cuba é inimigo político dos USA<br />
I) Irã é inimigo político dos USA<br />
J) West é americano<br />
K) Exist<strong>em</strong> mísseis <strong>em</strong> Cuba<br />
L) Os mísseis de Cuba foram vendidos por West conhecimento<br />
M) Cuba possui um míssel M1 - de K<br />
N) M1 é um míssil - de K<br />
O) M1 é uma arma - de D e N<br />
P) Cuba é hostil aos USA - de F, G, H e C<br />
Q) M1 foi vendido a Cuba por West - de L, M e N<br />
R) West é crimonoso - de A, J, O, P e Q<br />
do probl<strong>em</strong>a
<strong>Agentes</strong> <strong>Baseados</strong> <strong>em</strong> <strong>Conhecimento</strong><br />
! São agentes que<br />
conhec<strong>em</strong> seu mundo<br />
raciocinam sobre suas possíveis ações<br />
! Sab<strong>em</strong>:<br />
o estado atual do mundo (propriedades relevantes)<br />
como o mundo evolui (regras)<br />
como identificar estados desejáveis do mundo (objetivos)<br />
como avaliar o resultado das ações (simulação...)<br />
conhecimento sobre conhecimento (meta-conhecimento)<br />
etc.
Agente Baseado <strong>em</strong> <strong>Conhecimento</strong><br />
Ambiente<br />
Sensores<br />
Atuadores<br />
Base de<br />
<strong>Conhecimento</strong><br />
Especializada<br />
Agente<br />
Máquina de<br />
Inferência<br />
Genérica
<strong>Conhecimento</strong> na Máquina<br />
10
! Dados:<br />
<strong>Conhecimento</strong> na Máquina<br />
cadeias numéricas ou alfanuméricas que não possu<strong>em</strong> significado<br />
associado<br />
ex. 12, m1, west, 10.... ( ?)<br />
! Informação:<br />
dados organizados: significam alguma coisa para qu<strong>em</strong> os recebe<br />
ex. 01, 03, 04, 06, 07, 08, 10 (meses ???)<br />
! <strong>Conhecimento</strong>:<br />
Dado, informação ou abstração formatados de maneira a permitir<br />
raciocínio por um ser humano ou por uma máquina<br />
Representa objetos (entidades) de algum domínio, com suas<br />
propriedades e relações
<strong>Conhecimento</strong> na Máquina<br />
! Ex<strong>em</strong>plos de conhecimento formatado<br />
Classes e objetos<br />
relação Arma - Míssil - m1<br />
Fórmula da lógica<br />
InimigoPolítico(Cuba,USA)<br />
Distribuição de probabilidade prévia e condicional de<br />
variáveis aleatórias<br />
P(Cuba-usar-míssil-contra-USA |Cuba-t<strong>em</strong>-m1) = 0,3<br />
! Basta saber isto?<br />
Não!<br />
É preciso saber como estruturar o conhecimento,<br />
identificar sua natureza e para efetivamente saber<br />
como usá-lo....
<strong>Conhecimento</strong> <strong>em</strong> Intenção x Extensão<br />
! <strong>Conhecimento</strong> <strong>em</strong> intenção<br />
Definição do conceito (ou ação), normalmente usando<br />
regras, <strong>em</strong> termos de sua função, estrutura, etc.<br />
ex. ∀ X, cadeira(X) ⇒ assento(X).<br />
cadeira: serve para sentar, t<strong>em</strong> assento, ...<br />
ex. ∀ X, t<strong>em</strong>-dengue(X) ⇒ t<strong>em</strong>-dores(X) ∧ t<strong>em</strong>-febre(X).<br />
qu<strong>em</strong> t<strong>em</strong> dengue t<strong>em</strong> febre, dores, ...<br />
! <strong>Conhecimento</strong> <strong>em</strong> extensão<br />
Instâncias do conceito<br />
ex. cadeira 1, cadeira 21, cadeira 613, ....<br />
ex. os sintomas de dengue de João, de Zé, ...
<strong>Conhecimento</strong> Declarativo X Procedimental<br />
! <strong>Conhecimento</strong> representado de modo:<br />
Procedimental<br />
fatos e seqüências de instruções para manipular<br />
esses fatos<br />
ex.: como desmontar uma bicicleta<br />
Declarativo<br />
representação descritiva dos fatos, relacionamentos<br />
e regras<br />
as partes de uma bicicleta e seus relacionamentos<br />
o pai do pai é o avô
<strong>Conhecimento</strong> Estático x Dinâmico<br />
! <strong>Conhecimento</strong> estático:<br />
Aquele que já existe na BC e não mudará<br />
Hierarquia de conceitos (classes de fatos)<br />
ex, ∀ X, gato(X) ⇒ felino(X).<br />
Restrições de integridades<br />
ex, ∀ X,Y estrela-dalva(X) ∧ vênus(Y) ⇒ X = Y.<br />
Regras de dedução sobre o domínio<br />
ex, ∀ X,Y chefe(X,Y) ⇔ <strong>em</strong>pregado(Y,X)<br />
Meta-regras para controle e explicação do raciocínio<br />
ex. preferir ir para direita caso tenha mais de uma escolha
<strong>Conhecimento</strong> Estático x Dinâmico<br />
! <strong>Conhecimento</strong> dinâmico:<br />
só existe durante a resolução de uma instância<br />
particular do probl<strong>em</strong>a<br />
descrição da instância, hipóteses atuais, fatos novos,...
Categorias de Raciocínio<br />
19
! Dedução<br />
Categorias de Raciocínio<br />
fatos + regras de inferência => novos fatos<br />
causa -> efeito<br />
Se há fogo (causa), há fumaça (efeito). Aqui t<strong>em</strong> fogo, logo, aqui t<strong>em</strong><br />
fumaça (novo fato)<br />
É o único tipo de inferência que preserva a verdade (truthpreserving)<br />
! Abdução<br />
inverso da dedução: do efeito para a causa<br />
Se há fogo, há fumaça. Eu vi fumaça (efeito), logo aqui t<strong>em</strong> fogo (causa)<br />
Ex. Se há febre e dor, a doença é dengue<br />
Este tipo de inferência preserva a falsidade
! Indução<br />
Categorias de Raciocínio<br />
parte dos fatos para gerar regras<br />
fato1 + fato2 + fato 3 => regra!<br />
ex. Sr. Antônio, assim como D. Maria, t<strong>em</strong> dor de cabeça<br />
e dengue, então todo mundo que t<strong>em</strong> dengue, t<strong>em</strong> dor<br />
de cabeça<br />
Transforma conhecimento <strong>em</strong> extensão <strong>em</strong><br />
conhecimento <strong>em</strong> intenção!!
Categorias de Raciocínio<br />
! Raciocínio Analógico<br />
fatos + similaridades + regras de adaptação +...<br />
a partir de fatos (conhecimento <strong>em</strong> extensão), a da<br />
similaridade entre eles, resolve o probl<strong>em</strong>a s<strong>em</strong> gerar<br />
regras<br />
ex.: Naquele caso de dengue, eu passei aspirina e não deu<br />
certo, logo vou evitar receitar aspirina neste caso s<strong>em</strong>elhante
Raciocínio na Máquina<br />
! Dedução e Abdução (via dedução)<br />
usadas nos agentes baseados <strong>em</strong> conhecimento<br />
declarativo<br />
! Indução e Analogia<br />
usadas na aprendizag<strong>em</strong> automática
Raciocínio na Máquina<br />
! Dedução: dois grandes grupos<br />
Lógica e afins<br />
Ver<strong>em</strong>os mais sobre isso a seguir<br />
Eg., Chegarei ao cin<strong>em</strong>a às 20h<br />
Tratamento de incerteza:<br />
Probabilístico ou vago (fuzzy)<br />
Provavelmente chegarei ao cin<strong>em</strong>a às 20h<br />
Eu garanto que chegarei cedo para a sessão das 20h
Como Representar <strong>Conhecimento</strong><br />
e Raciocinar?<br />
Linguagens de Representação<br />
do <strong>Conhecimento</strong><br />
25
Linguagens de Representação<br />
do <strong>Conhecimento</strong><br />
! Uma Linguag<strong>em</strong> de Representação do<br />
<strong>Conhecimento</strong> (LRC) é definida por:<br />
1) uma sintaxe, que descreve as configurações que<br />
pod<strong>em</strong> constituir sentenças daquela linguag<strong>em</strong><br />
2) uma s<strong>em</strong>ântica, que liga cada sentença aos fatos do<br />
mundo que ela representa<br />
cada sentença faz uma afirmação a respeito do mundo<br />
o Agente BC acredita nas sentenças armazenadas na sua base<br />
de conhecimento<br />
! Toda LRC deve ter um mecanismo de inferência<br />
associado => raciocínio
Linguagens de Representação<br />
do <strong>Conhecimento</strong><br />
! Linguagens de programação:<br />
são precisas, porém não são suficient<strong>em</strong>ente<br />
expressivas<br />
! Linguagens naturais:<br />
são muito expressivas, porém são ambíguas<br />
! Linguagens de representação de conhecimento:<br />
utilizadas para expressar as sentenças das BC<br />
exist<strong>em</strong> 3 grandes classes:<br />
linguagens (predominant<strong>em</strong>ente) declarativas<br />
linguagens procedimentais<br />
linguagens híbridas
Principais sist<strong>em</strong>as de<br />
raciocínio declarativos/dedutivos<br />
lógica regras<br />
objetos híbridos<br />
Provadores de teor<strong>em</strong>a<br />
Lógica e afins (LRC+MI)<br />
Programação <strong>em</strong> lógica<br />
Sist<strong>em</strong>as de produção<br />
Sist<strong>em</strong>as de manutenção da verdade<br />
Sist<strong>em</strong>as Redes S<strong>em</strong>ânticas<br />
Sist<strong>em</strong>as Frames<br />
Sist<strong>em</strong>as de Lógica descritiva<br />
Sist<strong>em</strong>as OO<br />
regras+objetos<br />
lógica+objetos<br />
lógica+objetos+funções
conhecimento prévio<br />
novo<br />
conhecimento<br />
Solucionando o caso do cap. West (<strong>em</strong> LPO)<br />
A) ∀ x,y,z Americano(x) ∧ Arma(y) ∧ Nação(z) ∧ Hostil(z) ∧ Vende(x,z,y)<br />
⇒ Criminoso(x)<br />
B) ∀ x Guerra(x,USA) ⇒ Hostil(x)<br />
C) ∀ x InimigoPolítico(x,USA) ⇒ Hostil(x)<br />
D) ∀ x Míssil(x) ⇒ Arma(x)<br />
E) ∀ x Bomba(x) ⇒ Arma(x)<br />
F) Nação(Cuba)<br />
G) Nação(USA)<br />
H) InimigoPolítico(Cuba,USA)<br />
I) InimigoPolítico(Irã,USA)<br />
J) Americano(West)<br />
K) ∃ x Possui(Cuba,x) ∧ Míssil(x)<br />
L) ∀ x Possui(Cuba,x) ∧ Míssil(x) ⇒ Vende(West, Cuba,x) conhecimento<br />
M) Possui(Cuba,M1) - Eliminação: quantificador existencial e<br />
N) Míssil(M1) conjunção de K<br />
O) Arma(M1) - Modus Ponens a partir de D e N<br />
P) Hostil(Cuba) - Modus Ponens a partir de C e H<br />
Q) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e N<br />
R) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q<br />
do probl<strong>em</strong>a
Critérios para avaliação das LRC<br />
! Expressividade<br />
o que é possível dizer facilmente na linguag<strong>em</strong>?<br />
! Inferência disponível<br />
que tipo de inferência é possível fazer na linguag<strong>em</strong>?<br />
! Corretude<br />
a inferência é plausível? A s<strong>em</strong>ântica é b<strong>em</strong> definida?<br />
! Eficiência<br />
a inferência se realiza <strong>em</strong> um t<strong>em</strong>po razoável?
Critérios para avaliação das LRC<br />
! Modularidade:<br />
é fácil identificar e reutilizar partes do conhecimento?<br />
! Legibilidade:<br />
é fácil de ler e entender o que está escrito?<br />
! Eficiência aquisicional:<br />
é fácil adicionar conhecimento?
Agente Baseado <strong>em</strong> <strong>Conhecimento</strong><br />
Arquitetura básica e algoritmo<br />
35
Ambiente<br />
Agente Baseado <strong>em</strong> <strong>Conhecimento</strong><br />
(Dedutivo)<br />
Sensores<br />
Efetuadores<br />
Base de<br />
<strong>Conhecimento</strong><br />
Especializada<br />
Ask<br />
Tell<br />
Retract<br />
Representação e<br />
Aquisição de<br />
<strong>Conhecimento</strong><br />
Raciocínio<br />
Automático<br />
Máquina de<br />
Inferência<br />
Genérica
Impl<strong>em</strong>entando Raciocínio:<br />
Laço Principal do Agente<br />
! ASK: pergunta coisas à base<br />
ex. ASK (BC, Criminoso(West)) ou<br />
ASK (BC, ∃x Criminoso (x)))<br />
! TELL: relata novos fatos à base<br />
ex. TELL (BC, Americano (West))<br />
! RETRACT: Elimina fatos da base<br />
ex. RETRACT (BC, Criminoso(Zezinho))
Impl<strong>em</strong>entando Raciocínio:<br />
Laço Principal do Agente<br />
! Programa Agente Baseado <strong>em</strong> <strong>Conhecimento</strong><br />
t := 0 //contador de t<strong>em</strong>po<br />
enquanto Agente-BC vivo, faça<br />
Tell(BC, Percepções-Sentença(percepção,t))<br />
ação
Engenharia do <strong>Conhecimento</strong><br />
Muito de leve...<br />
39
Ciclo de vida dos Sist<strong>em</strong>as <strong>Baseados</strong> <strong>em</strong><br />
Nível de<br />
<strong>Conhecimento</strong><br />
Nível Lógico<br />
Nível de<br />
Impl<strong>em</strong>entação<br />
<strong>Conhecimento</strong><br />
AQUISIÇÃO<br />
FORMALIZAÇÃO<br />
IMPLEMENTAÇÃO<br />
REFINAMENTO<br />
BC<br />
linguag<strong>em</strong> natural<br />
linguag<strong>em</strong> de<br />
representação de<br />
conhecimento<br />
linguagens de<br />
programação
! Aprender<br />
Como adquirir conhecimento?<br />
A grande escolha<br />
se existe conhecimento <strong>em</strong> extensão disponível<br />
mais rápido e simples<br />
envolve várias técnicas<br />
Redes neurais<br />
Aprendizag<strong>em</strong> simbólica<br />
Algoritmos genéticos<br />
ex. categorização de texto, recomendação de filmes, ...<br />
! Explicitar (à mão): Engenharia de <strong>Conhecimento</strong><br />
se conhecimento pode ser facilmente explicitado ou não se t<strong>em</strong><br />
escolha<br />
mais trabalhoso <strong>em</strong>bora preciso<br />
Várias técnicas...<br />
Programação <strong>em</strong> lógica, sist<strong>em</strong>as de produção, ...
Sist<strong>em</strong>as <strong>Baseados</strong> <strong>em</strong> <strong>Conhecimento</strong> X<br />
<strong>Agentes</strong> BC<br />
! Sist<strong>em</strong>as baseados <strong>em</strong> conhecimento<br />
Têm uma base de conhecimento e uma máquina de<br />
inferência associadas<br />
Formalizam e impl<strong>em</strong>entam parte dos agentes<br />
! Qual a diferença?<br />
<strong>Agentes</strong> interag<strong>em</strong> com o ambiente onde estão<br />
imersos através dos sensores e atuadores