Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Processo de Decisão de Markov, Notas de estudo de Automação

Processo de Decisão de Markov

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 27/06/2010

bruno-c-m-1
bruno-c-m-1 🇧🇷

5

(3)

8 documentos

1 / 47

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Processos de Decisão de Markov: um tutorial
Jerônimo Pellegrini 1
Jacques Wainer 1
Resumo: situações em que decisões devem ser tomadas em seqüência, e o
resultado de cada decisão não é claro para o tomador de decisões. Estas situações
podem ser formuladas matematicamente como processos de decisão de Markov, e
dadas as probabilidades dos valores resultantes das decisões, é possível determinar
uma política que maximize o valor esperado da seqüência de decisões. Este tutorial
descreve os processos de decisão de Markov (tanto o caso completamente observável
como o parcialmente observável) e discute brevemente alguns métodos para a sua
solução. Processos semi-Markovianos não são discutidos.
Palavras-chave: processos de decisão de Markov, raciocínio com incerteza, planeja-
mento probabilístico.
Abstract: There are situations where decisions must be made in sequence,
and the result of each decision is not clear to the decision maker. These situations
can be formulated mathematically as Markov decision processes, and given the
probabilities of each value, it is possible to determine a policy that maximizes the
expected outcome of a sequence of decisions. This tutorial explains Markov decision
processes (both completely observable and partially observable) and briefly discusses
some methods for solving them. Semi-Markov processes (where continuous time is
modeled) are not discussed.
Keywords: Markov decicion processes, reasoning under uncertainty, probabilistic
planning.
1 Introdução
A tomada de decisões em seqüência é uma atividade de grande importância. O diag-
nóstico médico e tratamento de enfermidades é um exemplo: um médico deve escolher entre
diversas ações (exames, tratamento, alta) sem ter certeza do estado atual do paciente. Mesmo
após uma ação ter sido escolhida, não também certeza de como ela influenciará o paciente
(um tratamento pode resultar em cura em alguns casos, mas não em outros). O médico
recebe, após cada ação, algum sinal (o resultado de um exame, a melhoria ou não do paciente,
1Instituto de Computação, Unicamp, Caixa Postal 6176, CEP 13084-971, Campinas SP, Brazil
{jeronimo,wainer}@ic.unicamp.br
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f

Pré-visualização parcial do texto

Baixe Processo de Decisão de Markov e outras Notas de estudo em PDF para Automação, somente na Docsity!

Jerônimo Pellegrini 1 Jacques Wainer 1

Resumo: Há situações em que decisões devem ser tomadas em seqüência, e o

resultado de cada decisão não é claro para o tomador de decisões. Estas situações podem ser formuladas matematicamente como processos de decisão de Markov, e dadas as probabilidades dos valores resultantes das decisões, é possível determinar uma política que maximize o valor esperado da seqüência de decisões. Este tutorial descreve os processos de decisão de Markov (tanto o caso completamente observável como o parcialmente observável) e discute brevemente alguns métodos para a sua solução. Processos semi-Markovianos não são discutidos.

Palavras-chave: processos de decisão de Markov, raciocínio com incerteza, planeja- mento probabilístico.

Abstract: There are situations where decisions must be made in sequence,

and the result of each decision is not clear to the decision maker. These situations can be formulated mathematically as Markov decision processes, and given the probabilities of each value, it is possible to determine a policy that maximizes the expected outcome of a sequence of decisions. This tutorial explains Markov decision processes (both completely observable and partially observable) and briefly discusses some methods for solving them. Semi-Markov processes (where continuous time is modeled) are not discussed.

Keywords: Markov decicion processes, reasoning under uncertainty, probabilistic planning.

1 Introdução

A tomada de decisões em seqüência é uma atividade de grande importância. O diag- nóstico médico e tratamento de enfermidades é um exemplo: um médico deve escolher entre diversas ações (exames, tratamento, alta) sem ter certeza do estado atual do paciente. Mesmo após uma ação ter sido escolhida, não há também certeza de como ela influenciará o paciente (um tratamento pode resultar em cura em alguns casos, mas não em outros). O médico só recebe, após cada ação, algum sinal (o resultado de um exame, a melhoria ou não do paciente,

(^1) Instituto de Computação, Unicamp, Caixa Postal 6176, CEP 13084-971, Campinas – SP, Brazil {jeronimo,wainer}@ic.unicamp.br

etc.) [1, 2]. Outros exemplos são o sistema de navegação de um robô (que deve decidir para que direção ir, contando apenas com sensores imprecisos) [3]; sistemas de ajuda online (que devem tentar ajudar o usuário ao mesmo tempo em que tentam determinar o que realmente o usuário quer) [4]; uma empresa que deve decidir periodicamente a respeito de promoções e mudanças de preço. Até mesmo um diálogo envolve tomada de ações em seqüência e in- certeza [5]. Em todas estas situações, decisões precisam ser tomadas sem que haja certeza nem sobre o estado atual do mundo e nem sobre o resultado de cada ação.

Este tutorial tem como objeto de estudo os processos de decisão de Markov, que são usa- dos para modelar situações onde é necessário executar ações em seqüência em ambientes com incerteza (tanto incerteza quanto ao resultado das ações executadas como incerteza quanto ao estado atual do ambiente). Uma situação que pode ser modelada como processo de decisão de Markov envolve um sistema com vários estados, ações que (possivelmente) modificam o es- tado do sistema e a possibilidade de perceber (talvez indiretamente) o resultado de cada ação executada. Dada a descrição do problema, resolvê-lo significa encontrar uma política otimal que determine a cada momento que ação tomar para maximizar a recompensa esperada (ou minimizar o custo esperado).

As seções seguintes apresentam primeiro os processos de decisão de Markov completa- mente observáveis, onde o estado do sistema é conhecido sempre que uma decisão é tomada, mas cada decisão tem resultado incerto. Em seguida, os processos de Markov parcialmente observáveis são apresentados. Nestes, o estado do sistema não é conhecido quando as de- cisões devem ser tomadas, e a única informação disponível para o tomador de decisões é a seqüência de decisões já tomadas e a seqüência de observações resultantes de cada decisão (uma observação é probabilisticamente relacionada ao estado do sistema e à decisão tomada).

2 Processos de Decisão de Markov

Um processo de decisão de Markov (MDP - Markov Decision Process) é uma forma de modelar processos onde as transições entre estados são probabilísticas, é possível obser- var em que estado o processo está e é possível interferir no processo periodicamente (em “épocas de decisão”) executando ações [6–8]. Cada ação tem uma recompensa (ou custo), que depende do estado em que o processo se encontra. Alternativamente, pode-se definir recompensas por estado apenas, sem que estas dependam da ação executada. São ditos “de Markov” (ou “Markovianos”) porque os processos modelados obedecem a propriedade de Markov: o efeito de uma ação em um estado depende apenas da ação e do estado atual do sistema (e não de como o processo chegou a tal estado); e são chamados de processos “de decisão” porque modelam a possibilidade de um agente (ou “tomador de decisões”) inter- ferir periodicamente no sistema executando ações, diferentemente de Cadeias de Markov, onde não se trata de como interferir no processo. MDPs podem ser aplicados em um grande

definido (semelhante ao horizonte infinito, mas com a possibilidade do processo parar se chegar a algum estado que tenha sido marcado como final^2 ).

2.1 Política para um MDP

A Figura 1 mostra a dinâmica de funcionamento de um sistema modelado como processo de decisão de Markov. O tomador de decisões verifica o estado atual do sistema (s), consulta uma política (π) e executa uma ação (a). Esta ação pode ter um efeito sobre o ambiente e modificar o estado atual. O tomador de decisões, então, verifica o novo estado para que possa tomar a próxima decisão.

π (pol´ıtica)

ambiente

s (novo estado) a (a¸c˜ao executada)

Figura 1. Funcionamento de um sistema modelado como MDP.

A cada época de decisão, o tomador de decisões usa uma regra de decisão para escolher a próxima ação. Uma forma simples de regra de decisão é um mapeamento direto de estados em ações (uma regra de decisão pode ser d : S 7 → A, por exemplo). O conjunto de todas as regras de decisão (uma para cada época de decisão) é chamado de política.

Normalmente se quer encontrar uma política que otimize um dado critério de desem- penho das decisões. Uma política pode ser:

  • Total, se cada uma de suas regras de decisão é definida para todos os estados do MDP;
  • Parcial, se alguma de suas regras de decisão é definida para apenas alguns estados do MDP.

Quanto à sua relação com as épocas de decisão, uma política pode ainda ser classificada como:

  • Estacionária, se a ação recomendada independe da época de decisão (ou seja, dk = dj para todo k e j).

(^2) É possível também definir ações finais.

  • Não-estacionária, se a ação tomada depende da época de decisão.

Quando uma política for estacionária, π(s) pode ser usada como sinônimo de dk(s). Apesar de ser mais comum o uso de políticas estacionárias para horizonte infinito e não- estacionárias para horizonte finito, tanto políticas estacionárias como não estacionárias po- dem ser usadas com qualquer horizonte: um sistema com horizonte finito pode ter a mesma política para cada época de decisão; em um sistema com horizonte infinito, pode-se mudar a política periodicamente.

Uma política pode ainda ser:

  • Determinística, quando cada estado é sempre mapeado em uma única ação;
  • Não-determinística (randomizada ou estocástica), quando um estado é mapeado em um conjunto de ações, sendo que cada ação tem uma probabilidade de ser escolhida. Neste caso, cada regra de decisão é uma função dk : S × A 7 → [0, 1].

Finalmente, uma política pode ser classificada como

  • Markoviana (ou sem memória), quando a escolha da ação depende apenas do estado corrente;
  • Não-Markoviana, quando a escolha da ação depende de todo o histórico de ações e estados do sistema até o momento. As regras de decisão são definidas então como funções dk : Hk 7 → A, onde Hk é o histórico de ações e estados até a época de decisão k.

Ao executar uma política, o tomador de decisões receberá recompensas em cada época de decisão. Para comparar duas políticas, é necessário um critério de desempenho (de outra forma a comparação não é possível). Pode-se definir diversos critérios de desempenho (ou “de otimalidade”) para MDPs, e entre os mais conhecidos podemos citar:

  • A recompensa média por época de decisão, (^1) z

∑z− 1 k=0 rk;

  • A recompensa esperada total, E

[∑

z− 1 k=0 rk

]

  • A recompensa esperada descontada, E

[∑

z− 1 k=0 γ

kr k

]

A recompensa na época de decisão k é denotada por rk e γ ∈ ]0, 1[ é um fator de desconto. O fator de desconto é usado com horizonte infinito para garantir a convergência do

Se cada função valor for representada por um vetor (um elemento para o valor de cada estado) e as operações de soma e multiplicação por escalar forem definidas da mesma forma que normalmente se faz para Rn, o espaço V é um espaço linear.

Quando não houver ambiguidade (ou seja, quando houver um único MDP), usaremos Π e V no lugar de Π(M ) e V(M ).

Dados um estado s ∈ S, uma ação a ∈ A e uma política π para um MDP, pode-se definir o valor da ação a no estado s, considerando a recompensa imediata de a e a recompensa esperada após a, nas outras épocas de decisão, desde que as ações tomadas após a sejam determinadas pela política π. A função que dá este valor é denotada por Q. Para a esperança da recompensa total descontada, Q é definida como

Qπ^ (s, a) = R(s, a) + γ

s′∈S

T (s′|s, a)V π^ (s′). (1)

Para horizonte finito,

Qπk (s, a) = R(s, a) + γ

s′∈S

T (s′|s, a)V (^) kπ+1(s′)

Dentre todas as possíveis políticas para um MDP, estamos interessados em uma que maximize a recompensa esperada durante a seqüência de decisões.

Definição 2.6 (Política otimal para um MDP) Seja M = (S, A, T, R) um MDP com horizonte z.

Uma função valor V ∗^ é ótima para M se ∀U ∈ V, ∀s ∈ S, Vk(s) ≥ Uk(s) para todo k ∈ N tal que 0 ≤ k < z.

Uma política π∗^ é otimal para M se ∀π′^ ∈ Π, ∀s ∈ S, Qπ ∗ k (s, d π∗ k (s))^ ≥^ Q π′ k (s, d π′ k (s)) para todo k ∈ N tal que 0 ≤ k < z.

Há uma única função que satisfaz este critério, sendo portanto chamada de função valor ótima. O mesmo não é verdade para políticas (é possível que duas políticas tenham a mesma função valor), por isso uma política cuja função valor é ótima é chamada de otimal.

A definição de política otimal vale para horizonte infinito, bastando ignorar os índices de época de decisão.

Se π∗^ é uma política otimal, a notação pode ser simplificada usando Q∗^ ao invés de Qπ

∗ :

Q∗(s, a) = R(s, a) + γ

s′∈S

T (s′|s, a)V ∗(s′),

π∗(s) = arg max a∈A Q∗(s, a),

V ∗(s) = max a∈A

Q∗(s, a).

2.2 Algoritmos

Existe uma grande quantidade de algoritmos para a solução de MDPs, entre os quais apenas alguns serão abordados neste tutorial. Alguns dos algoritmos trabalham diretamente com políticas, enquanto outros trabalham com funções valor.

2.2.1 Iteração de Valores O algoritmo de iteração de valores usa programação dinâmica para determinar o valor V ∗(s) de cada estado s ∈ S do MDP, em cada época de decisão. O valor de cada estado na última época de decisão é V (^) z∗− 1 (s) = maxa∈A R(s, a), uma vez que quando só há uma decisão a ser tomada, basta escolher aquela com a maior recompensa. Dentre os algoritmos discutidos neste tutorial, o de iteração de valores é o único que pode produzir políticas não estacionárias para problemas de horizonte finito.

Definiremos um mapeamento h : S × A × V 7 → R, tal que h(s, a, V ) dá o valor de executar a ação a no estado s e seguir uma dada política (derivada de uma função valor V ) após esta ação: h(s, a, V ) = R(s, a) + γ

s′∈S

T (s, a, s′)V (s′).

Definiremos também um operador H : V 7 → V de melhoria da política, que determina a melhor ação em um estado usando os valores V dos estados em uma época de decisão anterior: HVk(s) = max a∈A

h(s, a, Vk+1).

Usando o operador H, a equação de otimalidade para MDPs determina uma função valor em uma época de decisão a partir da função valor da época de decisão anterior:

Vk(s) = HVk+1(s) = max a∈A h(s, a, Vk+1)

= max a∈A

[

R(s, a) + γ

s′∈S

T (s′|s, a)Vk+1(s′)

]

A Equação 2 pode ser usada para implementar o algoritmo de iteração de valores (Al- goritmo 1).

Definição 2.7 (Espaço de Banach) Um espaço vetorial X com uma norma || · || é um espaço de Banach se toda seqüência de Cauchy (x 0 , x 1 , · · · , xn) de elementos de X tem um limite xk ∈ X.

Definição 2.8 (Contração) Seja X um espaço de Banach. Um operador F : X 7 → X é uma contração quando para quaisquer dois elementos U, V ∈ X:

||F V − F U || ≤ β||V − U ||

onde 0 ≤ β ≤ 1 é o fator de contração.

Teorema 2.1 (do ponto fixo de Banach) Seja X um espaço de Banach. Seja F : X 7 → X uma contração e seja N = (x 0 , x 1 , · · · , xk) uma seqüência com um ponto inicial arbitrário x 0 ∈ X, tal que xi = F xi− 1. Então:

  • F tem um único ponto fixo x∗^ tal que F x∗^ = x∗;
  • A seqüência N converge para x∗.

Seja || · || uma norma no espaço V tal que ||V || = maxs∈S |V (s)|. V é um espaço de Banach. Além disso, o operador H é uma contração em V (a prova pode ser encontrada no livro de Puterman [8]). Assim, o teorema de Banach garante que H tem um ponto fixo único V ∗^ e que a seqüência Vk = HVk− 1 , iniciando de uma função valor qualquer, converge para este ponto fixo.

A garantia de convergência não é suficiente para que se obtenha do algoritmo uma função valor precisa. É necessário determinar também quando parar de calcular aprox- imações sucessivas da função valor. Um conhecido critério de convergência usa o Teo- rema 2.2, cuja prova é dada também por Puterman [8].

Teorema 2.2 (Erro de Bellman) Se a diferença entre Vk(s) e Vk− 1 (s) é no máximo δ para todo estado s, então Vk(s) nunca

difere de V ∗(s) por mais de (^1) −δγ.

Assim, o critério de parada deve ser

∀s ∈ S, |V (s) − V ′(s)| ≤ (1 − γ) 2 γ

para que a precisão da solução seja no mínimo .

2.2.2 Iteração de Políticas No caso de horizonte infinito (e política estacionária) pode-se também usar um algoritmo chamado de iteração de políticas, que faz uma busca gulosa no espaço de políticas. Este algoritmo é mais eficiente que o de iteração de valores.

O algoritmo começa com uma política aleatória, determina o valor da política atual e depois, de maneira gulosa, melhora a política buscando modificar as ações recomendadas para cada estado.

Puterman [8] atribui a idéia de iteração de políticas a Howard [11] e Bellman [12, 13]. O algoritmo de iteração de políticas se baseia no seguintes Teoremas 2.3 e 2.4 de Bellman e Dreyfus [14]:

Teorema 2.3 (Melhoria da política) Sejam duas políticas estacionárias, π e π′, tais que

∀s ∈ S, V π^ (s) ≤ Qπ^ (s, π′(s))

então π′^ é uniformemente melhor que π, ou seja:

∀s ∈ S, V π^ (s) ≤ V π

′ (s).

O teorema pode ser entendido da seguinte maneira. Dadas duas políticas (π e π′), temos para cada estado:

  • V π^ (s) (o valor esperado de π para este estado);
  • Qπ^ (s, π′(s)), que é o valor esperado para s usando a política π, exceto que a primeira ação é dada por π′.

O teorema diz que π′^ é uniformemente melhor que π. Isto pode ser usado para melhorar uma política que não seja otimal.

Teorema 2.4 (Otimalidade da política) Seja uma política π para um MDP M e uma função valor V π^ associada a π. Se π não puder ser melhorada usando o teorema 2.3, ou seja, se

∀s ∈ S V π^ (s) = max a∈A

Qπ^ (s, a)

então π é otimal para M.

Para cada estado s, o algoritmo de iteração de políticas determina qual a melhor ação a tomar (ou seja, determina uma nova política π, dado que as ações seguintes serão tomadas de acordo com π′, a política definida no passo anterior):

∀s ∈ S, π(s) = arg max a∈A Qπ

′ (s, a).

2.2.3 Programação Linear O problema de encontrar a função valor ótima para um MDP de horizonte infinito pode ser formulado como um problema de programação linear. A for- mulação como programa linear permite adicionar restrições ao modelo. É possível, por ex- emplo, especificar um valores mínimos e máximos para a recompensa esperada de cada um dos estados. A eficiência deste método depende de como o programa linear é resolvido.

Na formulação de um MDP como programa linear, a função objetivo é:

minimizar:

s∈S

vs,

e para cada par (s, a), uma restrição é adicionada:

vs ≥ R(s, a) + γ

s′∈S

T (s′|s, a)vs′.

As variáveis vs no vetor v representam o valor associado a cada estado (ou seja, vs = V (s)).

As restrições significam que a função valor ótima para um estado não pode ser menor do que a recompensa imediata, mais a recompensa esperada para os próximos passos. Com a minimização da soma dos valores vi para todos os estados, os valores da solução ótima no ponto fixo são encontrados.

Por exemplo, considere o seguinte MDP:

S = {s 0 , s 1 }, A = {a 0 , a 1 , a 2 }.

A Tabela 1 mostra a função de transição, e a Tabela 2 mostra as recompensas.

a 0 a 1 a 2 s 0 (s 0 , 0 .3); (s 1 , 0 .7) (s 0 , 0 .2); (s 1 , 0 .8) (s 0 , 0 .6); (s 1 , 0 .4) s 1 (s 0 , 0 .5); (s 1 , 0 .5) (s 0 , 0 .6); (s 1 , 0 .4) (s 0 , 0 .7); (s 1 , 0 .3)

Tabela 1. Probabilidades de transição em um MDP.

A formulação do programa linear que determina a função valor ótima para este MDP é:

minimizar: v 0 + v 1

a 0 a 1 a 2 s 0 10 1 30 s 1 50 20 2

Tabela 2. Recompensas em um MDP.

sujeito a:

v 0 ≥ 10 + γ 0. 3 v 0 + γ 0. 7 v 1 , v 0 ≥ 1 + γ 0. 2 v 0 + γ 0. 8 v 1 , v 0 ≥ 30 + γ 0. 6 v 0 + γ 0. 4 v 1 , v 1 ≥ 50 + γ 0. 5 v 0 + γ 0. 5 v 1 , v 1 ≥ 20 + γ 0. 6 v 0 + γ 0. 4 v 1 , v 1 ≥ 2 + γ 0. 7 v 0 + γ 0. 3 v 1.

O programa linear tem |S| variáveis e |S||A| restrições. A solução deste programa linear é a função valor ótima para o MDP descrito.

2.2.4 RTDP O algoritmo de iteração de valores determina uma função valor para um MDP através de aproximações sucessivas da equação de otimalidade, calculando V (s) para todos os estados a cada iteração do algoritmo. Barto, Bradtke e Singh propuseram um al- goritmo chamado “real time dynamic programming”, ou RTDP, que determina uma função valor para o MDP através de sucessivas interações como ambiente [15]. O RTDP executa a melhor que a política corrente puder determinar, atualizando o valor de cada estado visitado usando a equação de otimalidade. O RTDP pode ser usado continuamente por um tomador de decisões, de forma a melhorar a função valor à medida que interage com o ambiente (e este é o motivo do nome “real time dynamic programming”), ou pode ser usado com um ambiente simulado. Quando o RTDP é usado com um simulador de ambiente, torna-se funcionalmente semelhante aos outros algoritmos discutidos, que determinam uma política para uso posterior.

O Algoritmo 4 mostra a versão simulada do RTDP. Diversas funções podem ser usadas para implementar a heurística de valor inicial para h [15]. O RTDP é diferente dos outros algoritmos apresentados quanto à política encontrada: um de seus parâmetros de entrada é o estado inicial. Isto permite que o algoritmo encontre uma função valor parcial (definida apenas para os estados alcançáveis a partir do estado inicial, mas ótima para todos estes estados desde que o estado inicial do ambiente seja o mesmo usado na determinação da política).

3 Processos de Decisão de Markov Parcialmente Observáveis

Um processo de decisão de Markov parcialmente observável (POMDP) é uma gener- alização de MDPs onde o estado atual do sistema não necessariamente é conhecido. Ao invés disso, o tomador de decisões se lembra das ações que executou e das observações que percebeu ao longo do tempo, e tenta usar estas informações para tomar a próxima decisão. É possível, por exemplo, que ao invés de um “estado atual do sistema”, uma distribuição de probabilidades sobre os estados seja mantida enquanto as decisões são tomadas. POMDPs são mais difíceis de resolver que os MDPs, mas são mais expressivos.

POMDPs podem ser usados para modelar problemas em muitas áreas diferentes. Cas- sandra [23] mostra possibilidades em manutenção de máquinas, navegação de robôs, controle de elevadores, visão computacional, modelagem de comportamento em ecossistemas, apli- cações militares, diagnóstico médico, educação e várias outras áreas. Alguns casos notáveis de aplicação são o trabalho de Hauskrecht com a modelagem de doenças isquêmicas do coração [1, 7]; o trabalho de Pineau, que usou POMDPs para modelar o comportamento de um robô para ajudar idosos a se lembrarem de seus compromissos, acompanhá-los e guiar (de maneira limitada) diálogos [24]; e o trabalho de Poupart, que implementou um sistema que acompanha o comportamento de pacientes com demência, monitorando-os com uma câmera e ajudando com os passos para lavar as mãos, entre outras coisas [25].

Como um exemplo, podemos considerar o seguinte problema:

Uma pessoa está em uma sala onde há duas portas. Atrás de uma das portas há um tigre, que a pessoa deve evitar, e a outra porta é uma saída segura do local onde ela está. Por um certo número de vezes a pessoa pode escolher entre três ações possíveis:

  • Ouvir (para tentar determinar atrás de qual porta está o tigre);
  • Abrir a porta à esquerda;
  • Abrir a porta à direita.

Depois de algum tempo o tomador de decisões decidirá por abrir uma das portas, quando deverá finalmente encontrar-se com o tigre ou sair em segurança. Ao ouvir, no entanto, ele pode mudar seu grau de certeza sobre qual porta esconde o tigre. Cada vez que ouve, ele obtém uma de duas observações:

  • O tigre parece estar atrás da porta da esquerda;
  • O tigre parece estar atrás da porta da direita.

Estas observações podem não corresponder à realidade, porque ele pode ter se confun- dido ao tentar determinar de que porta vem o ruído produzido pelo tigre. Ele pode, no entanto, ouvir mais vezes, a fim de aumentar seu grau de certeza.

Há, como podemos ver, incerteza quanto ao estado atual do sistema (o tomador de de- cisões não sabe atrás de qual porta o tigre está); após cada ação, uma observação é recebida (que não necessariamente informa com total certeza o estado atual); e cada ação pode re- sultar em uma recompensa (positiva ou negativa). Veremos mais adiante como modelar este problema formalmente como um POMDP.

Definição 3.1 (POMDP) Um processo de decisão de Markov parcialmente observável (POMDP) é uma tupla (S, A, T, R, Ω, O), onde:

  • S é um conjunto de estados em que o processo pode estar;
  • A é um conjunto de ações que podem ser executadas em diferentes épocas de decisão;
  • T : S × A × S 7 → [0, 1] é uma função que dá a probabilidade de o sistema passar para um estado s′, dado que estava no estado s e a ação executada foi a;
  • R : S × A 7 → R é uma função que dá o custo (ou recompensa) por tomar uma decisão a quando o processo está em um estado s;
  • Ω é um conjunto de observações que são obtidas em cada época de decisão;
  • O : S × A × Ω 7 → [0, 1] é uma função que dá a probabilidade de uma observação o ser verificada, dados um estado s e a última ação a executada.

Este tutorial trata apenas do caso em que S, A e Ω são finitos.

Em um POMDP não há a possibilidade de se observar diretamente o estado em que o sistema está em um dado momento, ou seja, o tomador de decisões não sabe o estado atual s (ao contrário do que acontece em um problema modelado como MDP). No entanto, cada ação tem como resultado alguma observação que é probabilisticamente relacionada ao estado do sistema.

Como o atual do sistema não é acessível ao tomador de decisões, é possível usar o histórico anterior de ações e observações para escolher a melhor ação.

Definição 3.2 (Estado de informação) O estado de informação Ik representa o conhecimento que se tem sobre o sistema na época de decisão k, e consiste de:

π (pol´ıtica)

ambiente

τ (estimador de estados de informa¸c˜ao) I^ (novo estado de informa¸c˜ao)

o (nova observa¸c˜ao)

a (a¸c˜ao executada)

a (a¸c˜ao executada)

tomador de decis˜oes

Figura 2. Funcionamento de um sistema modelado como POMDP.

estado de informação. Nesta figura há uma aresta levando o novo estado de informação de τ a τ para enfatizar o fato de que o estado de informação da época de decisão anterior é usado para determinar o da próxima época de decisão.

A maneira mais direta de representar estados de informação é como uma lista de ações e observações executadas desde a primeira época de decisão (além da distribuição inicial de probabilidades sobre os possíveis estados): o estado de informação na época de decisão k poderia ser denotado Ik = (b 0 , a 0 , o 0 , a 1 , o 1 , · · · , ak− 1 , ok− 1 ), onde b 0 é a distribuição inicial de probabilidades sobre os estados. Modificar um estado de informação representado desta forma é trivial: basta adicionar o par (a, o) com a última ação e a observação resultante.

No entanto, uma política para POMDP teria que mapear o espaço I de todos os estados de informação em ações, e a enumeração de todos os possíveis históricos de um processo é inviável. Usa-se então uma estatística suficiente para representar o estado de informação atual. Uma estatística muito usada para representar estados de informação é o estado de crença, uma distribuição de probabilidades sobre os possíveis estados do sistema. Há uma distribuição inicial de probabilidades sobre os estados, que refletem a crença do tomador de decisões a respeito do estado inicial. Ao tomar uma decisão e executar uma ação a, o agente perceberá uma observação o. Sabendo a distribuição de probabilidades anterior, a ação executada e a observação resultante, o agente pode calcular uma nova distribuição de probabilidades sobre os estados (ou seja, um novo “estado de crença”). No problema do tigre o estado de crença inicial é (0. 5 , 0 .5), porque o tomador de decisões nada sabe sobre a localização do tigre. Após executar a ação “ouvir” e receber a observação “tigre à direita” ele poderá melhorar seu estado de crença, que pode mudar para (0. 20 , 0 .70) resultando em um

maior grau de certeza a respeito do que há atrás de cada porta.

No estado de crença inicial, (0. 5 , 0 .5), as recompensas esperadas para as ações são:

  • Ouvir: -1;
  • Abrir qualquer uma das portas: (0. 5 × −100 + 0. 5 × 30) = − 45.

Já para o estado de crença (0. 05 , 0 .95), as recompensas são:

  • Ouvir: -1;
  • Abrir a porta da esquerda: (0. 05 × −100 + 0. 95 × 30) = 23. 5 ;
  • Abrir a porta da direita: (0. 05 × 30 − 100 × 0 .95) = − 93. 5.

Este exemplo mostra como a escolha da ação depende do estado de crença: quando o tomador de decisões não tem certeza suficiente sobre o estado atual (por exemplo no estado de crença (0. 5 , 0 .5), a melhor decisão (ou seja, a que tem maior recompensa esperada) é “ouvir”, porque evita o risco do encontro com o tigre (que aparece no exemplo na forma da recompensa igual a -100) e ajuda a melhorar o estado de crença. Já com o estado de crença (0. 05 , 0 .95) a melhora ação é abrir a porta da esquerda. O tomador de decisões repete a ação “ouvir” até que o estado de crença mude o suficiente para que a recompensa esperada das ações de abrir portas seja maior do que a de ouvir.

POMDPs onde o estado de informação é representado desta forma são muitas vezes chamados de POMDPs de crença (belief POMDPs). Em um POMDP com |S| estados, o espaço dos estados de crença é um (|S| − 1)-simplex. Denotaremos estados de crença por b, e quando conveniente b é usado como um vetor, sendo b(s) o s-ésimo elemento do vetor (que é o valor da probabilidade de o sistema estar no estado s).

3.2 Modelos de observação

Em POMDPs, observações estão sempre associadas a estados e ações. Há várias maneiras de definir como esta relação ocorre. Algumas delas são:

  • Modelo de observações para a frente (forward triggered): a observação na época de decisão k está relacionada à ação anterior (em k − 1 ) e ao estado resultante (em k). Ou seja, a função de probabilidade de observação poderia ser denotada O(ok|sk, ak−^1 ), se índices fossem usados para indicar as épocas de decisão de o, s e a;