You are on page 1of 43

Agentes Baseados em Conhecimento

1
Plano de aula

! Agentes Baseados em Conhecimento (BC)


definio geral

! Tipos de conhecimento
! Como raciocinar?
! Linguagens de representao do conhecimento
! Arquitetura bsica e algoritmo do Agente BC
! Engenharia do Conhecimento
muito de leve...
O problema do capito West...

! West criminoso ou no?


A lei americana diz que proibido vender armas a
uma nao hostil. Cuba possui alguns msseis, e todos
eles foram vendidos pelo Capito West, que
americano

! Como voc resolveria este problema de


classificao?
Limitaes da resoluo de
problemas por Busca
! Agentes de Busca so muito eficientes na soluo de
problemas que podem ser formalizados por:
1. um estado inicial;
2. aes (operadores);
3. um conjunto de estados finais.

! Porm, no so capazes de resolver problemas que exigem


raciocnio baseado em conhecimento sobre o mundo:
porque seu modelo do mundo pobre e o raciocnio limitado
e.g., diagnstico mdico, controle aero-espacial, prova de teoremas,
sistemas especialistas em geral,...
mesmo em casos aparentemente solucionveis por busca
(planejamento), pode ser preciso adicionar conhecimento explcito
Como uma mquina poderia resolver
este problema?
! Segundo a IA simblica, necessrio
Identificar o conhecimento do domnio
Represent-lo em uma linguagem formal
Implementar um mecanismo de inferncia 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

! Questes-chave
Como adquirir esse conhecimento?
Como represent-lo adequadamente?
Como raciocinar com ele correta e eficientemente?
Solucionando o caso do cap. West (Linguagem Natural)
conhecimento prvio
A) odo americano que vende uma arma a uma nao hostil criminoso
B) Todo pas em guerra com uma nao X hostil a X
C) Todo pas inimigo poltico de uma nao X hostil a X
D) Todo mssil um arma
E) Toda bomba um arma
F) Cuba uma nao
G) USA uma nao

conhecimento
H) Cuba inimigo poltico dos USA

do problema
I) Ir inimigo poltico dos USA

J) West americano
K) Existem msseis em Cuba
L) Os msseis de Cuba foram vendidos por West
conhecimento

M) Cuba possui um mssel M1 - de K


N) M1 um mssil - de K
novo

O) M1 uma arma - de D e N
P) Cuba hostil aos USA - de F, G, H e C
Q) M1 foi vendido a Cuba por West - de L, M e N
R) West crimonoso - de A, J, O, P e Q
Agentes Baseados em Conhecimento
! So agentes que
conhecem seu mundo
raciocinam sobre suas possveis aes

! Sabem:
o estado atual do mundo (propriedades relevantes)
como o mundo evolui (regras)
como identificar estados desejveis do mundo (objetivos)
como avaliar o resultado das aes (simulao...)
conhecimento sobre conhecimento (meta-conhecimento)
etc.
Agentes Baseados em Conhecimento
! Possuem dois componentes principais (separados):
Base de Conhecimento
Mecanismo de Inferncia

! Base de Conhecimento (BC):


Contm sentenas em uma Linguagem de Representao de
Conhecimento tratvel pelo computador
representaes de regras e fatos
ex., x Mssil(x) Arma(x)

! Mecanismo (mquina) de Inferncia associado:


responsvel por inferir, a partir do conhecimento da BC, novos fatos
ou hipteses intermedirias/temporrias
ex., M1 uma arma
Agente Baseado em Conhecimento

Agente
Sensores
Ambiente

Base de Mquina de
Conhecimento Inferncia
Especializada Genrica

Atuadores
Conhecimento na Mquina

10
Conhecimento na Mquina

! Dados:
cadeias numricas ou alfanumricas que no possuem significado
associado
ex. 12, m1, west, 10.... ( ?)

! Informao:
dados organizados: significam alguma coisa para quem os recebe
ex. 01, 03, 04, 06, 07, 08, 10 (meses ???)

