Agentes Probabilistas Seminário da disciplina Métodos de Computação Inteligentes Hugo Pimentel...

Preview:

Citation preview

Agentes ProbabilistasSeminário da disciplina Métodos de Computação Inteligentes

Hugo Pimentel de Santana (hps@cin.ufpe.br)

2

Motivação

Agentes precisam lidar com incertezas Ambientes

Não determinísticos Parcialmente observáveis

Exemplo: Wumpus

Brisa(2,1) Brisa(1,2) Buraco(3,1) Buraco(2,2) Buraco(1,3)

1

2

3

4 12 3

4

OKBOK

BOK

?

?

?

2 43

3

Limitações da lógica para representar conhecimento incerto

Engajamento epistemológico: crença sobre fato do mundo representado como fórmula lógica

certamente verdadeira certamente falsa totalmente desconhecida

Incertezas representáveis apenas através da disjunçãoLimitações da disjunção:

Problema da qualificação: impossível na prática pensar em todos os casos possíveis

É trabalhoso demais modelar todos os casos, ou adquirir todos os dados

Existe apenas conhecimento observado empírico sem modelo causal

Crenças iguais sobre todas as alternativas de uma disjunção não há algumas mais plausíveis do que outras

4

Representando conhecimento incerto

Conhecimento provê um grau de confiança sobre aspectos do mundoTeoria da probabilidade

Pode expressar o grau de confiança do agente 1 representa a certeza absoluta da verdade 0 a certeza absoluta da falsidade Valores entre 0 e 1 representam a confiança do agente

A priori (incondicional) Antes de se obter evidências. Ex. P(Buraco(1,1)) = 0.2

A posteriori (condicional) Expressa o grau de confiança após alguma evidência

ter sido obtida. Ex. P(Buraco(1,1)|Brisa(1,2)) = ?

5

Probabilidade: Notação

Graus de confiança associados a proposições Representações de primeira ordem também podem ser utilizadas

Variáveis aleatórias associadas a literais da lógica proposicional extendidos com inequações numéricas:

Booleanas, correspondem a variáveis booleanas de CSP Carie: domínio <true, false>,

DorDeDente: domínio: <true, false> Carie = true carie, e Carie = false carie

Discretas, corresponde a variáveis de domínio finito de CSP Tempo: domínio <sol, chuva, nublado, neve> Tempo = sol

Contínuas, corresponde a variáveis reais de CSP X: domínio = [0,1] ou R X 1.24

Evento atômico: combinação de literais com conjunção e negação Especificação completa das variáveis do mundo Exemplo

carie dordedente Tempo = nublado

6

Probabilidade Incondicional (a priori)

Associada a uma proposição P(Carie = true) = 0.1 ou P(carie) = 0.1 P(Tempo = sol) = 0.7, P(Tempo = chuva) = 0.2,

P(Tempo = nublado) = 0.08, P(Tempo = neve) = 0.02

Distribuição de probabilidade P(Tempo) = <0.7, 0.2, 0.08, 0.02> P(Carie) = <0.1, 0.9>

Distribuição de probabilidade conjunta: P(Carie, DorDeDente, Tempo)

Indicada por uma tabela com 2 x 2 x 4 (16 entradas) Cada entrada representa um evento atômico

7

Probabilidade Condicional

Probabilidade, dado que o agente já possui alguma evidência

P(a|b) = probabilidade de a, dado que b é conhecido P(carie|dordedente) = 0.8

Se o paciente está com dor de dente, há 80% de chances dele estar com uma cárie

Regra do produto P(a b) = P(a|b)P(b) (regra do produto)

P(X|Y) representa os valores P(X=xi|Y=yj), i,j

8

Agente probabilista 1

Ask

Tell

Retract

Am

bie

nte

Sensores

Atuadores

Base deConhecimento

Probabilista

Máquina deInferência

Probabilista

Marginalização

Distribuição de probabilidade conjunta(intensão)

P(carie)

dorDeDente dorDeDente

catch catch catchcatc

h

carie 0.108 0.012 0.072 0.008

carie

0.016 0.064 0.144 0.576

DorDeDente = true

9

Resumo dos métodos utilizados por agentes probabilistas

DPC

Redução da complexidade na aquisição das probabilidades

RB comCPT

RB comnoisy-or

e det. nodes

Redução da complexidade da inferência (e da precisão)

DPC com marginalização

