Hugo Pimentel de Santana

Slides:



Advertisements
Apresentações semelhantes
Exercícios Resolvidos
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Lógica de Predicados e Representação de Conhecimento
Programação em Java Prof. Maurício Braga
Inteligência Artificial
Amintas engenharia.
Sistemas Periciais com Conhecimento Incerto 1 Sistemas Periciais Tradicionais Funcionam assumindo que tudo é Verdadeiro ou Falso Qualquer regra cujas condições.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Sumário, aula 9 Elasticidade Elasticidade arco Elasticidade no ponto
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Excel Profa. Cristina M. Nunes.
Resolução.
Inteligência Artificial
Inteligência Artificial
Inteligência Artificial
Análise de regressão linear simples: abordagem matricial
Estatística Aula 15 Prof. Marllus Gustavo Ferreira Passos das Neves
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Árvores.
EXPRESSÕES ARITMÉTICAS
Estatística 8 - Distribuições Amostrais
5. MODELAGEM: PLANTAS E PROCESSOS - 1
Polinômios Prof. Marlon.
FUNÇÃO MODULAR.
Incerteza Capítulo 13 IA - Mestrado FEI.
Redes Bayesianas Cap 14 Seções 1 – 3 FEI - Mestrado - IA.
Estatística Aplicada (Aula 4)
INF 1771 – Inteligência Artificial
Provas de Concursos Anteriores
PROGRESSÕES JUDITE GOMES
INF 1771 – Inteligência Artificial
Como aplicar leis da lógica
ESTATÍSTICA.
Aprendizado de Máquina Aula 8
Árvores binárias de pesquisa com balanceamento
Variáveis aleatórias Uma variável aleatória, X, é uma função que associa um valor numérico aos possíveis resultados de um experimento probabilístico.
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Exponential Random Graph Models
Coordenação Geral de Ensino da Faculdade
Quais são, suas médias, medianas e modas?
Análise Fatorial Factor analysis.
Erros e variáveis aleatórias
Modelagem Estatística
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Introdução e Busca Cega
Hugo Pimentel de Santana
Técnicas de Modelagem para Aplicações em Computação Gráfica
Redes Bayesianas – Inferência
Técnicas de amostragem
Projeto de Banco de Dados
Conceitos básicos em grafos
Computação Gráfica Aula 3 Transformações Geométricas
Sistemas Inteligentes
Uma Abordagem Híbrida Fuzzy-Bayesiana para Modelagem de Incertezas
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
ANÁLISE ESTATÍSTICA II
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Olhe fixamente para a Bruxa Nariguda
Resolução de sistemas de equações lineares
Inferência Estatística
NOÇÕES DE PROBABILIDADE
BCC101 Matemática Discreta I
Matemática Discreta 1 – MD 1
Introdução à Teoria das Probabilidades
Aula 11 - Teste de hipóteses, teste de uma proporção
Técnicas de Localização para Robôs em Ambientes Internos Claudia Patricia Ochoa Díaz Mestrado em Sistemas Mecatrônicos UnB
Transcrição da apresentação:

Hugo Pimentel de Santana (hps@cin.ufpe.br) Agentes Probabilistas Seminário da disciplina Métodos de Computação Inteligentes e Agentes Inteligentes Hugo Pimentel de Santana (hps@cin.ufpe.br) Alexis, Je fait ce que j’ai pu car je ne suis pas chez moi et mon accès à Internet est si mauvais que je ai eu bcp de mal à faire le download de article original qui est dans http://www.cin.ufpe.br/~glr/tmp/mabs-pour-alexis.doc L’autre article, celui que ous avons envoyé au Canada et qui explique mieux les paramètres de définition des architectures d’agents est dans http://www.cin.ufpe.br/~glr/tmp/aicg-pour-alexis.doc Bonne chance

