Post on 07-Apr-2016
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?
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
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
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....
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
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
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))
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
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
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
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
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
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
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
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
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”
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
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
CIn- UFPE
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
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
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
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
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?