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”
Decision Theoretic Agents

Agente capaz de ...

Tomar decisões racionais baseado no que acredita e deseja
 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) = 10
U(s2) = 5
Determinando Função 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 é 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:

Todas ações teriam que ser enumeradas
 P, Result nem sempre disponíveis
 EU pode ser de custo computacional proibitivo
Exemplo: Utilidade Esperada

Robô deve transportar uma caixa
E = caixa é de metal
a1 = Chutar: s1, caixa no destino 20%
s2, caixa no meio 30%
s3, caixa longe destino 50%
U(s1) = 10
U(s2) = 5
U(s3) = 0
a2 = Carregar: s1, balde no destino 80%
s2, balde na origem 20%
U(s1) = 10
U(s2) = 0
EU(a1) = 20x10 + 30x5 + 50x0 = 350
EU(a2) = 80x10 + 20x0 = 800
Preferências Racionais

Principio da Maximização da Utilidade: agente racional deve escolher
ação que maximiza sua utilidade esperada

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 (os “prêmios” de uma loteria)
L = {p1.S1; p2. S2; ...; pn.Sn}
Restrições Sobre Preferências
Racionais

Axiomas da Teoria da Utilidade:

Orderabilidade:
(A > B)  ( B > A)  (A ~ B)

Transitividade:
(A > B)  (B > C)  (A > C)


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)
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]
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


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 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
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 !!!
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;
P
S1
S2
Dada a informação que utilidade decresce com
custo:

S1

domina estocasticamente S2
$
-5.2
- 2,8
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 (preferência sem regularidade!)

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
(Situação 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

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)
Para o caso não determinista, basta estender para lidar com loterias
Redes de Decisões

Formalismo para expressar e resolver
problemas de decisão: estende Redes
Bayesianas adicionando 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:
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
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
Calculo 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
Valor da Informação: Exemplo

A1 e A2 duas rotas distintas através de uma montanha no inverno

A1 e A2 são as únicas ações possíveis, com EU = U1 e U2, respectivamente
 A1 = caminho mais baixo, sem muito vento
 A2 = caminho mais alto, com muito vento


Nova evidência NE produzirá novas utilidades esperadas U1’ e U2’


U (A1) > U (A2)
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ã”
Problemas de Decisões Seqüenciais

Exemplo:
3
+1
2
-1
1
0.1
0.1
INÍCIO
1

0.8
2
3
4
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)
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 pode ser dada pela soma das recompensas recebidas
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:


Política (Policy):  (s) = ação recomendada para estado s
Política Ótima:

Política que produz a mais alta utilidade esperada
 Notação: *
3

2

1

1


+1

-1



2
3
4
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 ou Infinito ?
 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)

Política ótima para um ambiente finito é não estacionária

Para horizontes infinitos:
3
+1
2
-1

Ação ótima depende apenas do estado atual
 Política ótima é estacionária
1
INÍCIO
1
2
3
4
Cálculo de Utilidade para Seqüência de
Estados

Com o que Uh ([s0, s1, ... , sn]) se parece ?


Deve-se supor que preferências entre seqüências de estados são
estacionárias


Função de utilidade com vários atributos !
[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
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

Utilidade de um estado é dado pela
equação de Bellman:


U(s) = R(s) +  maxa s’ T(s,a,s’) U(s’)
Exemplo:

3
0.812
2
0.762
1
0.705
1
U(1,1) = -0.04 +  max { 0.8 U(1,2) + 0.1 U(2,1) + 0.1 U(1,1),
0.9 U(1,1) + 0,1 U(2,1),
0.9 U(1,1) + 0.1 U(2,1),
0.8 U(2,1) + 0.1 U(1,2) + 0.1 U(1,1) }
0.812
0.918
+1
0.660
-1
0.655
0.611
0.388
2
3
4
(Up)
(Left)
(Down)
(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)
2. Calcular o lado direito da equação para cada estado
3. Atualizar valor da utilidade de cada estado
4. Continuar até atingir um equilíbrio
1.

Prova-se que essa iteração eventualmente converge para um único
conjunto de soluções (algoritmo atinge equilíbrio !)
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:
Avaliação da Política: dada política i , calcular Ui = U  i
 Melhora da Política: calcular nova política 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’]
mudouPolítica = true;

Algoritmo encerra quando passo Melhora da Política não produz nenhuma
mudança nas utilidades
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)
3

2

1

1


+1

-1



2
3
4
MDPs Parcialmente Observáveis
(POMDPs)

MDPs assumem que o ambiente é totalmente observável

Política ó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
3
+1
2
-1
start
1
1
2
3
4
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. Atualize o Belief State corrente usando FORWARD (b, a, o)
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:

Alice: testemunhar
Alice: recusar
Bob: testemunhar
A = -5; B = -5
A = -10; B = 0
Bob: recusar
A = 0; B = -10
A = -1; B = -1
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

Um resultado é dito “Pareto Dominated” por outro se todos jogadores
preferirem esse outro resultado
Teoria dos Jogos: Exemplo 1

Equilíbrio de Estratégia Dominante:


Qual será a decisão de Alice se ela for racional ?


Bob irá testemunhar, então {Testemunhar} !
Então, eis que surge o dilema:


Situação onde cada jogador possui uma estratégia dominante
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:

Acme: DVD
Acme: CD
Best: DVD
A = 9; B = 9
A = -4; B = -1
Best: CD
A = -3; B = -1
A = 5; B = 5
Dois equilibrios de Nash:

{dvd, dvd} e {cd, cd}
Download

A 1 - Universidade Federal de Pernambuco