! Conhecimento:
Dado, informao ou abstrao formatados de maneira a permitir
raciocnio por um ser humano ou por uma mquina
Representa objetos (entidades) de algum domnio, com suas
propriedades e relaes
Conhecimento na Mquina
! Exemplos de conhecimento formatado
Classes e objetos
relao Arma - Mssil - m1
Frmula da lgica
InimigoPoltico(Cuba,USA)
Distribuio de probabilidade prvia e condicional de
variveis aleatrias
P(Cuba-usar-mssil-contra-USA |Cuba-tem-m1) = 0,3

! Basta saber isto?


No!
preciso saber como estruturar o conhecimento,
identificar sua natureza e para efetivamente saber
como us-lo....
Tipos de Conhecimento
Esttico x Dinmico
Em inteno x Em extenso
Declarativo x Procedimental
Do problema x Meta-conhecimento
Diagnstico x Causal
Dedutivo x Terminolgico
Sncrono x Diacrnico
Certo x Incerto
Preciso x Vago
De senso comum x Especialista
Explicito x Implcito
Conhecimento em Inteno x Extenso

! Conhecimento em inteno
Definio do conceito (ou ao), normalmente usando
regras, em termos de sua funo, estrutura, etc.
ex. X, cadeira(X) assento(X).
cadeira: serve para sentar, tem assento, ...
ex. X, tem-dengue(X) tem-dores(X) tem-febre(X).
quem tem dengue tem febre, dores, ...

! Conhecimento em extenso
Instncias do conceito
ex. cadeira 1, cadeira 21, cadeira 613, ....
ex. os sintomas de dengue de Joo, de Z, ...
Conhecimento Declarativo X Procedimental

! Conhecimento representado de modo:


Procedimental
fatos e seqncias de instrues para manipular
esses fatos
ex.: como desmontar uma bicicleta
Declarativo
representao descritiva dos fatos, relacionamentos
e regras
as partes de uma bicicleta e seus relacionamentos
o pai do pai o av
Conhecimento Esttico x Dinmico

! Conhecimento esttico:
Aquele que j existe na BC e no mudar
Hierarquia de conceitos (classes de fatos)
ex, X, gato(X) felino(X).
Restries de integridades
ex, X,Y estrela-dalva(X) vnus(Y) X = Y.
Regras de deduo sobre o domnio
ex, X,Y chefe(X,Y) empregado(Y,X)
Meta-regras para controle e explicao do raciocnio
ex. preferir ir para direita caso tenha mais de uma escolha
Conhecimento Esttico x Dinmico

! Conhecimento dinmico:
s existe durante a resoluo de uma instncia
particular do problema
descrio da instncia, hipteses atuais, fatos novos,...
Meta-conhecimento

! Conhecimento sobre o conhecimento disponvel:


Regras sobre como manipular as regras de
conhecimento que esto em uma base
como escolher aes
ataco ou negocio?
Ente duas aes conflitantes, escolha a de maior utilidade
G,H,T,A,B goal(G,T+1) goal(H,T+1) result(A,T,G,T
+1)
result(B,T,H,T+1) result(A,T,H,T) result(B,T,G,T)
utility(G,high) utility(H,low) do(A,T)
Categorias de Raciocnio

19
Categorias de Raciocnio
! Deduo
fatos + regras de inferncia => novos fatos
causa -> efeito
Se h fogo (causa), h fumaa (efeito). Aqui tem fogo, logo, aqui tem
fumaa (novo fato)
o nico tipo de inferncia que preserva a verdade (truth-
preserving)

! Abduo
inverso da deduo: do efeito para a causa
Se h fogo, h fumaa. Eu vi fumaa (efeito), logo aqui tem fogo (causa)
Ex. Se h febre e dor, a doena dengue
Este tipo de inferncia preserva a falsidade
Categorias de Raciocnio
! Induo
parte dos fatos para gerar regras
fato1 + fato2 + fato 3 => regra!
ex. Sr. Antnio, assim como D. Maria, tem dor de cabea
e dengue, ento todo mundo que tem dengue, tem dor
de cabea
Transforma conhecimento em extenso em
conhecimento em inteno!!
Categorias de Raciocnio