Motivação Agentes precisam lidar com incertezas Ambientes Não determinísticos Parcialmente observáveis Exemplo: Wumpus 1 2 3 4 OK B ? Brisa(2,1)  Brisa(1,2)  Buraco(3,1)  Buraco(2,2)  Buraco(1,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ção Limitaçõ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 caso, 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

Representando conhecimento incerto Conhecimento provê apenas um grau de confiança sobre aspectos do mundo Teoria 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)) = ?

Probabilidade: Notação Graus de confiança associados a proposições LPO também pode ser utilizada 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

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

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

Agente probabilista 1 Ambiente Sensores Máquina de Inferência Base de Distribuição de probabilidade conjunta (intensão) dorDeDente dorDeDente catch catch carie 0.108 0.012 0.072 0.008 carie 0.016 0.064 0.144 0.576 Ambiente Sensores P(carie) Ask Máquina de Inferência Probabilista Base de Conhecimento Probabilista Tell Retract Atuadores DorDeDente = true Marginalização

Marginalização Probabilidade de uma proposição: soma dos valores da tabela de distribuição conjunta em que a proposição é verdade P(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(cariedorDeDente) / P(dorDeDente) P(carie|dorDeDente)=P(cariedorDeDente) / P(dorDeDente) 1/P(dorDeDente) é apenas uma constante de normalização (), logo basta calcular P(Carie, dorDeDente) utilizando marginalização

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)

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

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(ab) = 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)

Redução da complexidade da 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)

Exemplo: Wumpus... Sejam: Tell(b11) Tell(b12) Tell(b21) Cij variável booleana que indica se a posição (i,j) possui buraco Bij variável booleana que indica se a posição (i,j) possui brisa (usaremos só B11, B12 e B21) Tell(b11) Tell(b12) Tell(b21) Ask( P(C13|BC) ) Ask( P(C22|BC) ) Ask( P(C31|BC) ) 1 2 3 4 OK B ?

Wumpus: Especificação da distribuição conjunta e inferência do melhor caminho A DPC é dada por P(C11, C12, ..., C44, B11,B12,B21) P(C11, C12, ..., C44, B11,B12,B21) = (regra do prod.) P(B11,B12,B21|C11, C12, ..., C44)P(C11, C12, ..., C44) Como P(Cij) = <0.2, 0.8>, e as probabilidades de P(Cij) são independetes P(C11, C12, ..., C44) = 0.2nBuracos x 0.816-nBuracos Sabe-se um algoritmo para calcular P(B11,B12,B21|C11, C12, ..., C44) Para toda variável Cij, se Cij = true Para toda variável B, se B é adjacente a Cij e B = false, retorne 0 Retorne 1 Com a DPC, a máquina de inferência pode responder a Ask( P(C13|BC) ) por marginalização P(C13|b,c) = P(C31|b,c) = 31% P(C22|b,c) = 86% O agente deve seguir por (1,3) ou (3,1)

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 direta sobre B Cárie Tempo Catch DorDeDente

Redes bayesianas e tabela de probabilidades condicionais P(T) .002 P(L) .001 Ladrão Terremoto L T P(A) t .95 f .94 .29 .001 Alarme A P(M) t .70 f .05 JoãoLigar A P(J) t .90 f .05 MariaLigar

Inferência exata ou aproximada Agente probabilista 2 Rede Bayesiana (intensão) Ambiente Subsídio Harvest Custo Compra Sensores Ask Máquina de Inferência Probabilista Base de Conhecimento Probabilista Tell Retract Atuadores Inferência exata ou aproximada

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

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)

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)

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)

Noisy-OR - Exemplo P(febre|gripe, resfriado, malaria) = 0.6 0.0 1.0 T 0.9 0.1 0.8 0.2 0.98 0.02 = 0.2 x 0.1 0.4 0.6 0.94 0.06 = 0.6 x 0.1 0.88 0.12 = 0.6 x 0.2 0.988 0.6 x 0.2 x 0.1

