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?
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?
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?
CIn- UFPE
5
O que é 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
CIn- UFPE
Como se traduz o Conhecimento da
Máquina?
7
 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....
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.
CIn- UFPE
9
Como o Conhecimento é usado?
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
CIn- UFPE
Agente baseado em conhecimento
(dedutivo)
11
Raciocínio
Automático
Sensores
Ambiente
Ask
Base de
Conhecimento
Especializada
Efetuadores
Tell
Retract
Máquina de
Inferência
Genérica
Representação e
Aquisição de
Conhecimento
CIn- UFPE
Implementando raciocínio:
laço principal do agente
12
 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))
CIn- UFPE
Implementando raciocínio:
laço principal do agente
13
 Programa Agente Baseado em Conhecimento
t := 0
//contador de tempo
enquanto Agente-BC vivo, faça
Tell(BC, Percepções-Sentença(percepção,t))
ação <- Ask(BC, Pergunta-Ação(t))
Executa(ação)
Tell(BC, Ação-Sentença(ação,t))
t <- t + 1
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,X1,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
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).
CIn- UFPE
16
Como adquirir o 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, ...
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).
CIn- UFPE
Ciclo de vida dos sistemas baseados em
conhecimento
Nível de
Conhecimento
Nível Lógico
19
linguagem natural
AQUISIÇÃO
ex. a ponte princesa Isabel liga
a rua da Imperatriz à rua Nova
FORMALIZAÇÃO
linguagem de
representação de
conhecimento
Ex. liga(Ponte-PI,RI,RN)
Nível de
Implementação
linguagens de
programação
IMPLEMENTAÇÃO
BC
REFINAMENTO
CIn- UFPE
20
Como representar conhecimento?
CIn- UFPE
21
Perguntinha...
 Como o conhecimento é representado nos agentes de
busca (resolução de problemas)?
 O que há de errado?
CIn- UFPE
22
Linguagens 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
CIn- UFPE
Linguagens de Representação do
Conhecimento
23
 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
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
fatos
segue-se
fatos
Mundo
Representação
sentenças
implica
sentenças
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).
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
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”
CIn- UFPE
novo
conhecimento
A) " x,y,z Zaco(x) Bila(y) Noia(z) Hesta(z) Vada(x,z,y)
 Creme(x)
Interpretação
B) " x Guru(x,USA) Hesta(x)
Zaco = Americano
C) " x Inp(x,USA) Hesta(x)
Bila
= Arma
D) " x Moca(x) Bila(x)
Noia = Nação
E) " x Bimba(x) Bila(x)
Hesta = Hostil
F) Noia(Cuba)
Vada = Vende
G) Noia(USA)
Creme = Criminoso
H) Inp(Cuba,USA)
Possa = Possui
I) Inp(Irã,USA)
Moca = Míssil
Bimba = Bomba
J) Zaco(West)
Inp
= InimigoPolítico
K) $ x Possa(Cuba,x) Moca(x)
L) " x Possa(Cuba,x) Moca(x)  Vada(West, Cuba,x)
M) Possa(Cuba,M1)
N) Moca(M1)
O) Bila(M1)
P) Hesta(Cuba)
Q) Vada(West,Cuba,M1)
R) Creme(West)
conhecimento
do problema
conhecimento prévio
Exemplo com lógica...
- Eliminação: quantificador existencial e
conjunção de K
- Modus Ponens a partir de D e N
- Modus Ponens a partir de C e H
- Modus Ponens a partir de L, M e N
- Modus Ponens a partir de A, J, O, F, P e Q
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)
novo
conhecimento
J) Americano(West)
K) $ x Possui(Cuba,x) Míssil(x)
L) " x Possui(Cuba,x) Míssil(x)  Vende(West, Cuba,x)
M) Possui(Cuba,M1)
N) Míssil(M1)
O) Arma(M1)
P) Hostil(Cuba)
Q) Vende(West,Cuba,M1)
R) Criminoso(West)
conhecimento
do problema
conhecimento prévio
Mesmo exemplo... mais inteligível (para nós)
- Eliminação: quantificador existencial e
conjunção de K
- Modus Ponens a partir de D e N
- Modus Ponens a partir de C e H
- Modus Ponens a partir de L, M e N
- Modus Ponens a partir de A, J, O, F, P e Q
30
Como raciocinar?
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
CIn- UFPE
Implementando raciocínio
Principais sistemas de
raciocínio declarativos/dedutivos
Linguagens de
Representação
lógica
Provadores de teorema
Sistemas
(implementação)
regras
objetos
híbridos
Sistemas Redes Semânticas
Sistemas Frames
Sistemas de Lógica descritiva
Sistemas OO
Programação em lógica
Sistemas de produção
Sistemas de manutenção da verdade
regras+objetos
lógica+objetos
lógica+objetos+
funções
Observações sobre linguagem e
raciocínio
33
 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
CIn- UFPE
Observações sobre linguagem e
raciocínio
34
 O par linguagem-raciocínio é independente do tipo de
arquitetura de agente
KRL & reasoning
• agente reativo => lógica, regras, funções, ....
• Agente cognitivo => busca, lógica, regras, planejamento,...
• Agnte otimizador => função utilidade,...
reativo
cognitivo
otimizador
Arquiteturas
CIn- UFPE
35
Quais são os critérios para escolher uma
linguagem de representação de
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?
CIn- UFPE
Download

Conhecimento