RB com inferência exata

RB Amo. D./ Rej. S.

RB Likelihood W.

RB MCMC

10

Marginalização

Probabilidade de uma proposição: soma dos valores da tabela de distribuição conjunta em que a proposição é verdadeP(Y) = z P(Y, z)

ex, P(Carie) = <0.108 + 0.012 + 0.072 + 0.008, 0.016 + 0.064 + 0.144 + 0.576>

= <0.2, 0.8>Como calcular a probabilidade de uma proposição dada alguma evidência? Ex: P(Carie|dorDeDente)

Pela regra do produto: P(carie|dorDeDente) = P(cariedorDeDente) / P(dorDeDente) P(carie|dorDeDente)=P(cariedorDeDente) / P(dorDeDente) 1/P(dorDeDente) é apenas uma constante de normalização (), logo basta calcular P(Carie, dorDeDente) utilizando

marginalização

11

Inferência probabilidades condicionais

P(X|e) = normalizar( P(X,e) ) = ( yP(X,e,y) )Exemplo:P(Carie|dordedente) =

( yP(Carie,dordedente, Y) ) = [P(Carie, dordedente, catch)

+ P(Carie, dordedente, catch)] = [<0.108,0.016> + <0.012,0.064>] = [<0.12,0.08>] =

<0.6, 0.4> ( = 5)

12

Problemas da inferência por marginalização

Complexidade exponencial No espaço

Para n variáveis (booleanas), a distribuição de probabilidade conjunta possui 2n entradas

No tempo No pior caso, a marginalização precisa somar todos os

elementos da tabela de distribuição conjunta

Não leva em conta independência entre variáveis

Como seria P(Carie, DorDeDente, Catch, Tempo) A tabela teria o tamanho da tabela anterior

multiplicado por 4

13

Independência entre variáveis

P(Carie|Tempo = nublado) = P(Carie) Se a e b são independentes

P(a|b) = P(a) e P(ab) = P(a)P(b)

Se temos 3 moedas, a distribuição conjunta P(C1,C2,C3) pode ser dado por P(C1), P(C2) e P(C3)

Reduz de 23 para 3 x 2 Pode-se ter também Independência Condicional

Duas variáveis podem ser independentes, dado o valor de uma terceira variável

Exemplo: Se eu sei o valor de Carie, DordeDente e Catch passam a ser independentes

Logo: P(dorDeDente catch | Carie) = P(dorDeDente| Carie) P(catch|Carie)

14

Redução da complexidade da distribuição conjunta

Distribuição conjunta: P(DorDeDente, Catch, Carie) =

(regra do produto) P(DorDeDente, Catch|Carie)P(Carie) =

(independência condicional) P(DorDeDente|Carie) P(Catch|Carie) P(Carie)

De 23-1 valores necessários para 2+2+1 Reduz de O(2n) para O(n)

De uma maneira geral (assumindo independência entre os efeitos, dada a causa)

P(Causa, Efeito1, Efeito2,...)=P(Causa)iP(Efeitoi|Causa)

15

Exemplo: Wumpus...

Sejam: Bij variável booleana que indica se a posição (i,j)

possui buraco Vij variável booleana que indica se a posição (i,j)

possui brisa (usaremos só V11, V12 e V21)

1

2

3

4 12 3

4

OKVOK

VOK

?

?

?

2 43

Tell(v11)Tell(v12)Tell(v21)

Ask( P(B13|BC) )Ask( P(B22|BC) ) Ask( P(B31|BC) )

16

Wumpus: Especificação da distribuição conjunta e inferência do melhor caminho

A DPC é dada por P(B11, B12, ..., B44, V11,V12,V21) P(B11, B12, ..., B44, V11,V12,V21) = (regra do prod.) P(V11,V12,V21|B11, B12, ..., B44)P(B11, B12, ..., B44)

Como P(Bij) = <0.2, 0.8>, e as probabilidades de P(Bij) são independetes

P(B11, B12, ..., B44) = 0.2nBuracos x 0.816-nBuracos

Sabe-se um algoritmo para calcular P(V11,V12,V21|B11, B12, ..., B44)

Para toda variável Bij, se Bij = true Para toda variável V, se V é adjacente a Bij e V = false, retorne 0

Retorne 1Com a DPC, a máquina de inferência pode responder a Ask( P(B13|BC) ) por marginalização