Resumo da ópera Redução da complexidade e precisão inferência probabilista RB com TPC RB com DPC Redução da complexidade da aquisição das probabilidades

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, Rede Bayesiana híbrida Possui variáveis discretas e contínuas Exemplo:Subsídio e Compra, booleanas, Custo e Harvest contínuas P(c|h, subsidio) = N(atrueh + btrue2)(c) = distribuição P(c|h, subsidio) = N(afalseh + bfalse2)(c) = distribuição Onde, a e b são parâmetros da distribuição Subsídio Harvest Custo Compra

Inferência exata em redes bayesianas Como uma rede bayesiana representa a distribuição conjunta, o mesmo processo pode ser utilizado P(L|j,m)= P(L,j,m) = taP(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)

Árvore de expressões + + + P(l) P(t) P(t) P(a|l,t) P(a|l,t) P(j|a) P(j|a) P(j|a) P(j|a) P(m|a) P(m|a) P(m|a) P(m|a)

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

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) Nublado Nublado Aguador Chuva Aguador + Chuva Molhado Molhado

Processo de construção de uma Rede Bayesiana

Inferência aproximada em redes bayesianas Inferência exata é intratável para redes grandes e muito conectadas Inferê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 diminui Baseada nos algoritmos de Monte Carlo

Amostragem direta Evento atômico: [true, false, true, true] Nublado Amostra de <0.5, 0.5> = true Amostra de P(Aguador|Nublado = true) = false Aguador Chuva Amostra de P(Chuva|Nublado = true) = true Molhado Amostra de P(Molhado|Aguador = false, Chuva = true) = true Evento atômico: [true, false, true, true]

Nublado Chuva Molhado Aguador

Amostragem direta limN[Namostras(x1,...,xn)/N] = P(x1,...,xn) Nublado Chuva Molhado Aguador Amostragem direta limN[Namostras(x1,...,xn)/N] = P(x1,...,xn) Quanto mais amostras, mais consistente a aproximação da DPC Exemplo: Se em 1000 amostras, 511 delas tem Chuva = true, P(chuva) = 0.511 Problema: como responder a consultas do tipo P(X|evidencia)?

Rejection Sampling Calculando P(X|e) Namostras(X,e)/Namostras(e) = Gera-se várias amostras, descartando as que e não é verdade Namostras(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

Likelihood weighting Só gera amostras consistentes com as evidências Nublado Chuva Molhado Aguador Likelihood weighting Só gera amostras consistentes com as evidências Associa um peso a cada amostra, que significa o quanto aquela amostra é significativa 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.099 Problemas Quanto mais evidências, pior a performance (mais amostras são necessárias), principalmente se as evidências estão no final da rede

Simulação por cadeias de Markov (Markov Chain Monte Carlo) Gera resultados consistentes mais rapidamente Cada 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

MCMC: Exemplo Query: P(Chuva|Aguador = true, Molhado = true) Nublado Chuva Molhado Aguador 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

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 Impraticável Implementar Especificar estas distribuições Possível solução: Relational Probability models

Relational Probability Models Constantes, nomeando objetos de classes Ex: ProfSmith pertence a classe Professor, Jones pertence a classe Estudante Funções Simples: classes x 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

Relational Probability Models Figs. RPM

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 coisa Baseados em regras Adicionar um “fudge factor” a regras para acomodar incertezas Teoria 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: vagueness – eventos podem ser +/- verdade

Axiomas da probabilidade Axiomas de Kolmogorov 0  P(a)  1 P(true) = 1, P(false) = 0 P(a b) = P(a) + P(b) – P(a  b) Todo o resto da teoria da probabilidade pode ser obtido a partir destes Exemplo P(Tempo = sol) + P(Tempo = chuva) + P(Tempo = nublado) + P(Tempo = neve) = 1

Regra de Bayes P(Y|X) = P(X|Y)P(Y) / P(X) Permite transformar conhecimento causal em diagnóstico e vice-versa Exemplo: Qual a probabilidade de um paciente estar com meningite (m), dado que ele está com uma dor no pescoço (d) P(d | m) = 0.5 P(m) = 1/50000 P(d) = 1/20 P(m|d) = P(d|m)P(m)/P(d) = 0.0002