cin- ufpe 1 agentes baseados em conhecimento. cin- ufpe 2 de volta ao exemplo de west... west é...
TRANSCRIPT
CIn- UFPE
1
Agentes Baseados em Conhecimento
CIn- UFPE
2
De volta ao exemplo de West...
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ção• Implementar um mecanismo de inferência para utilizar esse
conhecimento
Solucionando o caso do cap. West (linguagem natural)
A) odo americano que vende uma arma a uma nação hostil é criminosoB) Todo país em guerra com uma nação X é hostil a XC) Todo país inimigo político de uma nação X é hostil a XD) Todo míssil é um armaE) Toda bomba é um armaF) Cuba é uma naçãoG) USA é uma naçãoH) Cuba é inimigo político dos USAI) Irã é inimigo político dos USA
conh
ecim
ento
pré
vio
J) West é americanoK) Existe um mísseis em cubaL) Os mísseis de cuba foram vendidos por West co
nhec
imen
to
do p
robl
ema
novo
co
nhec
imen
to
M) Cuba possui um míssel M1 - de KO) M1 é uma arma - de D e NP) Cuba é hostil aos USA - de F, G, H e CQ) M1 foi vendido a Cuba por West - de L, M e NR) West é crimonoso - de A, J, O, F, P e Q
CIn- UFPE
4
Questões levantadas pelo exemplo
Seria possível resolver esse problema com busca?
Por que?
CIn- UFPE
5Limitações da resolução de problemas por Busca
Agentes de Busca são muito eficientes na solução de problemas que podem ser formalizados por:• 1. um estado inicial;• 2. ações (operadores);• 3. um conjunto de estados finais.
Porém, não são capazes de resolver problemas que exigem raciocínio baseado em conhecimento sobre o mundo:• porque seu modelo do mundo é pobre e o raciocínio é limitado• e.g., diagnóstico médico, controle aero-espacial, prova de
teoremas, sistemas especialistas em geral,...• mesmo em casos aparentemente solucionáveis por busca
(planejamento), pode ser preciso adicionar conhecimento explícito
CIn- UFPE
6
Plano de aula
Agentes Baseados em Conhecimento (BC)• definição geral
Categorias de conhecimento e de raciocínio
Linguagens de representação de conhecimento
Mecanismos de raciocínio
Arquitetura e algoritmo básico do Agente BC (caso dedutivo)
Sistemas baseados em conhecimento
CIn- UFPE
7
Agentes Baseados em Conhecimento
São agentes que• conhecem seu mundo
– esse conhecimento está representado na Base de Conhecimento• raciocinam sobre suas possíveis ações
– com auxílio de uma Máquina de Inferência
Sabem:• o estado atual do mundo (propriedades relevantes)• como o mundo evolui• como identificar estados desejáveis do mundo• como avaliar o resultado das ações• conhecimento sobre conhecimento (meta-conhecimento)• etc.
CIn- UFPE
8
Esclarecendo... Dados:
• cadeias numéricas ou alfanuméricas que não possuem significado associado
• podem ser fatos ou figuras a processar
Informação:• dados organizados• significam alguma coisa para quem os recebe
Conhecimento:• representa objetos (entidades) de algum domínio, com suas
propriedades e relações
Meta-conhecimento:• conhecimento sobre o conhecimento disponível
– ex. regras sobre “como” manipular as regras sobre conhecimento que estão em uma base
CIn- UFPE
9
Categorias de Conhecimento
Procedimental:• fatos e seqüências de instruções para manipular esses fatos
– ex.: como desmontar uma bicicleta
Declarativo:• representação descritiva dos fatos, relacionamentos e regras
– as partes de uma bicicleta e seus relacionamentos – o pai do pai é o avô
Episódico:• fatos vividos, casos, exemplos...
– ex. D. Maria tem dor de cabeça e dengue
CIn- UFPE
10
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
11Agentes Baseados em Conhecimento (dedutivo)
Principais componentes:• Base de Conhecimento• Mecanismo de Inferência
Base de Conhecimento:• contém sentenças em uma Linguagem de Representação
de Conhecimento– representações de fatos e regras
• conhecimento em forma “tratável” pelo computador– ex. míssil é uma arma, M1 é um míssil
Mecanismo (máquina) de Inferência:• 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
12Agentes Baseados em Conhecimento Dedutivo: Arquitetura
sensoresAgente
efetuadores
a m
b i
e n
t e Base de ConhecimentoMáquina de Inferência (Raciocínio)
Mecanismo de Aprendizagem - opcional
Tell
TellAsk
Tell - - adiciona novas sentenças à BCAsk - consulta a BC
CIn- UFPE
13Implementando raciocínio (dedutivo): laço principal de TODO agente
Programa Agente Baseado em Conhecimento
t := 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
Sistemas baseados em conhecimento
Sistemas baseados em conhecimento• Têm uma base de conhecimento e uma máquina de
inferência associadas• Formalizam e implementam parte dos agentes
Qual a diferença?• Agentes interagem com o ambiente onde estão imersos
– através dos sensores e efetuadores
CIn- UFPE
15Ciclo 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 natural
linguagem de representação deconhecimento
linguagens de programação
CIn- UFPE
16
Engenharia do Conhecimento
Engenharia do Conhecimento• estuda como construir uma Base de Conhecimento (BC)
1. Nível do conhecimento: aquisição de conhecimento• conhecimento em “estado puro” - linguagem natural
– e.g., táxi automático: a ponte Princesa Isabel liga a Rua da Imperatriz à Rua Nova
2. Nível lógico: formalização• conhecimento codificado em sentenças - linguagem formal
– e.g. sentença lógica: liga(Ponte-PI,RI,RN)
3. Nível de máquina: implementação• estrutura de dados representando as sentenças do nível lógico
– e.g., listas, tabelas, objetos, etc.
CIn- UFPE
17Linguagens 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• estão entre as anteriores...• existem 3 grandes classes:
– linguagens (predominantemente) declarativas– linguagens procedimentais– linguagens híbridas
CIn- UFPE
18Tipos de Linguagens de Representação do Conhecimento
Linguagens procedimentais: dizem como• representam fatos (através de constantes ou variáveis
instanciadas) e seqüências de instruções para manipular esses fatos
• representação e implementação estão intrinsecamente ligados– ex. C, Pascal, Lisp, ...
Linguagens declarativas: dizem o que• representam fatos, seus relacionamentos e regras
(conhecimento puro)– esse conhecimento necessita ser processado por algum código!
• Linguagens Lógicas (ex. Lógica de primeira ordem)• Linguagens baseadas em Regras (ex. regras se-então)• Linguagens baseadas em Objetos (ex. frames, ontologias, etc.)
CIn- UFPE
19Tipos de Linguagens de Representação
do Conhecimento
Linguagens híbridas• objetos + regras• lógica + objetos • lógica + objetos + regras • etc...
CIn- UFPE
20Linguagens 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;– o agente acredita nas sentenças que correspondem a sua
configuração interna.
E geralmente ... • tem um mecanismo de inferência associado = raciocínio
CIn- UFPE
21
Representação & Raciocínio Raciocínio é um processo de construção de novas sentenças a
partir de sentenças existentes.
Raciocínio plausível (sound):• garante que as novas sentenças representam fatos que se seguem
dos fatos representados pelas sentenças existentes na BC.• implementa a relação de “implicação” entre sentenças
implicasentenças
Representação sem
ântic
a
sentenças
Mundofatos
sem
ântic
a
segue-sefatos
Solucionando o caso do cap. West (em LPO)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
23
Direções do raciocínio dedutivo
Raciocínio progressivo • dos dados à conclusão - data-driven inference • as regras da BC são usadas para gerar informação nova
(novos fatos) a partir de um conjunto inicial de dados• os fatos gerados passam a fazer parte da BC
– ex.: criminoso(West).
Raciocínio regressivo• da hipótese aos dados - goal-directed inference• usa as regras da BC para responder a perguntas• prova se uma asserção é verdadeira
– ex.: criminoso(West)?• só processa as regras relevantes para a pergunta (asserçã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
Tipologia de sistemas baseados em conhecimento (LRC+MI)
CIn- UFPE
25
Implementando Regras
Sistemas de Produção• Restringem a lógica mais do que a programação em lógica,
mas são mais eficientes
• Geralmente usam Encadeamento Progressivo.– Exemplos: OPS-5, CLIPS, SOLAR.
Linguagens de Programação Lógica
• Restringem a lógica, não permitindo o tratamento completo da negação, da disjunção e/ou da igualdade.
• Geralmente usam Encadeamento Regressivo.– Exemplos: Prolog, MRS, Life.
Sistemas de manutenção da verdade• Truth-maintenance systems (TMS)• Mantêm a base de conhecimento consistente.
CIn- UFPE
26
Implementando Objetos
Sistemas de Redes Semânticas• BC: nós (representando objetos) conectados por arcos
(representando a relação binária entre eles).– Exemplos: KRL, SNEPS, NETL, Conceptual Graphs.
Sistemas Frames• Consistem em uma hierarquia de frames (quadros) conectados
por atributos, onde os frames representam objetos do mundo e atributos usualmente a relação entre eles.
– Exemplos: KRIPTON, OWL, FRAIL, KODIAK.
Linguagens de classes• hierarquia de objetos encapsulando comportamento e estrutura
e com comunicação via envio de mensagens– Exemplos: Smalltalk, Lisp-CLOS, Java, ...
CIn- UFPE
27
Abordagem Híbrida
Sistemas híbridos• combina as vantagens de cada sistema e ainda mais
algumas de engenharia de software
Exemplos• eoops: objetos + regras (C++/Clips, Smalltalk/NéOpus,
Java/Jeops,...)• lógica + objetos (ObjLog),• lógica + objetos + funções (LIFE), etc...
CIn- UFPE
28
Critérios de avaliação de LRC
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 (sound)? 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?