Agentes Baseados em Utilidade

30
Agentes Baseados em Utilidade

description

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 - PowerPoint PPT Presentation

Transcript of Agentes Baseados em Utilidade

Page 1: Agentes Baseados em Utilidade

Agentes Baseados em Utilidade

Page 2: 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”

Page 3: Agentes Baseados em Utilidade

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 Utilidade associam 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) = 10U(s2) = 5

Page 4: Agentes Baseados em Utilidade

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 !!!

Page 5: Agentes Baseados em Utilidade

Exemplo: Cálculo da Utilidade Esperada

Robô deve transportar uma caixaE = caixa é de metal

a1 = Chutar: s1, caixa no destino 20% U(s1) = 10s2, caixa no meio do caminho 30% U(s2) = 5s3, 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,5EU(a2 ) = 0,80 x 10 + 0,20 x 0 = 8

Page 6: Agentes Baseados em Utilidade

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}

Page 7: Agentes Baseados em Utilidade

Restrições Sobre Preferências Racionais

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)

Page 8: Agentes Baseados em Utilidade

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:

C B1 c

C B1 c A1 c

C B1 c A1 c

Se B > C, então um agente que possuí C pagaria 1 centavo para obter B

Se C > A, então um agente que possuí A pagaria 1 centavo para obter C

Se A > B, então um agente que possui B pagaria 1 centavo para obter A

Page 9: Agentes Baseados em Utilidade

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 ?

Page 10: Agentes Baseados em Utilidade

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

Page 11: Agentes Baseados em Utilidade

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

Page 12: Agentes Baseados em Utilidade

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 !!!

Page 13: Agentes Baseados em Utilidade

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!

Page 14: Agentes Baseados em Utilidade

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)

Page 15: Agentes Baseados em Utilidade

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: 1. Atribuir os valores das variáveis para o estado corrente;2. Calcular o valor esperado do nó de utilidade dado a ação e os valores das

variáveis;3. Retornar a ação com maior Utilidade Máxima Esperada

Page 16: Agentes Baseados em Utilidade

Exemplo: Redes de Decisões

Barulho

Segurança

Custo

Trafego aéreo

Construção

Litigação

Local do Aeroporto

U

Info. sobre estado atual Info. sobre

estado futuro

Page 17: Agentes Baseados em Utilidade

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

Page 18: Agentes Baseados em Utilidade

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

Page 19: Agentes Baseados em Utilidade

Parte 2: Decisões Complexas

“Métodos para decidir o que fazer hoje, dado que nós poderemos ter que decidir de novo amanhã”

Page 20: Agentes Baseados em Utilidade

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

Page 21: Agentes Baseados em Utilidade

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!

1 2 43

3

2

1 INÍCIO

-1

+1

0.8

0.1 0.1

Page 22: Agentes Baseados em Utilidade

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

Page 23: Agentes Baseados em Utilidade

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

1 2 43

3

2

1

-1

+1

Page 24: Agentes Baseados em Utilidade

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’)

Page 25: Agentes Baseados em Utilidade

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’)

Page 26: Agentes Baseados em Utilidade

Algoritmo Value Iteration Algoritmo:

1. Inicializar utilidades com valores arbitrários (ex.: 0)2. Calcular o lado direito da equação para cada estado3. Atualizar valor da utilidade de cada estado4. Continuar até atingir um equilíbrio

1 2 43

3

2

1

0.812

0.762

0.705

0.812 0.918

0.660 -1

+1

0.655 0.611 0.388

Page 27: Agentes Baseados em Utilidade

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

Page 28: Agentes Baseados em Utilidade

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

Page 29: Agentes Baseados em Utilidade

Algoritmo Policy Iteration Mais simples para Avaliar a Utilidade de um estado:

Policy Iteration: Ui(s) = R(s) + s

’ T(s, i(s), s’) Ui(s’)

Value Iteration: 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)

1 2 43

3

2

1

-1

+1

Page 30: Agentes Baseados em Utilidade

Referência Bibliográfica AIMA, Stuart Russel

Cap. 16 e Cap. 17