! Raciocnio Analgico
fatos + similaridades + regras de adaptao +...
a partir de fatos (conhecimento em extenso), a da
similaridade entre eles, resolve o problema sem gerar
regras
ex.: Naquele caso de dengue, eu passei aspirina e no deu
certo, logo vou evitar receitar aspirina neste caso semelhante
Raciocnio na Mquina

! Deduo e Abduo (via deduo)


usadas nos agentes baseados em conhecimento
declarativo
! Induo e Analogia
usadas na aprendizagem automtica
Raciocnio na Mquina

! Deduo: dois grandes grupos


Lgica e afins
Veremos mais sobre isso a seguir
Eg., Chegarei ao cinema s 20h

Tratamento de incerteza:
Probabilstico ou vago (fuzzy)
Provavelmente chegarei ao cinema s 20h
Eu garanto que chegarei cedo para a sesso das 20h
Como Representar Conhecimento
e Raciocinar?

Linguagens de Representao
do Conhecimento

25
Linguagens de Representao
do Conhecimento
! Uma Linguagem de Representao do
Conhecimento (LRC) definida por:
1) uma sintaxe, que descreve as configuraes que
podem constituir sentenas daquela linguagem
2) uma semntica, que liga cada sentena aos fatos do
mundo que ela representa
cada sentena faz uma afirmao a respeito do mundo
o Agente BC acredita nas sentenas armazenadas na sua base
de conhecimento

! Toda LRC deve ter um mecanismo de inferncia


associado => raciocnio
Representao & Raciocnio
! Raciocnio
processo de construo de novas sentenas a partir de sentenas
existentes

! Raciocnio plausvel (sound):


garante que as novas sentenas representam fatos que se seguem dos
fatos representados pelas sentenas existentes na BC.
implementa a relao de implicao entre sentenas
segue-se
fatos fatos
Mundo
semntica

semntica
Representao implica
sentenas sentenas
Linguagens de Representao
do Conhecimento
! Linguagens de programao:
so precisas, porm no so suficientemente
expressivas
! Linguagens naturais:
so muito expressivas, porm so ambguas
! Linguagens de representao de conhecimento:
utilizadas para expressar as sentenas das BC
existem 3 grandes classes:
linguagens (predominantemente) declarativas
linguagens procedimentais
linguagens hbridas
Linguagens de Representao
do Conhecimento
! Programao Declarativa: diz o que
representao descritiva dos fatos, relacionamentos e
regras
ex. as partes de uma bicicleta e seus relacionamentos
ex. o pai do pai o av

! Programao procedimental: diz como


fatos e seqncias de instrues para manipular esses
fatos
ex.: como desmontar uma bicicleta
Lgica e afins (LRC+MI)

Principais sistemas de
raciocnio declarativos/dedutivos

lgica regras objetos hbridos

Sistemas Redes Semnticas


Provadores de teorema Sistemas Frames
Sistemas de Lgica descritiva
Sistemas OO

Programao em lgica regras+objetos


Sistemas de produo lgica+objetos
Sistemas de manuteno da verdade lgica+objetos+funes
Solucionando o caso do cap. West (em LPO)
conhecimento prvio
A) x,y,z Americano(x) Arma(y) Nao(z) Hostil(z) Vende(x,z,y)

Criminoso(x)
B) x Guerra(x,USA) Hostil(x)
C) x InimigoPoltico(x,USA) Hostil(x)
D) x Mssil(x) Arma(x)
E) x Bomba(x) Arma(x)
F) Nao(Cuba)

conhecimento
G) Nao(USA)

do problema
H) InimigoPoltico(Cuba,USA)
I) InimigoPoltico(Ir,USA)

J) Americano(West)
K) x Possui(Cuba,x) Mssil(x)
L) x Possui(Cuba,x) Mssil(x) Vende(West, Cuba,x)
conhecimento

M) Possui(Cuba,M1) - Eliminao: quantificador existencial e


N) Mssil(M1) conjuno de K
novo

