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 utilidade U: Estados(ambiente) R
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 satisfazem os
axiomas, garante 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
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 da 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;
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
S1
S2
$
-5.2
- 2,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
P
1
S1
S2
$
-5.2
- 4,8
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:
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
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 k/2) + (0,5 x k/2) – 0 = k/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:
VPIE (NE) = ( k P(NE = en | E) EU( en | E, NE = em) ) – EU( | E)
Valor da Informação: Exemplo
A1 e A2 são as únicas ações possíveis, com utilidades esperadas U1 e U2;
Nova evidência NE produzirá novas utilidades esperadas U1’ e U2’;
A1 e A2 duas rotas distintas através de uma montanha;
A1 = caminho mais baixo, sem muito vento;
A2 = caminho mais alto, com muito vento;
U (A1) > U (A2) !!!
Mas, e se adquiríssemos uma nova evidência NE?
Valor da Informação: Exemplo
E se mudássemos o cenário?
II) A1 e A2 são duas estradas onde venta muito e de mesmo tamanho;
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;
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;
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: *
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 (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 ?
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 (juntar em uma)
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;
Seqüência de estados dependem da Diretriz usada, portanto temos:
Utilidade de um estado é dado pela
equação de Bellman:
U(s) = E [ t=0 R(st) | , s0 = s ]
U(s) = R(s) + maxa s’ T(s,a,s’) U(s’)
3
0.812
2
0.762
1
0.705
1
Exemplo:
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 U92,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 !)
Pg. 620 AIMA
Algoritmo Policy Iteration
Idéia: se uma ação é claramente melhor que outras, então a magnitude
exata de 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; explicar como
Algoritmo encerra quando passo Melhora de Diretriz não produz nenhuma
mudança nas utilidades;
Mais simples que resolver equações de Bellman:
3
2
1
1
+1
-1
2
3
4
Ação em cada estado é fixada pela diretriz;
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)
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
3
+1
-1
2
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. 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:
Resolver um POMDP sobre um estado físico pode ser reduzido a resolução
de um MDP sobre um Belief State:
Ação modifica tanto o estado físico quanto o 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 aplicados a MPDs contínuos;
Decision Theoretic-Agents
Decision Theoretic-Agent:
Pode tomar decisões racionais baseado no que acredita e dejeja;
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 constuido 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 esclhendo a melhor;
Rede de Decisão Dinâmica (DDN)
Rede Bayesiana dinâmica com nós de Decisão e Utilidade (Redes de
Decisões);
At-2
At-1
Xt-1
At
Xt
Rt-1
Et-1
At+1
Xt+1
Rt
Et
At+2
Xt+2
Rt+1
Et+1
Xt+3
Rt+2
Et+2
Ut+3
Rt+3
Et+3
Onde:
Xt = estado no tempo t;
Et = evidência no tempo t;
At = ação no tempo t;
T (s, a, s’) = P(Xt+1 | Xt , At)
O (s, o) = P (Et | Xt)
Rt = recompensa no tempo t
Ut = utilidade no tempo t;
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 recusar?
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?
Então, eis que surge o dilema:
Bob irá testemunhar, então {Testemunhar} !
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}
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 para práticos para resolução desses problemas ainda são muito
recentes;