P(B13|BC) = P(B31|BC) = 31% P(B22|BC) = 86%

O agente deve seguir por (1,3) ou (3,1)

17

Redes Bayesianas para representação de conhecimento incerto

Rede bayesiana (sintaxe) Variáveis são representadas por nós O grafo formado não possui ciclos Se há uma seta de A para B, então A (pai)

possui uma influência diretadireta sobre B

DorDeDenteCatch

Cárie Tempo

18

Redes bayesianas e tabela de probabilidades condicionais

MariaLigar

Alarme

JoãoLigar

TerremotoLadrãoP(L).001

P(T).002

L T P(A)

t t .95

t f .94

f t .29

f f .001

A P(J)t .90

f .05

A P(M)t .70

f .05

19

Agente probabilista 2

Ask

Tell

Retract

Am

bie

nte

Sensores

Atuadores

Base deConhecimento

Probabilista

Máquina deInferência

Probabilista

Inferência exata ou aproximada

Rede Bayesiana(intensão) Subsídio Harvest

Custo

Compra

20

Resumo dos métodos utilizados por agentes probabilistas

DPC

Redução da complexidade na aquisição das probabilidades

RB comCPT

RB comnoisy-or

e det. nodes

Redução da complexidade da inferência (e da precisão)

DPC com marginalização

RB com inf. Exata

RB Amo. D./ Rej. S.

RB Likelihood W.

RB MCMC

21

Semântica das Redes bayesianas

Representa a distribuição conjunta P(x1, ..., xn) = i=1|nP(xi|parents(Xi)) Ex.

P(j m a l e) =P(j|a)P(m|a)P(a|l e)P(l)P(e) = 0.00062

Complexidade O(n2k) contra O(2n) da tabela de distribuição conjunta, onde k é o número máximo de pais por nó No exemplo do alarme, representa 10 valores

contra 25-1 (31) da representação pela tabela de DPC

22

Propriedades das redes bayesianas

Um nó é condicionalmente independente de todos os outros nós da rede, dado seus pais, filhos e pais dos filhos (markov blanket)

23

Propriedades das redes bayesianas

Um nó é condicionalmente independente dos não-descendentes, dado seus pais Ex. P(MariaLigar|

JoãoLigar,Alarme,Terremoto,Ladrão) = P(MariaLigar|Alarme)

24

Processo de construção de uma Rede Bayesiana

Conselhos: Se a influência entre dois nós é muito

pequena, não vale a pena incluir um link Adiciona complexidade na rede

desnecessariamente

A ordem em que os nós são incluídos é relevante Adicionar as causas principais primeiro

25

Construção de uma rede bayesiana

