1 / 30

Agentes Baseados em Utilidade

Agentes Baseados em Utilidade. Parte I: Decisões Simples. “Como um agente deve tomar decisões de modo que, em média, ele consiga o que quer”. Decision Theoretic Agent. Agente capaz de ... Tomar decisões racionais baseado no que acredita e deseja Diferentemente de um agente lógico

keefe
Download Presentation

Agentes Baseados em Utilidade

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agentes Baseados em Utilidade

  2. Parte I: Decisões Simples “Como um agente deve tomar decisões de modo que, em média, ele consiga o que quer”

  3. Decision Theoretic Agent • Agente capaz de ... • Tomar decisões racionais baseado no que acredita e deseja • Diferentemente de um agente lógico • Pode tomar decisões em ambientes com incertezas e objetivos conflitantes • Possui uma escala contínua de medida de qualidade sobre os estados • Valores associados a cada estado (utilidade) indicando a “felicidade” do agente ! • Funções de Utilidadeassociam um valor a um estado • Indica o “desejo” por estar nesse estado • U(S) = utilidade estado S de acordo com o agente • Ex.: s1 = {rico, famoso}, s2 = {pobre, famoso} U(s1) = 10 U(s2) = 5

  4. Funções de Utilidade • Resulti(A): Todos os possíveis estados de saída de uma ação não-determinista A • Para cada saída possível é associada 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)) • Principio da Maximização da Utilidade: agente racional deve escolher ação que maximiza sua utilidade esperada !!!

  5. Exemplo: Cálculo da Utilidade Esperada • Robô deve transportar uma caixa E = caixa é de metal a1 = Chutar: s1, caixa no destino 20% U(s1) = 10 s2, caixa no meio do caminho 30% U(s2) = 5 s3, caixa longe destino 50% U(s3) = 0 a2 = Carregar: s1, caixa no destino 80% U(s1) = 10 s2, caixa na origem 20% U(s2) = 0 EU(a1) = 0,20 x 10 + 0,30 x 5 + 0,50 x 0 = 3,5 EU(a2 ) = 0,80 x 10 + 0,20 x 0 = 8

  6. Preferências Racionais • Funções de Utilidade são, essencialmente, heurísticas! • 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 • Para ações não-deterministas: • A e B são loterias, i.e., distribuições probabilísticas sobre um conjunto de estados de saída L = {p1.S1; p2. S2; ...; pn.Sn}

  7. Axiomas da Teoria da Utilidade: Ordenabilidade: (A > B)  ( B > A)  (A ~ B) Transitividade: (A > B)  (B > C)  (A > C) Continuidade: A > B > C  p [p.A; 1 - p.C] ~ B Substitutabilidade: 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] Principio da Utilidade: Preferências que satisfaçam 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

  8. 1 c 1 c 1 c C C C B B B 1 c 1 c A A Exemplo: 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 possui B pagaria 1 centavo para obter A • Se C > A, então um agente que possuí A pagaria 1 centavo para obter C

  9. 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 ?

  10. 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 estado de 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

  11. Funções de Utilidade Multi-Atributo • Como tratar funções de utilidades com várias variáveis X1, ..., Xn ? • Ex.: Construir aeroporto, • Variáveis: Segurança, Custo, Poluição sonora • U (Segurança, Custo, Poluição sonora) = ? • Existem basicamente dois casos: • Dominância: decisões podem ser tomadas sem combinar os valores dos atributos em um único valor da utilidade • Estrutura de Preferência e Utilidade Multi-atributo: utilidade resultante da combinação dos valores dos atributos pode ser especificada concisamente

  12. 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(S1)  Xi(S2) (e portanto U(S1)  U(S2)) • Ex.: Local S1 para Aeroporto custa menos e é mais seguro que S2 • Dominância total raramente acontece na prática !!!

  13. 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 (preferência sem regularidade!) • A Teoria da Utilidade Multi-atributo assume que preferências de agentes possuem certa regularidade (estrutura) • Abordagem básica é tentar identificar essas regularidades! • Agentes com uma certa estrutura em suas preferências terá uma função: U(x1 ... Xn) = f[ f1(x1) ..... f2(x2) ] Onde espera-se que f seja uma função simples!

  14. Estrutura de Preferência • X1 e X2 são preferencialmente independente de X3 se, e somente se: • Preferência entre {x1, x2, x3} e {x1’, x2’, x3} não depende em x3 • Independência preferencial mútua (MPI): todos os pares de atributos são preferencialmente independente com relação aos demais • Ex.: Segurança, Custo, Poluição sonora • Com MPI, o comportamento preferencial do agente pode ser descrito como uma maximização da função: • V (x1 ... xn) = i Vi(xi)

  15. Redes de Decisões • Formalismo para expressar e resolver problemas de decisão: estende Redes Bayesianas adicionando ações e utilidades • Composto de: • 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

  16. Info. sobre estado atual Info. sobre estado futuro Segurança Trafego aéreo Barulho U Litigação Custo Construção Exemplo: Redes de Decisões Local do Aeroporto

  17. Teoria do Valor da Informação • Problemas anteriores assumiam que todas as informações estavam disponíveis • O que acontece quando elas não estão? • Cabe ao agente buscar as informações necessárias ... • No entanto ... • Obtenção de informações tem um custo associado • Ex.: solicitação de um exame por parte de um medico • A Teoria do Valor da Informação permite que o agente escolha quais informações adquirir

  18. Cálculo do Valor da Informação: Exemplo • 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

  19. Parte 2: Decisões Complexas “Métodos para decidir o que fazer hoje, dado que nós poderemos ter que decidir de novo amanhã”

  20. Problemas de Decisões Seqüenciais • Anteriormente estávamos lidando com problemas de decisão episódicos: • Utilidade de cada resultado de uma ação conhecido! • Problemas de decisões seqüenciais: • Utilidade do agente depende de uma seqüência de decisões • Envolvem utilidades, incertezas e percepção

  21. 0.8 0.1 0.1 3 +1 2 -1 1 INÍCIO 1 2 3 4 Exemplo: Ambiente 4x3 • 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 • Agente sabe onde está! • Ações não confiáveis • Locomoção estocástica • Se agente bater em uma parede permanecerá no mesmo quadrado • 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 • Por enquanto, utilidade pode ser dada pela soma das recompensas recebidas!

  22. Processo de Decisão de Markov (PDM) Especificação de um problema de decisão seqüencial em um ambiente totalmente observável com um modelo de transição de Markov e recompensas aditivas • Definido pelos seguintes componentes: • Estado Inicial: S0 • Modelo de Transição: T(s,a,s’) • Probabilidade de chegar a s’ como resultado da execução da ação a no estado s • Função de Recompensa: R(s) • Utilidade a curto prazo do estado s para o agente • Hipótese de transições Markovianas: • Próximo estado depende apenas da ação atual e do estado atual, não dependendo de estados passados

  23. 3    +1 2 -1   1     1 2 3 4 Como são as soluções desse problema? • Uma solução deve especificar o que o agente deve fazer em qualquer estados em que possa chegar • Seqüência fixa de ações não o resolvem: • Ações não confiáveis não geram estados deterministicamente • Solução: construir uma Política (Policy): •  (s) = ação recomendada para estado s • Assim, o agente sabe como atuar em qualquer estado • Utilidade esperada de uma política é dada pelas seqüências de ações que ela pode gerar • Política Ótima *: • Política que produz a mais alta utilidade esperada

  24. Solução 1: Algoritmo Value Iteration • Idéia: calcular a utilidade dos estados e utilizá-las para escolher uma ação ótima • Utilidade de cada estado definida em termos da utilidade das seqüências de ações que podem se seguir a partir dele • R(s): recompensa a “curto prazo” por se estar em s • U(s): recompensa total a “longo prazo” a partir de s • Utilidade de um estado é dada pela recompensa imediata para aquele estado mais a utilidade esperada descontada do próximo estado, assumindo que o agente escolhe a ação ótima • Utilidade de um estado é dado pela equação de Bellman: • U(s) = R(s) +  maxas’ T(s,a,s’) U(s’)

  25. Algoritmo Value Iteration • 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 U(2,1) + 0.1 U(1,2) + 0.1 U(1,1) } (Right) • Equações de Bellman são a base do algoritmo Value Iteration para resolver PDMs U(s) = R(s) +  maxa∑s’ T(s,a,s’).U(s’)

  26. 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 • Algoritmo: • Inicializar utilidades com valores arbitrários (ex.: 0) • Calcular o lado direito da equação para cada estado • Atualizar valor da utilidade de cada estado • Continuar até atingir um equilíbrio

  27. 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 política inicial 0 qualquer: • Avaliação da Política: dada política i , calcular Ui = U  i • Melhora da Política: calcular nova política i+1 , baseado em Ui

  28. Algoritmo Policy Iteration • Algoritmo: Enquanto não (mudouPolítica) 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’] mudouPolítica = true; • Algoritmo encerra quando passo Melhora da Política não produz nenhuma mudança nas utilidades

  29. 3    +1 2 -1   1     1 2 3 4 Algoritmo Policy Iteration • Mais simples para Avaliar a Utilidade de um estado: • PolicyIteration: Ui(s) = R(s) + s’ T(s, i(s), s’) Ui(s’) • ValueIteration: U(s) = R(s) + maxas’ T(s,a,s’) U(s’) • Exemplo: • Ui (1,1) = 0.8 Ui(1,2) + 0.1 Ui(1,1) + 0.1 Ui(2,1)

  30. Referência Bibliográfica • AIMA, Stuart Russel • Cap. 16 e Cap. 17

More Related