O) Arma(M1) - Modus Ponens a partir de D e N


P) Hostil(Cuba) - Modus Ponens a partir de C e H
Q) Vende(West,Cuba,M1) - Modus Ponens a partir de L, M e N
R) Criminoso(West) - Modus Ponens a partir de A, J, O, F, P e Q
Observaes sobre
Linguagem e Raciocnio
! Separao entre controle e conhecimento
Programao declarativa!
Seja l qual for a categoria do raciocnio, haver sempre
um motor geral que o implementar
A tarefa do engenheiro de IA apenas codificar
corretamente o conhecimento

! O par linguagem-raciocnio independente do tipo


de arquitetura de agente
Agente reativo => lgica, regras, funes, ....
Agente cognitivo => busca, lgica, regras, ...
Critrios para avaliao das LRC

! Expressividade
o que possvel dizer facilmente na linguagem?

! Inferncia disponvel
que tipo de inferncia possvel fazer na linguagem?

! Corretude
a inferncia plausvel? A semntica bem definida?
! Eficincia
a inferncia se realiza em um tempo razovel?
Critrios para avaliao das LRC

! Modularidade:
fcil identificar e reutilizar partes do conhecimento?

! Legibilidade:
fcil de ler e entender o que est escrito?

! Eficincia aquisicional:
fcil adicionar conhecimento?
Agente Baseado em Conhecimento

Arquitetura bsica e algoritmo

35
Agente Baseado em Conhecimento
(Dedutivo)

Sensores Raciocnio
Automtico

Ask
Ambiente

Base de Mquina de
Tell
Conhecimento Inferncia
Especializada Retract Genrica

Representao e
Efetuadores Aquisio de
Conhecimento
Implementando Raciocnio:
Lao 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))
Implementando Raciocnio:
Lao Principal do Agente

! Programa Agente Baseado em Conhecimento


t := 0 //contador de tempo
enquanto Agente-BC vivo, faa
Tell(BC, Percepes-Sentena(percepo,t))
ao <- Ask(BC, Pergunta-Ao(t))
Executa(ao)
Tell(BC, Ao-Sentena(ao,t))
t <- t + 1
Engenharia do Conhecimento

Muito de leve...

39
Engenharia do Conhecimento

! Engenharia do Conhecimento
estuda como construir uma boa Base de Conhecimento (BC)

1. Nvel do conhecimento: aquisio de conhecimento


conhecimento em estado puro - linguagem natural
e.g., txi automtico: a ponte Princesa Isabel liga a Rua da
Imperatriz Rua Nova

2. Nvel lgico: formalizao


conhecimento codificado em sentenas - linguagem formal
e.g. sentena lgica: liga(Ponte-PI,RI,RN)

3. Nvel de mquina: implementao


estrutura de dados representando as sentenas do nvel lgico
e.g., listas, tabelas, objetos, etc.
Ciclo de vida dos Sistemas Baseados em
Conhecimento
Nvel de
Conhecimento AQUISIO linguagem natural

linguagem de
Nvel Lgico FORMALIZAO representao de
conhecimento

Nvel de linguagens de
IMPLEMENTAO programao
Implementao

BC
REFINAMENTO
Como adquirir conhecimento?
A grande escolha
! Aprender
se existe conhecimento em extenso disponvel
mais rpido e simples
envolve vrias tcnicas
Redes neurais
Aprendizagem simblica
Algoritmos genticos
ex. categorizao de texto, recomendao de filmes, ...
! Explicitar ( mo): Engenharia de Conhecimento
se conhecimento pode ser facilmente explicitado ou no se tem
escolha
mais trabalhoso embora preciso
Vrias tcnicas...
Programao em lgica, sistemas de produo, ...
Sistemas Baseados em Conhecimento X
Agentes BC
! Sistemas baseados em conhecimento
Tm uma base de conhecimento e uma mquina de
inferncia associadas
Formalizam e implementam parte dos agentes

! Qual a diferena?
Agentes interagem com o ambiente onde esto
imersos atravs dos sensores e atuadores

You might also like