A ordem pode acarretar em: Mais arestas na representação Relacionamentos tênues, e difíceis de valorar (Ex. P(Terremoto|ladrão,

alarme)O segundo exemplo possui a mesma complexidade de especificar a DPC

26

Resumo dos métodos de inferência dos agentes probabilistas

DPC

Redução da complexidade na aquisição das probabilidades

RB comCPT

RB comnoisy-or

e det. nodes

Redução da complexidade da inferência (e da precisão)

DPC e marginalização

RB com inf. Exata

RB Amo. D./ Rej. S.

RB Likelihood W.

RB MCMC

27

Representações eficientes de distribuições condicionais

Nós determinísticos seu valor é uma função determinística dos

pais Ex. NorteAmericano = Canadense US Mexicano

Noisy-OR Permite especificar a distribuição em relação

aos pais se: Todas as influências(causas) estão listadas Há independência entre os fatores que fazem com

que a causa não provoque a conseqüência (inibidores)

28

Noisy-OR - Exemplo

P(febre|gripe, resfriado, malaria) = 0.6

P(febre|gripe, resfriado, malaria) = 0.2

P(febre|gripe, resfriado, malaria) = 0.1

Gripe Resfriado Malaria P(Febre) P(Febre)

F F F 0.0 1.0

F F T 0.9 0.1

F T F 0.8 0.2

F T T 0.98 0.02 = 0.2 x 0.1

T F F 0.4 0.6

T F T 0.94 0.06 = 0.6 x 0.1

T T F 0.88 0.12 = 0.6 x 0.2

T T T 0.988 0.6 x 0.2 x 0.1

29

Redes Bayesianas para variáveis contínuas

Duas possibilidades Discretizar os valores das variáveis aleatórias Especificar as funções de distribuição de probabilidade,

com número finito de parâmetros (linear gaussiana mais utilizada)

Rede Bayesiana híbrida Possui variáveis discretas e contínuas Exemplo:Subsídio e Compra, booleanas, Custo e Harvest

contínuasSubsídio Harvest

Custo

Compra

P(c|h, subsidio) = N(atrueh + btrue2)(c) =

P(c|h, subsidio) = N(afalseh + bfalse2)(c) =

2)(

2

1

2

1

f

ff bhae

f

e

2)(

2

1

2

1

t

tt bhae

t

e

30

Resumo dos métodos de inferência dos agentes probabilistas

DPC

Redução da complexidade na aquisição das probabilidades

RB comCPT

RB comnoisy-or

e det. nodes

Redução da complexidade da inferência (e da precisão)

DPC e marginalização

RB com inf. Exata

RB Amo. D./ Rej. S.

RB Likelihood W.

RB MCMC

31

Inferência exata em redes bayesianas

Como uma rede bayesiana representa a distribuição conjunta, o mesmo processo pode ser utilizadoP(L|j,m)= P(L,j,m) = taP(L,t,a,j,m) Para L = true:

P(l|j,m) = t a P(l)P(t)P(a|l,t)P(j|a)P(m|a)

Porém, mais eficiente: P(l|j,m) = P(l)tP(t)aP(a|l,t)P(j|a)P(m|a)

32

Árvore de expressões

P(m|a)

+

+

+

P(l)

P(t) P(t)

P(a|l,t) P(a|l,t)P(a|l,t)

P(j|a) P(j|a)

P(m|a)

P(a|l,t)

P(j|a) P(j|a)

P(m|a) P(m|a)

P(l|j,m) = P(l)tP(t)aP(a|l,t)P(j|a)P(m|a)

33

Eliminação de variáveis

Algoritmo para inferência exata Processa a árvore de expressões bottom-up,

armazenando os valores calculados Observação:

Todas as variáveis que não são ancestrais da variável de consulta ou das evidências podem ser removidas da inferência

P(J|l) = P(l)tP(t)aP(a|l,t)P(J|a)mP(m|a) Mas mP(m|a) é 1 por definição, logo pode ser

eliminado

34

Complexidade do algoritmo de eliminação de variáveis

Se a rede é uma polytree (no máximo um caminho entre dois nós)

linear no número de nós da rede

Em geral, tempo e espaço exponencial (#P-Hard)Algoritmos de clustering podem transformar redes em polytrees (continua exponencial no pior caso)

ChuvaAguador

Nublado

Molhado

Aguador + Chuva

Nublado

Molhado

35

Inferência aproximada em redes bayesianas

Inferência exata é intratável para redes grandes e muito conectadasInferência aproximada permite obter uma solução mais eficiente, porém aproximada A complexidade em tempo é dada pela

qualidade da solução

Escapa da NP-Completude, mas qualidade da solução diminuiBaseada nos algoritmos de Monte Carlo

36

Resumo dos métodos utilizados por agentes probabilistas

DPC

Redução da complexidade na aquisição das probabilidades

RB comCPT

RB comnoisy-or

e det. nodes

Redução da complexidade da inferência (e da precisão)

DPC e marginalização

RB com inf. Exata

RB Amo. D./ Rej. S.

RB Likelihood W.

RB MCMC

37

Amostragem direta

ChuvaAguador

Nublado

Molhado

Amostra de <0.5, 0.5>= true

Amostra de P(Aguador|Nublado = true)= false Amostra de

P(Chuva|Nublado = true)= true

Amostra de P(Molhado|Aguador = false, Chuva = true) = true

Evento atômico:[true, false, true, true]

38

Amostragem direta

limN[Namostras(x1,...,xn)/N] = P(x1,...,xn)

Quanto mais amostras, mais consistente a aproximação da DPCExemplo: Se em 1000 amostras, 511 delas tem Chuva

= true, P(chuva) = 0.511

Problema: como responder a consultas do tipo P(X|evidencia)?

Nublado

Chuva

Molhado

Aguador

39

Rejection Sampling

Calculando P(X|e) Gera-se várias amostras, descartando as que e não é

verdadeNamostras(X,e)/Namostras(e) =

[P(X,e) x N] / [P(e) x N] = P(X,e) / P(e) = P(X|e) = Namostras(X,e)

Ex. Calcular P(Chuva|Aguador = true) De 100 amostras, 73 tem Aguador = false e são rejeitadas Das 27, 8 tem Chuva = true e 19 não P(Chuva|Aguador = true) Normalizar(<8,19>) =

<0.296,0.704>Problema:

Se P(e) pequena, muitas amostras terão que ser rejeitadas até que se consiga uma estimativa consistente

Nublado

Chuva

Molhado

Aguador

40

Likelihood weighting

Só gera amostras consistentes com as evidências Associa um peso a cada amostra, que significa o quão

significativa é esta amostra P(x|e) yNws(x,y,e)w(x,y,e)

Fazendo amostra em P(Chuva|aguador, molhado): W = 1 Suponha que amostra de Nublado seja true Para Aguador=true: w = w x P(aguador|nublado) Amostra de Chuva em P(Chuva|nublado) é true Para Molhado=true: w = w x P(molhado|aguador, chuva)

[true, true, true, true] tem peso 0.099Problemas

Quanto mais evidências, pior a performance (mais amostras são necessárias), principalmente se as evidências estão no final da rede

Nublado

Chuva

Molhado

Aguador

41

Simulação por cadeias de Markov (Markov Chain Monte Carlo)

Gera resultados consistentes mais rapidamenteCada evento atômico é um estado Próximos estados são gerados amostrando

as variáveis (que não são evidências), condicionada aos valores do Markov Blanket

O próximo estado é formado pelo estado anterior, alterando apenas uma variável

Prova de que funciona: AIMA, 2nd edition, página 517

42

MCMC: Exemplo

Query: P(Chuva|Aguador = true, Molhado = true)

Nublado e Chuva são inicializados randômicamente com (true, false), evidências são mantidas

Estado inicial: [true,true, false, true] Nublado é amostrada segundo o seu Markov Blanket

de P(Nublado|Aguador = true, Chuva = false), gerando um novo estado: Ex. [false, true, false, true]

Chuva é amostrada segundo o seu Markov Blanket: P(Chuva|Nublado = false, Aguador = true, Molhado = true), gerando um novo estado [false, true, true, true]

A resposta a query é dada normalizando a quantidade de eventos atômicos em que Chuva = true e Chuva = false

Nublado

Chuva

Molhado

Aguador

43

Probabilidade e representações de primeira ordem

Redes Bayesianas são proposicionais Restringe seu uso em muitos domínios

Problema de estender para lógica de primeira ordem: Base de conhecimento precisaria especificar

as probabilidades para todos os modelos possíveis

Aplicações existentes: Relational Probability models

44

Relational Probability Models

Constantes, nomeando objetos de classes Ex: ProfSmith pertence a classe Professor, Jones pertence a classe

Estudante, Bloggs pertence a classe EstudanteFunções Simples: classes -> imagem finita

Ex: Inteligencia(Jones) = {alta, baixa}, Famoso(ProfSmith) = {true, false}

Funções Complexas: de classes em classes Ex: Orientador(Jones) = ProfSmith

Informação probabilística: especificar pais para as funções simples

x, x Estudante Parents(Sucesso(x)) = {Inteligencia(x), Famoso(Orientador(x))}

x, x Estudante P(Sucesso(x) = true| Inteligencia(x) = alta, Famoso(Orientador(x)) = true) = 0.95

Redes bayesianas podem ser criadas a partir de um RPM, em um processo semelhante ao da proposicionalização

45

Relational Probability Models

Professor

Student

Fame

Funding

Inteligence

Success

Advisor

Fame(ProfSmith)

Funding(ProfSmith)

Intelligence(Bloggs)

Success(Bloggs)

Intelligence(Jones)

Success(Jones)

46

Outras maneiras de lidar com incertezas

Default reasoning Conclusões são tratadas como verdadeiras, até que algum outro

fato leve a acreditar em outra coisaBaseados em regras

Adicionar um “fudge factor” a regras para acomodar incertezasTeoria de Dempster-Shafer

Probabilidade não trata ignorância Moeda: Se ela é honesta, P(Cara) = <0.5,0.5>, se ela for

desonesta mas desconhecida, P(Cara) = <0.5,0.5>Lógica Fuzzy

O que foi apresentado trata grau de certeza sobre existência de fatos que são verdadeiros ou falso.

Lógica Fuzzy:eventos podem ser +/- verdade

Recommended