440 likes | 562 Views
Agentes Baseados em Utilidade. Métodos da Computação Inteligente Universidade Federal de Pernambuco Aluno: Rodrigo Barros de Vasconcelos Lima. Parte I: Decisões Simples. “Como um agente deve tomar decisões de modo que, em média, ele consiga o que quer”. Função de Utilidade.
E N D
Agentes Baseados em Utilidade Métodos da Computação Inteligente Universidade Federal de Pernambuco Aluno: Rodrigo Barros de Vasconcelos Lima
Parte I: Decisões Simples “Como um agente deve tomar decisões de modo que, em média, ele consiga o que quer”
Função de Utilidade • Funções de Utilidade associam um valor a um estado; • Indica o “desejo” por estar nesse estado; • Resulti(A): todos os possíveis estados de saída de uma ação em um ambiente não-determinista A; • Para cada saída possível é associado uma probabilidade: • P (Resulti(A) | Do(A), E) • Onde, E resume a evidência que o agente possuí do mundo Do(A) indica que a ação A foi executada no estado atual • Utilidade esperada de uma ação A dado a evidência do mundo E: EU(A|E) = i P(Resulti(A)|Do(A),E) U (Resulti(A)) • Problemas: • P, Result nem sempre disponíveis • Cálculo de EU pode ser de custo computacional proibitivo
Preferências Racionais • Preferências racionais permitem descrever o melhor comportamento como aquele que maximiza EU; • Notação: • A B: A é preferível a B • A ~ B: agente indiferente entre A e B • A B: agente prefere A à B ou é indiferente • Em ambientes não deterministas: • A e B são loterias, i.e., distribuições probabilísticas sobre um conjunto de estados de saída (os “prêmios” de uma loteria) L = {p1.S1; p2. S2; ...; pn.Sn} • Preferências de um agente com relação aos estados do mundo; • Ambiente determinista: função valor V: Estados(ambiente) N • Ambiente não determinista: função de utilidadeU: Estados(ambiente) R
Axiomas da Teoria da Utilidade: Orderabilidade: (A > B) ( B > A) (A ~ B) Transitividade: (A > B) (B > C) (A > C) Continuidade: A > B > C p [p.A; 1 - p.C] ~ B Substitutability: A ~ B [p.A; 1 – p.C] ~ [p.B; 1 – p.C] Monoticidade: A > B ( p q [p.A; 1 – p.B] [q.A; 1 – q.B] ) Decomposabilidade: [p.A; 1 – p. [q.B; 1 – q.C] ] ~ [p.A; (1 – p)q.B; (1 – p)(1 – q). C] Preferências que satisfação os axiomas garantem a existência de uma função real U, tal que: U(A) > U(B) A > B U(A) = U(B) A ~ B U (p1.S1; ... ; pn.Sn) = i pi U(Si) Restrições Sobre Preferências Racionais
Restrições Sobre Preferências Racionais • Violação das restrições levam a comportamentos irracionais; • Exemplo: agente com preferências não transitivas pode ser induzido a dar todo o seu dinheiro: • Se B > C, então um agente que possuí C pagaria 1 centavo para obter B • Se A > B, então um agente que possuí B pagaria 1 centavo para obter A • Se C > A, então um agente que possuí A pagaria 1 centavo para obter C
Processo para Estimar Utilidades • Criar uma escala com o “melhor premio possível” (U(S) = uT) e a “pior catástrofe possível” (U(S) = u); • Utilidades normalizadas: uT = 1 e u= 0 • Para estimar utilidade de saídas intermediárias: • Uma saída intermediária S é confrontada com uma loteria padrão [p. uT;(1-p). u]; • Probabilidade p ajustada até o agente ser indiferente entre S e a loteria padrão; • Assumindo utilidades normalizadas utilidade S é dada por p;
Exemplo: A Utilidade do Dinheiro • Um jogador ganhou um prêmio de R$ 1.000.000 em um programa de TV; • Apresentador oferece uma aposta: • Se ele jogar a moeda e aparecer cara jogador perde tudo; • Se aparecer coroa jogador ganha R$ 3.000.000; • O Valor Monetário Esperado da aposta é: • 0.5 (R$ 0) + 0.5 (R$ 3.000.000) = $ 1.500.000; • O Valor Monetário Esperado de recusar a aposta é de R$ 1.000.000 (menor); • Isso indica que seria melhor aceitar a aposta ?
Exemplo: A Utilidade do Dinheiro • Utilidade Esperada para cada uma das duas ações: • EU (Aceitar) = 0.5 U(Sk) + 0.5 U(Sk+3.000.000) • EU (Rejeitar) = U(Sk+1.000.000) • Onde, Sk = riqueza atual do jogador; • Deve-se atribuir valores de utilidade para cada saída: • Sk = 5; • Sk+3.000.000 = 10; • Sk+1.000.000 = 8 • Ação racional: rejeitar ! • Conclusão: Utilidade não é diretamente proporcional ao valor monetário; • Utilidade (mudança no estilo de vida) para o primeiro R$ 1.000.000 é muito alta;
Funções de Utilidade Multi-Atributo • Como tratar funções de utilidades com várias variáveis X1, ..., Xn ? • Ex.: Construir aeroporto - U(Mortes, Barulho, Custo) • Existem basicamente dois casos: • Decisões podem ser tomadas sem combinar os valores dos atributos em um único valor da utilidade (Dominância); • A utilidade resultante da combinação dos valores dos atributos pode ser especificada concisamente (Estrutura de Preferência e Utilidade Multi-atributo);
Dominância Total • Se um estado S1 possui valores melhores em todos seus atributos do que S2, então existe uma dominância total de S1 sobre S2; • i Xi(B) Xi(A) (e portanto U(B) U(A)) • Ex.: Local S1 para Aeroporto custa menos, gera menos poluição sonora e é mais seguro que S2; • Dominância total raramente acontece na prática;
P S1 S2 $ - 2,8 -5.2 Dominância Estocástica • Exemplo, custo de construir aeroporto : • Em S1 valor uniformemente distribuído entre $2,8 e $4,8 bilhões; • Em S2 valor uniformemente distribuído entre $3 e $5,2 bilhões; • Dada a informação que utilidade decresce com custo: • S1 domina estocasticamente S2
P 1 S1 S2 $ -5.2 - 4,8 Dominância Estocástica • Se duas ações A1 e A2 possuem uma distribuição de probabilidade p1(x) e p2(x) para X, então A1 possui dominância estocástica em X sobre A2 se: x p1(x’) dx’ p2(x’) dx’ • Na prática, dominância estocástica pode geralmente ser definida usando apenas um raciocínio qualitativo; • Ex.: custo de construção aumenta com a distância para a cidade: • S1 é mais próximo da cidade do que S2 S1 domina S2 estocasticamente sobre o custo
Estrutura de Preferência e Utilidade Multi-Atributo • Supondo que existem n atributos com d possíveis valores: • No pior caso, serão necessários dn valores; • A Teoria da Utilidade Multi-atributo assume que preferências de agentes possuem certa regularidade (estrutura); • Tenta mostrar que a Utilidade de um agente possui uma função de utilidade do tipo: U(x1 ... Xn) = f[ f1(x1) ..... F2(x2) ] Onde f seja uma função o mais simples possível
Estrutura de Preferência: Determinista • X1 e X2 são preferencialmente independente de X3 sss: • Preferência entre {x1, x2, x3} e {x1’, x2’, x3} não depende em x3 • Ex.: {barulho, custo, segurança} {20.000 sofrem; $4,6 bilhões; 0,06 mortes/mhm} vs. {70.000 sofrem; $4,2 bilhões; 0,06 mortes/mhm} • Independência preferencial mútua (MPI): todos os pares de atributos são preferencialmente independente com relação aos demais; • Com MPI, o comportamento preferencial do agente pode ser descrito como uma maximização da função: • V (x1 ... xn) = i Vi(xi)
Estrutura de Preferência: Estocástica • Deve-se levar em consideração preferências sobre loterias; • X é independente de utilidade com relação a Y sss: • Preferências sobre loterias em X não dependem dos valores dos atributos de Y • Independência de utilidade mútua (MUI): conjunto de atributos é independente de utilidade dos atributos restantes; • Existe MUI então, comportamento do agente pode ser descrito usando a função: U = k1U1 + k2U2 + k3U3 + k1 k2U1U2 + k2 k3U2U3 + k3 k1U3U1 + k1 k2k3U1U2U3
Redes de Decisões • Extende Redes Bayesianas com ações e utilidades; • Nós de Chance (ovais): representam variáveis como nas redes Bayesianas; • Nós de Decisão (retângulo): pontos onde agente deve escolher uma ação; • Nós de Utilidade (diamantes): representam as funções de utilidade do agente; • Algoritmo de avaliação: • Atribuir os valores das variáveis para o estado corrente; • Calcular o valor esperado do nó de utilidade dado a ação e os valores das variáveis; • Retornar a ação com maior Utilidade Máxima Esperada
Teoria do Valor da Informação • A Teoria do Valor da Informação permite que o agente escolha quais informações adquirir; • Exemplo: comprar os direitos de exploração de reservas de petróleo: • Dois blocos A e B, apenas um possui óleo com valor C; • Probabilidade de comprar o bloco certo = 0,5 • O preço de cada bloco é C/2; • Consultor oferece uma pesquisa para detectar qual bloco possui petróleo. Qual o valor dessa informação? • Solução: • Calcular o valor esperado da informação = valor esperado da melhor ação dada a informação – valor esperado da melhor ação sem a informação; • Pesquisador irá informar: “há óleo em A” ou “não há óleo em A” (p = 0,5) • Então: 0,5 x valor de “comprar A” dado que “há óleo em A” + 0,5 x valor de “comprar B” dado que “não há óleo em A” – 0 = = (0,5 x C/2) + (0,5 x C/2) – 0 = C/2
Valor da Informação: Fórmula Geral • Valor da melhor ação sem nova evidência: EU(|E) = max A i U(Resulti(A)) P(Resulti(A) | Do(Resulti(A), E) Onde, E = Evidência atual, = melhor ação • Valor da melhor ação após obtenção da nova evidência NE: EU(NEj|E, NE) = max A i U(Resulti(A)) P(Resulti(A) | Do(Resulti(A), E, NE) • NE é uma variável aleatória, cujo valor é atualmente desconhecido; • Deve-se calcular o ganho esperado sobre todos os possíveis valores en que NE pode assumir: VIE (NE) = ( k P(NE = en | E) EU( en | E, NE = em) ) – EU( | E)
Valor da Informação: Exemplo • A1 e A2 duas rotas distintas através de uma montanha; • A1 e A2 são as únicas ações possíveis, com EU U1 e U2; • A1 = caminho mais baixo, sem muito vento; • A2 = caminho mais alto, com muito vento; • U (A1) > U (A2) !!! • Nova evidência NE produzirá novas utilidades esperadas U1’ e U2’; • Vale a pena adquirir NE? • E se mudássemos o cenário? • II) A1 e A2 são duas estradas onde venta muito, de mesmo tamanho e levamos um ferido grave; • III) Mesmas estradas A1 e A2 mas agora no verão; • Conclusão: uma informação só terá valor caso ela gere uma mudança de plano, e se esse novo plano for significante melhor do que o antigo !
Parte 2: Decisões Complexas “Métodos para decidir o que fazer hoje, dado que nós poderemos ter que decidir de novo amanhã”
0.8 0.1 0.1 3 +1 2 -1 1 INÍCIO 1 2 3 4 Problemas de Decisões Seqüenciais • Exemplo: • Interação termina quando agente alcança um dos estados finais (+1 ou -1); • Ações disponíveis: Up, Down, Left e Right; • Ambiente totalmente observável; • Ações não confiáveis (locomoção estocástica);
Processo de Decisão Markoviana (MDP) • Definido pelos seguintes componentes: • Estado Inicial: S0 • Modelo de Transição: T(s,a,s’) • Função de Recompensa: R(s) • Modelo de Transição T(s, a, s’): probabilidade de chegar a s’ como resultado da execução da ação a em s; • Hipótese de transições Markovianas: próximo estado depende apenas da ação atual e estado atual, não passados; • Em cada estado s agente recebe uma Recompensa R(s): • R(s) = -0.04 para todos estados não terminais; • Dois estados finais R(s) = +1 ou R(s) = -1; • Utilidade é a soma das recompensas recebidas;
3 +1 2 -1 1 1 2 3 4 Como são as soluções para esse problema? • Seqüência fixa de ações não resolvem o problema; • Uma solução deve especificar o que o agente deve fazer em qualquer um dos estados que ele possa chegar: • Diretriz (Policy): (s) = ação recomendada para estado s • Diretriz Ótima: • Diretriz que produz a mais alta utilidade esperada; • Notação: *
Funções de Utilidade para Problemas Seqüenciais • Como definir funções de utilidades para problemas seqüenciais? • Uh ([s0, s1, ... , sn]) • Primeiro deve-se responder as seguintes perguntas: • O Horizonte Temporal para a tomada de decisão é Finito (humanos) ou Infinito (trans-humanos www.transhumanism.org/ ) • Como calcular a utilidade de uma seqüência de estados?
Horizontes Finitos e Infinitos • Horizontes finitos: • Existe um tempo limite N após o qual nada mais importa (game-over!); • Uh ([s0, s1, ... , sn+k]) = Uh ([s0, s1, ... , sN]), para todo k > 0; • Exemplo.: • Supondo que o agente inicia em (3,1) • N = 3 para atingir +1 agente deve executar ação Up • N = 100 tempo suficiente para executar ação Left (rota mais segura) • Diretriz ótima para um ambiente finito é não estacionária; • Para horizontes infinitos: • Ação ótima depende apenas do estado atual; • Diretriz ótima é estacionária;
Cálculo de Utilidade para Seqüência de Estados • Com o que Uh ([s0, s1, ... , sn]) se parece ? • Função de utilidade com vários atributos ! • Deve-se supor que preferências entre seqüências de estados são estacionárias; • [s0, s1, s2, ... ] e [s0’, s1’, s2’, ... ], se s0 = s0’ então, [s1, s2, ... ] e [s1’, s2’, ... ] devem estar ordenados segundo a mesma preferência • Baseado no principio estacionariedade, existem apenas duas maneiras de atribuir utilidades a seqüência de utilidades: • Recompensas aditivas; • Recompensas descontadas;
Recompensas • Recompensas Aditivas: • Uh ([s0, s1, ... , sn]) = R(s0) + R(s1) + R(s2) + ... • Recompensas Descontadas: • Uh ([s0, s1, ... , sn]) = R(s0) + R(s1) + 2 R(s2) + ... • Onde é chamado fator de desconto com valor entre 0 e 1; • Fator de desconto: • Descreve a preferência de um agente com relação a recompensas atuais sobre recompensas futuras; • próximo a 0 recompensas no futuro distante são irrelevantes; • = 1 recompensa aditiva;
3 0.812 0.918 0.812 +1 2 -1 0.762 0.660 1 0.705 0.655 0.611 0.388 1 2 3 4 Algoritmo Value Iteration • Idéia: calcular a utilidade de cada estado e as usar para escolher uma ação ótima em cada estado; • Utilidade de cada estado definida em termos da utilidade das seqüências de ações que podem se seguir a partir dele; • Seqüência de estados dependem da Diretriz usada, portanto temos: • U(s) = E [ t=0 R(st) | , s0 = s ] • Utilidade de um estado é dado pela equação de Bellman: • U(s) = R(s) + maxas’ T(s,a,s’) U(s’) • Exemplo: • U(1,1) = -0.04 + max { 0.8 U(1,2) + 0.1 U(2,1) + 0.1 U(1,1), (Up) 0.9 U(1,1) + 0,1 U(2,1), (Left) 0.9 U(1,1) + 0.1 U(2,1), (Down) 0.8 U92,1) + 0.1 U(1,2) + 0.1 U(1,1) } (Right)
Algoritmo Value Iteration • Equações de Bellman são a base do algoritmo Value Iteration para resolver MDPs; • N estados = N equações; • Algoritmo: • Inicializar utilidades com valores arbitrários (tipicamente 0); • Calcular o lado direito da equação para cada estado; • Atualizar valor da utilidade de cada estado; • Continuar até atingir um equilíbrio; • Prova-se que essa iteração eventualmente converge para um único conjunto de soluções (algoritmo atinge equilíbrio !) • Pg. 620 AIMA
Algoritmo Policy Iteration • Idéia: se uma ação é claramente melhor que outras, então a magnitude exata da utilidade de cada estado não necessita ser precisa; • Alterna entre dois passos, iniciando a partir de uma diretriz inicial 0: • Avaliação da Diretriz: dada diretriz i , calcular Ui = U i ; • Melhora da Diretriz: calcular nova diretriz i+1; Para cada estado s se ( maxa s’ T(s,a,s’) U[s’] ) >(s’ T(s, i(s),s’) U[s’] então [s] = argmaxa s’ T(s,a,s’) U[s’] mudouDiretriz = true; • Algoritmo encerra quando passo Melhora da Diretriz não produz nenhuma mudança nas utilidades;
3 +1 2 -1 1 1 2 3 4 Algoritmo Policy Iteration • Mais simples para Avaliar a Utilidade de um estado: • Ui(s) = R(s) + s’ T(s, i(s), s’) Ui(s’); • Exemplo: • Ui (1,1) = 0.8 Ui(1,2) + 0.1 Ui(1,1) + 0.1 Ui(2,1)
3 +1 2 -1 1 1 2 3 4 MDPs Parcialmente Observáveis (POMDPs) • MDPs assumem que o ambiente é totalmente observável; • Diretriz ótima depende apenas estado atual; • Em ambientes parcialmente observáveis agente não sabe necessariamente onde ele está; • Quais os problemas que surgem? • Agente não pode executar ação (s) recomendada para o estado; • Utilidade do estado s e a ação ótima depende não só de s, mas de quanto o agente conhece sobre s; • Exemplo: agente não tem menor idéia de onde está • S0 pode ser qualquer estado menos os finais; • Solução: Mover Left 5 vezes; Up 5 vezes e Right 5 vezes; start
MDPs Parcialmente Observáveis (POMDPs) • Possui os mesmo elementos de um MDP acrescentando apenas: • Modelo de Observação: O(s, o); • Especifica a probabilidade de perceber a observação o no estado s; • Conjunto de estados reais que o agente pode estar = Belief State; • Em POMDPs um Belief State b, é uma distribuição probabilística sobre todos os estados possíveis: • Ex.: estado inicial na figura = {1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 0, 0} • b(s) denota a probabilidade associada ao estado s pelo Belief State b;
MDPs Parcialmente Observáveis (POMDPs) • b = Belief State atual; • Agente executa a ação a e percebe a observação o, então: • Novo Belief State b’ = FORWARD (b, a, o); • Ponto fundamental em POMDs: • A ação ótima depende apenas do Belief State corrente do agente; • * (b): mapeamento de crenças em ações; • Ciclo de decisão de um agente POMDP: 1. Dado o Belief State corrente b, execute ação a = * (b); 2. Receba observação o; 3. Set o Belief State corrente para FORWARD (b, a, o).
Observações Importantes para POMDPs • POMDPs incluem o Valor da Informação como parte do processo de decisão: • Ação modifica tanto o estado físico quanto o Belief State; • Resolver um POMDP sobre um estado físico pode ser reduzido a resolução de um MDP sobre um Belief State: • Belief States são sempre observáveis; • No entanto, MPDs obtidos normalmente são contínuos e possuem alta dimensão: • Algoritmos Value Iteration e Policy Iteration devem ser modificados para poderem ser aplicados a MPDs contínuos;
Decision Theoretic-Agents • Decision Theoretic-Agent: • Pode tomar decisões racionais baseado no que acredita e deseja; • Capaz de tomar decisões em ambientes onde incertezas e objetivos conflitantes deixariam um agente lógico sem poder decidir; • Possui uma escala contínua de medida de qualidade sobre os estados; • Pode ser construído para um ambiente POMDP usando Redes de Decisões Dinâmicas para: • Representar os modelos de Transição e Observação; • Atualizar o Belief State; • Projetar possíveis sequencias de ações; • Decisões são tomadas projetando para frente possíveis sequencias de ações e escolhendo a melhor;
At-2 At-1 At At+1 At+2 Xt-1 Xt Xt+1 Xt+2 Xt+3 Ut+3 Rt-1 Rt Rt+1 Rt+2 Rt+3 Et-1 Et Et+1 Et+2 Et+3 Rede de Decisão Dinâmica (DDN) • Rede Bayesiana dinâmica com nós de Decisão e Utilidade (Redes de Decisões); • Onde: • Xt = estado no tempo t; Rt = recompensa no tempo t • Et = evidência no tempo t; Ut = utilidade no tempo t; • At = ação no tempo t; • T (s, a, s’) = P(Xt+1 | Xt , At) • O (s, o) = P (Et | Xt)
Decisões com Múltiplos Agentes: Teoria dos Jogos • O que acontece quando a incerteza é proveniente de outros agentes e de suas decisões? • A Teoria dos Jogos trata essa questão ! • Jogos na Teoria dos Jogos são compostos de: • Jogadores; • Ações; • Matriz de Resultado; • Cada jogador adota uma Estratégia (diretriz); • Estratégia Pura: diretriz deterministica, uma ação para cada situação; • Estratégia Mista: ações selecionadas sobre uma distribuição probabilística; • Perfil de Estratégia: associação de uma estratégia a um jogador; • Solução é um perfil de estratégia racional;
Teoria dos Jogos: Exemplo 1 • Dois ladrões (Alice e Bob) são presos perto da cena do crime e interrogados separadamente; • Matriz de resultados: • Dilema do Prisioneiro: • Eles devem testemunhar ou se recusarem a testemunhar? • Ou seja, qual estratégia adotar? • Estratégia Dominante: • Estratégia que domina todas as outras; • É irracional não usar uma estratégia dominante, caso uma exista; • Equilíbrio de Estratégia Dominante: • Situação onde cada jogador possui uma estratégia dominante;
Teoria dos Jogos: Exemplo 1 • Um resultado é dito “Pareto Dominated” por outro se todos jogadores preferirem esse outro resultado; • Qual será a decisão de Alice se ela for racional e esperta? • Bob irá testemunhar, então {Testemunhar} ! • Então, eis que surge o dilema: • Resultado para o ponto de equilíbrio é Pareto Dominated pelo resultado {recusar, recusar} ! • Há alguma maneira de Alice e Bob chegarem ao resultado (-1, -1)? • Opção permitida mais pouco provável; • Poder atrativo do ponto de equilíbrio !
Equilíbrio de Nash • Equilíbrio de Nash: • Agentes não possuem intenção de desviar da estratégia especificada; • Condição necessária para uma solução; • Equilíbrio de Estratégia Dominante é um Equilíbrio de Nash; • Esse conceito afirma que existem estratégias que se equilibram mesmo que não existam estratégias dominantes; • Exemplo: • Dois equilibrios de Nash: • {dvd, dvd} e {cd, cd}
Jogos com Múltiplos Movimentos • Tipo mais simples de jogos com múltiplos movimentos, Jogo Repetido: • Jogador se depara com a mesma escolha repetidamente; • Mantém conhecimento sobre escolhas anteriores dos jogadores. • Estratégia para Jogo Repetido especifica escolha de ação: • A cada iteração; • Para cada jogador; • Para todas as possíveis histórias de escolhas anteriores; • Para o Dilema do Prisioneiro, escolha da ação dependerá do tipo do compromisso: • Alice e Bob podem saber quantas vezes irão jogar: melhor ação = testemunhar; • Ou não: melhor ação = continuar recusando até que o outro jogador testemunhe;
Jogos de Informações Parciais • São jogos repetidos em ambientes parcialmente observáveis; • Exemplos: • Pôquer; • Abstração sobre uma guerra nuclear; • Esse tipo de jogo é resolvido considerando-se Belief States assim como POMDPs; • Diferença: jogador conhece seu próprio Belief State mas não o do adversário; • Algoritmos práticos para resolução desses problemas ainda são muito recentes;